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 -~----------~----~----~----~------~----~------~--~---