CHomP is a free (GPL version 2) software package for computing homology (CHomP stands for Computation Homology Project.) See chomp.rutgers.edu for some more information. I've prepared an experimental spkg for it:
http://sage.math.washington.edu/home/palmieri/SPKG/chomp-20100213.spkg If you successfully install it, it will put programs "homchain", "homcubes", and "homsimpl" in SAGE_LOCAL/bin; these compute homology of, respectively, chain complexes, cubical complexes, and simplicial complexes, and they're much faster than what's currently in Sage for homology computations. I've gotten this to compile without difficulty on an Intel Mac running OS X 10.6 as well as on sage.math. I haven't tried any other platforms, mainly because I don't have easy access to them. If people could try installing it, that would be great. It would be nice if it were included as an experimental spkg, for download from the official Sage sites. I think we need to vote on this. Opinions? If you've managed to compile it and you want to see it in action, you have several choices: run "tar jxf" on the spkg and look in the "examples" directory. Alternatively, you can download this patch for the Sage library: http://sage.math.washington.edu/home/palmieri/misc/Cell_complexes.patch This implements lots of things, but one of them is an interface to CHomP: if CHomP is present, Sage will automatically use it to compute homology groups. CHomP can't handle rational coefficients, so you can see difference in timings this way. On my iMac: sage: T = simplicial_complexes.Torus() sage: X = T.product(T) sage: time X.homology() # uses CHomP CPU times: user 0.35 s, sys: 0.04 s, total: 0.39 s Wall time: 0.92 s {0: 0, 1: Z x Z x Z x Z, 2: Z^6, 3: Z x Z x Z x Z, 4: Z} sage: X = T.product(T) sage: time X.homology(base_ring=QQ) # doesn't use CHomP CPU times: user 16.88 s, sys: 0.18 s, total: 17.06 s Wall time: 17.66 s ... (CHomP also can't compute cohomology, so that's another way of seeing timing differences.) CHomP will also compute generators in homology, whereas the Sage version doesn't do this: do X.homology(generators=True). -- John -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org