32
$\begingroup$

I was wondering if there is any good software out there that allows you to do specific computations in algebraic topology. For example:

  • Create a simplicial complex/set and ask questions about its homology, cohomology;
  • Build manifolds using handle decompositions;
  • Calculate homotopy limits, colimits.

Something quite flexible and robust in the vein of MAGMA

Thank you.

$\endgroup$
7
  • $\begingroup$ Except for your simplicial question, the rest appears to be too vague. What do you mean by "build manifolds using handle decompositions"? What kind of data structure do you want the computer to store, and once it's "built" what do you want the computer to do with it? Similarly, what do you mean by "calculate homotopy limits and colimits"? of what kind of objects and what constitutes a calculation? For simplicial complexes there is a variety of software packages, see for example the bottom of: math.uiuc.edu/~nmd/computop $\endgroup$ Mar 2, 2011 at 20:22
  • $\begingroup$ Related question: mathoverflow.net/questions/53595/… Also: chomp.rutgers.edu/advanced/programs.php and: orms.mfo.de/class_tree I'm sure I'm missing many other resources but Google brings up many. There's also a few other MO threads related to this topic... $\endgroup$ Mar 2, 2011 at 20:28
  • $\begingroup$ Thank you for your reply. Yes, I had found some of those links already. I was actually looking for something more comprehensive. Something that allows you to various calculations within the same program... in the vein of MAGMA. I guess the program Kenzo comes closest. $\endgroup$ Mar 2, 2011 at 20:58
  • $\begingroup$ There are people who have used MAGMA (and are starting to use SAGE) to do algebra computations that have a lot of topological relevance. (I have Adams spectral sequences in mind.) $\endgroup$ Mar 3, 2011 at 22:41
  • 2
    $\begingroup$ In addition to the software mentioned in all the answers, there's also my software Perseus for computing persistent homology via discrete Morse theoretic reduction: sas.upenn.edu/~vnanda/perseus/index.html $\endgroup$ May 29, 2014 at 15:30

4 Answers 4

12
$\begingroup$

There are several programs that answer to your first demand whilst the others, as Ryan says, are a bit more vague. There are books written on computational homology (and its applications) for instance, see http://chomp.rutgers.edu/ and the computational homology project. For simplicial complexes, the Plex routines written for Matlab are at http://comptop.stanford.edu/u/programs/plex/ and that leads to a lot of other interesting programs for which see http://comptop.stanford.edu/ and follow links. The main problems are always speed of computing with large simplicial complexes. (Work by Edelsbrunner and collaborators is good for some of this.)

For homotopy colimits, it seems likely that the only programs that might go some way are related to Kenzo project: see http://www-fourier.ujf-grenoble.fr/~sergerar/Kenzo/

but that is more difficult to use.

There are programs for detecting (small) handles used in computer graphics, but I cannot say anything about them.

$\endgroup$
3
12
$\begingroup$

Sage allows you to play with simplicial complexes and their (co)homology.

http://www.sagemath.org/doc/reference/sage/homology/simplicial_complex.html

http://www.sagemath.org/doc/reference/sage/homology/examples.html

$\endgroup$
1
  • 5
    $\begingroup$ Sage also handles $\Delta$-complexes (which are essentially simplicial sets with no degeneracy maps) and cubical complexes. $\endgroup$ Mar 3, 2011 at 6:30
11
$\begingroup$

(1) The Computational Homology Project offers free software CHomP that will compute homology of simplicial complexes, at least with finite field coefficients.

(2) Dionysus, from the computational topology group at Stanford, is good for computing persistent homology of Rips and Cech complexes, etc. This might be especially useful, for example, if you had points sampled from a manifold.

(3) Afra Zomorodian has apparently recently written some code for computing homology of clique (i.e. flag) complexes very quickly and with small memory requirement by going through calculations involving simplicial sets, but I don't know if the code can compute homology of arbitrary simplicial sets, and (more importantly) I don't know if the code is publicly available.

$\endgroup$
2
  • $\begingroup$ Hi Matthew, the Jplex and Dionysus link is broken. Do you know if there is a new link? I did a little Googling around but did not find it. $\endgroup$ Feb 10, 2015 at 23:13
  • $\begingroup$ Hi Ryan, I updated the link. $\endgroup$ Feb 12, 2015 at 16:03
3
$\begingroup$

Although it might not be exactly what you are looking for (e.g. lack of homotopy-theoretic constructions), but there is a nice computational package called javaPlex that "implements persistent homology and related techniques from computational and applied topology, in a library designed for ease of use, ease of access from Matlab and java-based systems, and ease of extensions for further research projects and approaches."

JavaPlex allows straightforward construction of chain complexes and things like the Mayer-Vietoris sequences, as well as computational techniques for persistent homology.

Link: http://git.appliedtopology.org/javaplex/

$\endgroup$
1
  • $\begingroup$ The link seems to be broken. $\endgroup$
    – Tim Porter
    Feb 14, 2015 at 13:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.