Let me follow up on this discussion:

I looked at some papers on computing simplicial homology (including
what seems like a pretty nice one by Dumas, Heckenbach, Saunders, and
Welker, the authors of a GAP package for homology computations).
These papers are all focused on Smith normal form, which makes sense:
to compute simplicial homology, you need to compute the cokernel of a
(potentially large) integer matrix, and this appears to be the main
bottleneck.  If you work with field coefficients, you just have to
compute the ranks of some matrices.

I'm using Sage's existing implementation of Smith normal form
(actually the elementary_divisors method, which claims to be faster).
Here is some timing on my iMac, with my current version of the files:

This is tested using the simplicial complex S = not_i_connected_graphs
(5,2), a simplicial complex which the four authors above used to test
their package.  Its f-vector is [1, 10, 45, 120, 210, 240, 140, 20]:
it has 10 vertices, 45 edges, 120 triangles, ..., 20 6-dimensional
simplices.  Its homology is trivial except in dimension 5, where it is
free abelian of rank 6.

S.homology(base_ring=QQ)   takes   1.7 sec
S.homology(base_ring=ZZ)    takes    56 sec (!)

But here's the thing: I have a different algorithm for simplicial
homology, which I have not seen mentioned in the literature, which
does the following:

S.homology(base_ring=QQ)   takes   1.3 sec
S.homology(base_ring=ZZ)    takes    1.33 sec  (!!)

I think I ought to be able to squeeze some more speed out of it, too.
I'll keep working, and I'll post updated files soon.

  John

On Jan 18, 10:40 pm, John H Palmieri <jhpalmier...@gmail.com> wrote:
> I have a first draft of a module which implements simplicial
> complexes, chain complexes, and their homology...


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to