Persistent homology

Method for computing topological features of a space at different spatial resolutions


title: "Persistent homology" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["homology-theory", "computational-topology"] description: "Method for computing topological features of a space at different spatial resolutions" topic_path: "science/mathematics" source: "https://en.wikipedia.org/wiki/Persistent_homology" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0

::summary Method for computing topological features of a space at different spatial resolutions ::

In topological data analysis, persistent homology is a method for computing topological features of a space at different spatial resolutions. More persistent features are detected over a wide range of spatial scales and are deemed more likely to represent true features of the underlying space rather than artifacts of sampling, noise, or particular choice of parameters.

To find the persistent homology of a space, the space must first be represented as a simplicial complex. A distance function on the underlying space corresponds to a filtration of the simplicial complex, that is a nested sequence of increasing subsets. One common method of doing this is via taking the sublevel filtration of the distance to a point cloud, or equivalently, the offset filtration on the point cloud and taking its nerve in order to get the simplicial filtration known as Čech filtration. A similar construction uses a nested sequence of Vietoris–Rips complexes known as the Vietoris–Rips filtration.

Definition

Formally, consider a real-valued function on a simplicial complex f:K \rightarrow \mathbb{R} that is non-decreasing on increasing sequences of faces, so f(\sigma) \leq f(\tau) whenever \sigma is a face of \tau in K. Then for every a \in \mathbb{R} the sublevel set K_a=f^{-1}((-\infty, a]) is a subcomplex of K, and the ordering of the values of f on the simplices in K (which is in practice always finite) induces an ordering on the sublevel complexes that defines a filtration : \emptyset = K_0 \subseteq K_1 \subseteq \cdots \subseteq K_n = K When 0\leq i \leq j \leq n, the inclusion K_i \hookrightarrow K_j induces a homomorphism f_p^{i,j}:H_p(K_i)\rightarrow H_p(K_j) on the simplicial homology groups for each dimension p. The p^\text{th} persistent homology groups are the images of these homomorphisms, and the p^\text{th} persistent Betti numbers \beta_p^{i,j} are the ranks of those groups. Persistent Betti numbers for p=0 coincide with the size function, a predecessor of persistent homology.

Any filtered complex over a field F can be brought by a linear transformation preserving the filtration to so called canonical form, a canonically defined direct sum of filtered complexes of two types: one-dimensional complexes with trivial differential d(e_{t_i})=0 and two-dimensional complexes with trivial homology d(e_{s_j+r_j})=e_{r_j}.

A persistence module over a partially ordered set P is a set of vector spaces U_t indexed by P, with a linear map u_t^s: U_s \to U_t whenever s \leq t, with u_t^t equal to the identity and u_t^s \circ u_s^r = u^r_t for r \leq s \leq t. Equivalently, we may consider it as a functor from P considered as a category to the category of vector spaces (or R-modules). There is a classification of persistence modules over a field F indexed by \mathbb{N}: U \simeq \bigoplus_i x^{t_i} \cdot F[x] \oplus \left(\bigoplus_j x^{r_j} \cdot (F[x]/(x^{s_j}\cdot F[x]))\right). Multiplication by x corresponds to moving forward one step in the persistence module. Intuitively, the free parts on the right side correspond to the homology generators that appear at filtration level t_i and never disappear, while the torsion parts correspond to those that appear at filtration level r_j and last for s_j steps of the filtration (or equivalently, disappear at filtration level s_j+r_j).

Each of these two theorems allows us to uniquely represent the persistent homology of a filtered simplicial complex with a persistence barcode or persistence diagram. A barcode represents each persistent generator with a horizontal line beginning at the first filtration level where it appears, and ending at the filtration level where it disappears, while a persistence diagram plots a point for each generator with its x-coordinate the birth time and its y-coordinate the death time. Equivalently the same data is represented by Barannikov's canonical form, where each generator is represented by a segment connecting the birth and the death values plotted on separate lines for each p.

Stability

Persistent homology is stable in a precise sense, which provides robustness against noise. The bottleneck distance is a natural metric on the space of persistence diagrams given by W_\infty(X,Y):= \inf_{\varphi: X \to Y} \sup_{x \in X} \Vert x-\varphi(x) \Vert_\infty, where \varphi ranges over bijections. A small perturbation in the input filtration leads to a small perturbation of its persistence diagram in the bottleneck distance. For concreteness, consider a filtration on a space X homeomorphic to a simplicial complex determined by the sublevel sets of a continuous tame function f:X\to \mathbb{R}. The map D taking f to the persistence diagram of its kth homology is 1-Lipschitz with respect to the \sup-metric on functions and the bottleneck distance on persistence diagrams. That is, W_\infty(D(f),D(g)) \leq \lVert f-g \rVert_\infty.

