Persistent Homology

Report 8 Downloads 217 Views
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)