Computational software in Algebraic Topology?

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.

-
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 –  Ryan Budney Mar 2 '11 at 20:22
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... –  Ryan Budney Mar 2 '11 at 20:28
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. –  Joris Weimar Mar 2 '11 at 20:58
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.) –  Sean Tilson Mar 3 '11 at 22:41
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 –  Vidit Nanda May 29 at 15:30

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.

-

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

-
Sage also handles $\Delta$-complexes (which are essentially simplicial sets with no degeneracy maps) and cubical complexes. –  John Palmieri Mar 3 '11 at 6:30

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

(2) Jplex and Dionysus, from the computational topology group at Stanford, are good for quickly 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.

-

Although it might now 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.

-