Computation

The principal algorithm is based on the bringing of the filtered complex to its canonical form by upper-triangular matrices and runs in worst-case cubical complexity in the number of simplices. The fastest known algorithm for computing persistent homology runs in matrix multiplication time.

Since the number of simplices is highly relevant for computation time, finding filtered simplicial complexes with few simplexes is an active research area. Several approaches have been proposed to reduce the number of simplices in a filtered simplicial complex in order to approximate persistent homology.

Software

There are various software packages for computing persistence intervals of a finite filtration.

::data[format=table]

Software packageCreatorLatest releaseRelease dateSoftware licenseOpen sourceProgramming languageFeatures
OpenPHRodrigo Mendoza-Smith, Jared Tanner0.0.125 April 2019Apache 2.0Matlab, CUDAGPU acceleration
javaPlexAndrew Tausz, Mikael Vejdemo-Johansson, Henry Adams4.2.5CustomJava, Matlab
DionysusDmitriy Morozov2.0.1027 Jun 2023 Modified BSDC++, Python bindings
PerseusVidit Nanda4.0 betaGPLC++
last1=Bauerfirst1=Ulrichlast2=Kerberfirst2=Michaellast3=Reininghausfirst3=Janlast4=Wagnerfirst4=Hubert
DIPHAJan ReininghausC++
last1=Mariafirst1=Clémentlast2=Boissonnatfirst2=Jean-Daniellast3=Glissefirst3=Marclast4=Yvinecfirst4=Mariette
CTLRyan Lewis0.2BSDC++
phomAndrew TauszR
TDABrittany T. Fasy, Jisu Kim, Fabrizio Lecci, Clement Maria, Vincent Rouvreau1.5RProvides R interface for GUDHI, Dionysus and PHAT
EireneGregory Henselman1.0.19 March 2019GPLv3Julia
RipserUlrich Bauer1.0.115 September 2016MITC++
CubicleHubert Wagnerv0.8 betaMay 2018GPLC++Handles large 3D and 2D grayscale images (scalar voxel data)
the Topology ToolKitJulien Tierny, Guillaume Favelier, Joshua Levine, Charles Gueunet, Michael Michaux0.9.829 July 2019BSDC++, VTK and Python bindings
libstickStefan Huber0.227 November 2014MITC++
Ripser++Simon Zhang, Mengbai Xiao, and Hao Wang1.0March 2020MITCUDA, C++, Python bindingsGPU acceleration
::

References

References

  1. (2009). "Topology and data". Bulletin of the American Mathematical Society.
  2. (2013). "Algorithms and Computation". Springer.
  3. (2019-01-30). "SimBa: An Efficient Tool for Approximating Rips-filtration Persistence via Simplicial Batch Collapse". ACM Journal of Experimental Algorithmics.
  4. Edelsbrunner, H and Harer, J (2010). ''[https://books.google.com/books?id=MDXa6gFRZuIC&q=%22persistent+homology%22 Computational Topology: An Introduction]''. American Mathematical Society.
  5. (1993). "On the use of size functions for shape analysis". Biological Cybernetics.
  6. (2004-11-19). "Computing Persistent Homology". [[Discrete & Computational Geometry]].
  7. (2006-12-12). "Stability of Persistence Diagrams". Discrete & Computational Geometry.
  8. (2024). "Persistent (Co)Homology in Matrix Multiplication Time".
  9. (June 2013). "Linear-Size Approximations to the Vietoris–Rips Filtration". Discrete & Computational Geometry.
  10. (March 2015). "Approximating persistent homology in Euclidean space through collapses". Applicable Algebra in Engineering, Communication and Computing.
  11. (2021). "Improved approximate Rips filtrations with shifted integer lattices and cubical complexes". Journal of Applied and Computational Topology.
  12. (June 2019). "Sparse Dowker nerves". Journal of Applied and Computational Topology.
  13. (2017-08-09). "A roadmap for the computation of persistent homology". Springer.
  14. Licenses here are a summary, and are not taken to be complete statements of the licenses. Some packages may use libraries under different licenses.
  15. (2014). "Mathematical Software – ICMS 2014". Springer Berlin Heidelberg.
  16. (2014). "Mathematical Software – ICMS 2014". Springer.

::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::

homology-theorycomputational-topology