Persistent Homology the basics kelly davis (founder forty.to)
Image:Jean-Marie Hullot (CC BY 3.0)
problem: what’s the topology of a point cloud?
Image:Jean-Marie Hullot (CC BY 3.0)
solution: persistent homology
Image:Jean-Marie Hullot (CC BY 2.0)
simplicial complex
Image:Antoine Hubert (CC BY 2.0)
simplicial homology
Image:Jean-Marie Hullot (CC BY 2.0)
simplicial homology
i
K
L
Image:Jean-Marie Hullot (CC BY 2.0)
simplicial filtrations
Ki
i
K
Image:Jean-Marie Hullot (CC BY 3.0)
it is born at Ki if γ #∈ Hp . Furthermore, if γ is born at Ki then it dies entering Kj if it merges with an older class as we go from Kj−1 to Kj , that is, i,j i−1,j fpi,j−1 (γ) #∈ Hi−1,j−1 but f (γ) ∈ H ; see Figure VII.2. This is again the p p p
birth, death, and taxes γ
0 i−1
Hp
0 i
Hp
0
0 j −1
Hp
j
Hp
Figure VII.2: The class γ is born at Ki since it does not lie in the (shaded) image of Hi−1 p . Furthermore, γ dies entering Kj since this is the first time its image merges into the image of Hi−1 p .
Elder Rule. If γ is born at Ki and dies entering Kj then we call the difference in function value the persistence, pers(γ) = aj − ai . Sometimes we prefer to ignore the actual function values and consider the difference in index, j − i, which we call the index persistence of the class. If γ is born atImage:Jean-Marie Ki butHullotnever (CC BY 3.0)
it is born at Ki if γ #∈ Hp . Furthermore, if γ is born at Ki then it dies entering Kj if it merges with an older class as we go from Kj−1 to Kj , that is, i,j i−1,j fpi,j−1 (γ) #∈ Hi−1,j−1 but f (γ) ∈ H ; see Figure VII.2. This is again the p p p
persistence
γ
0 i−1
Hp
0 i
Hp
0
0 j −1
Hp
j
Hp
Figure VII.2: The class γ is born at Ki since it does not lie in the (shaded) image of Hi−1 p . Furthermore, γ dies entering Kj since this is the first time its image merges into the image of Hi−1 p .
Elder Rule. If γ is born at Ki and dies entering Kj then we call the difference in function value the persistence, pers(γ) = aj − ai . Sometimes we prefer to ignore the actual function values and consider the difference in index, j − i, which we call the index persistence of the class. If γ is born atImage:Jean-Marie Ki butHullotnever (CC BY 3.0)
2.3. Barcodes. The parameter intervals arising from the basis for H∗ (C; F ) in Equation (2.3) inspire a visual snapshot of Hk (C; F ) in the form of a barcode. A barcode is a graphical representation of Hk (C; F ) as a collection of horizontal line segments in a plane whose horizontal axis corresponds to the parameter and whose vertical axis represents an (arbitrary) ordering of homology generators. Figure 4 gives an example of barcode representations of the homology of the sampling of points in an annulus from Figure 3 (illustrated in the case of a large number of parameter values !i ).
so what!
H0 ! H1 !
H2
!
Figure 4. [bottom] An example of the barcodes for H∗ (R) in the example of Figure 3. [top] The rank of Hk (R!i ) equals the number of intervals in the barcode for Hk (R) intersecting the (dashed) line ! = !i . Theorem 2.3 yields the fundamental characterization of barcodes. Theorem 2.4 ([22]). The rank of the persistent homology group Hki→j (C; F ) is equal to the number of intervals in the barcode of Hk (C; F ) spanning the parameter i
Image:Padmanaba01 (CC BY 2.0)
calm before the algorithm
Image:Pierre-Emmanuel BOITON (CC BY 2.0)
the algorithm: betti numbers
Image:Pierre-Emmanuel BOITON (CC BY 2.0)
the algorithm: persistence
Image:Pierre-Emmanuel BOITON (CC BY 2.0)
Persistent Homology the basics kelly davis (founder forty.to)
implementations: phat - c++ with c++ api dionysus - c++ with python api plex - java with java api
Image:Jean-Marie Hullot (CC BY 3.0)