Persistent homology

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.
Definition.
Formally, consider a real-valued function on a simplicial complex formula_1 that is non-decreasing on increasing sequences of faces, so formula_2 whenever formula_3 is a face of formula_4 in formula_5. Then for every formula_6 the sublevel set formula_7 is a subcomplex of "K", and the ordering of the values of formula_8 on the simplices in formula_5 (which is in practice always finite) induces an ordering on the sublevel complexes that defines a filtration
When formula_11, the inclusion formula_12 induces a homomorphism formula_13 on the simplicial homology groups for each dimension formula_14. The formula_15 persistent homology groups are the images of these homomorphisms, and the formula_15 persistent Betti numbers formula_17 are the ranks of those groups. Persistent Betti numbers for formula_18 coincide with
the size function, a predecessor of persistent homology.
Any filtered complex over a field formula_19 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 formula_20 and two-dimensional complexes with trivial homology formula_21.
A persistence module over a partially ordered set formula_22 is a set of vector spaces formula_23 indexed by formula_22, with a linear map formula_25 whenever formula_26, with formula_27 equal to the identity and formula_28 for formula_29. Equivalently, we may consider it as a functor from formula_22 considered as a category to the category of vector spaces (or formula_31-modules). There is a classification of persistence modules over a field formula_19 indexed by formula_33: 
formula_34
Multiplication by formula_35 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 formula_36 and never disappear, while the torsion parts correspond to those that appear at filtration level formula_37 and last for formula_38 steps of the filtration (or equivalently, disappear at filtration level formula_39). 
Each of these two theorems allows us to uniquely represent the persistent homology of a filtered simplicial complex with a 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 
formula_14.
Stability.
Persistent homology is stable in a precise sense, which provides robustness against noise. There is a natural metric on the space of persistence diagrams given by formula_41 called the bottleneck distance. 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 formula_42 homeomorphic to a simplicial complex determined by the sublevel sets of a continuous tame function formula_43. The map formula_44 taking formula_8 to the persistence diagram of its formula_46th homology is 1-Lipschitz with respect to the formula_47-metric on functions and the bottleneck distance on persistence diagrams.
That is, formula_48. 
Computation.
There are various software packages for computing persistence intervals of a finite filtration. The principal algorithm is based on the bringing of the filtered complex to its canonical form by upper-triangular matrices. 