Dionysus: persistent homology computations

Dionysus is a C++ library for computing persistent homology, distributed together with thin Python bindings. It currently implements persistent homology, vineyards, persistent cohomology, zigzag, alpha shapes, Vietoris-Rips complexes, Čech complexes, circle valued coordinatization, and piecewise linear vineyards. Dionysus is written and maintained by Dmitriy Morozov.

Mapper: Partial Clustering in MATLAB

Mapper is a computational method for extracting simple descriptions of high dimensional data sets in the form of simplicial complexes. Mapper is based on the idea of partial clustering of the data guided by a set of functions defined on the data. Mapper is not dependent on any particular clustering algorithm, i.e. any clustering algorithm may be used with Mapper.

phom: Persistent Homology in R

The phom package is an R package that computes the persistent homology of geometric datasets. The purpose of this package is to make persistent homology available to the statistics community. The phom package is written by Andrew Tausz.

fastcluster: Fast hierarchical clustering routines for R and Python

The fastcluster package implements fast hierarchical, agglomerative clustering methods. It provides two interfaces to R and Python. Part of the functionality is designed as drop-in replacement for existing routines: “linkage” in the SciPy package “scipy.cluster.hierarchy”, “hclust” in R's “stats” package, and the “flashClust” package. It provides the same functionality with the benefit of a much faster implementation. Moreover, there are memory-saving routines for clustering of vector data, which go beyond what the existing packages provide. The author is Daniel Müllner.

Computational Topology Library (CTL)

The Computational Topology Library is a C++ based software package for persistent homology and related techniques. It aims to be a fast and efficient software package.

Python Mapper

Mapper is an algorithm for exploration, analysis and visualization of data. The Python Mapper package is a Python implementation of a full Mapper toolchain with a GUI. There is also a multithreaded C++ library for the performance-critical parts. Python Mapper is written and maintained by Daniel Müllner and Aravindakshan Babu.

javaPlex: Persistent homology computations

The javaPlex library 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 was developed in 2010-2011 to improve upon JPlex.

JPlex: Persistent homology computations

JPlex is a software package for computing persistent homology of finite simplicial complexes, often generated from point cloud data.

NOTE: As of 2011, JPlex is being phased out in favor of the software package javaPlex (also linked on this page). We suggest that JPlex users switch to javaPlex. Plex is broken in recent versions of MATLAB. We hope to have it fixed eventually. Please let us know if you think you can help.

For an older, C++ based version of Plex, check here.