Skip to main content

What applied topology software options do I have?

This list undoubtably has unintentional omissions; please email Henry with updates to this list!

This list was originally created to accompany the tutorial https://github.com/henryadams/Charleston-TDA-ML for the NSF-CBMS Conference and Software Day on Topological Methods in Machine Learning and Artificial Intelligence.

  • Mapper
  • Persistent homology
    • CubicalRipser. Adaptation of Ripser (below) for cubical homology.
    • CHomP. Computational Homology Project. C++; Cubical homology.
    • DIPHA. A Distributed Persistent Homology Algorithm; C++.
    • Dionysus and Dionysus 2. Dionysus is a C++ library for computing persistent homology, equipped with python bindings. It provides implementations of the following algorithms: persistent (co)homology, vineyards, zigzag persistence, etc.
    • Eirene. Julia platform for computational topology.
    • Javaplex. Java and Matlab code, equipped with a tutorial with real-life data examples.
    • giotto-tda is a library combining applied topology software with machine learning algorithms.
    • GUDHI. The GUDHI library is a generic open source C++ library, with a Python interface, for Topological Data Analysis (TDA) and Higher Dimensional Geometry Understanding. The library offers state-of-the-art data structures and algorithms to construct simplicial complexes and compute persistent homology. The library comes with data sets, demos, examples and test suites.
    • Perseus. A C++ software project for the rapid computation of persistent homology. Includes cubical and simplicial complexes.
    • PHAT. C++ code.
    • R-TDA. Tools for the statistical analysis of persistent homology and for density clustering. For that, this package provides an R interface for the efficient algorithms of the C++ libraries GUDHI, Dionysus, and PHAT. This package also implements methods for analyzing the statistical significance of persistent homology features.
    • Scikit-TDA. A home for Topological Data Analysis Python libraries intended for non-topologists. This project aims to provide a curated library of TDA Python tools that are widely usable and easily approachable. Contains Ripser.py as one subcomponent.
    • Ripser: efficient computation of Vietoris-Rips persistence barcodes. It is possible to run a beginner’s version of Ripser in your html browser, for which no installation is required.
    • Ripser++: a GPU-accelerated version of Ripser
    • Rivet. Extends the usual persistent homology pipeline for topological data analysis to the two-parameter setting.
    • SimBa. C++ software for approximating Rips filtration persistence via simplicial batch-collapse.
    • torch_topological. Topological machine learning with pytorch.
  • Vectorizations of persistent homology
  • Other
    • CliqueTop. Topological data analysis tools for cross correlation matrices and neuroscience.
    • FastZigzag. For zigzag persistence.
    • Flagser. Computing homology of directed flag complexes (based on Ripser).
    • Hera. Contains fast C++ code for distances between barcodes.
    • Time series analysis with TDA. Also contains python wrappers to various persistent homology software packages.
    • Topology ToolKit.
    • UMAP. Uniform Manifold Approximation and Projection.
  • In September 2019 I gave a survey talk on the above software available at the time; see the video and my slides.
  • Similar software lists are kept by Peter Bubenik, Chad Giusti, and this survey paper.

You may also be interested in this partial list of applied topology book options.

Navigation: HomeTeachingResearchTalksAdvisingCV