## Computational software in Algebraic Topology?

### Remember to vote up questions/answers you find interesting or helpful (requires 15 reputation points)

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 2011 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 2011 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 2011 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 2011 at 22:41

## 3 Answers

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.

-

### You can accept an answer to one of your own questions by clicking the check mark next to it. This awards 15 reputation points to the person who answered and 2 reputation points to you.

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

-

2
Sage also handles $\Delta$-complexes (which are essentially simplicial sets with no degeneracy maps) and cubical complexes. – John Palmieri Mar 3 2011 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.

-
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 1, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.927703857421875, "perplexity_flag": "middle"}