Computing Persistent Homology Matthew L Wright Institute for

  • Slides: 28
Download presentation
Computing Persistent Homology Matthew L. Wright Institute for Mathematics and its Applications University of

Computing Persistent Homology Matthew L. Wright Institute for Mathematics and its Applications University of Minnesota

Preliminaries

Preliminaries

Preliminaries

Preliminaries

Computing Betti Numbers

Computing Betti Numbers

Computing Persistent Homology

Computing Persistent Homology

Example:

Example:

 Example: Step 1: Sort the simplices to get a total ordering compatible with

Example: Step 1: Sort the simplices to get a total ordering compatible with the filtration

 Example:

Example:

 Example:

Example:

 Example: Step 3: Reduce the matrix ALGORITHM for j = 1 to n:

Example: Step 3: Reduce the matrix ALGORITHM for j = 1 to n: while ∃ j' < j with low(j') = low(j) ≠ 0: add column j' to column j

 Example: Step 4: Read the persistence pairs

Example: Step 4: Read the persistence pairs

 Example:

Example:

 Example: simplices 2 and 4 enter at the same time, so the pair

Example: simplices 2 and 4 enter at the same time, so the pair does not produce a bar

 Example: Now we can draw the barcode: simplices 2 and 4 enter at

Example: Now we can draw the barcode: simplices 2 and 4 enter at the same time, so the pair does not produce a bar

Data Structures 1 2 3 4 5 6 7 2 3 3 6 1

Data Structures 1 2 3 4 5 6 7 2 3 3 6 1 1 2 5 4

Data Structures low array 1 2 3 4 5 6 7 1 2 2

Data Structures low array 1 2 3 4 5 6 7 1 2 2 3 3 6 4 1 1 2 5 4 3 5 5 6 7 4

Data Structures low array 1 2 3 4 5 6 7 1 2 2

Data Structures low array 1 2 3 4 5 6 7 1 2 2 3 2 6 4 1 1 1 5 4 3 5 5 6 7 4

Data Structures low array 1 2 3 4 5 6 7 1 2 2

Data Structures low array 1 2 3 4 5 6 7 1 2 2 3 6 4 1 1 5 4 3 5 5 6 7 7 4

“Twist” Optimization reduced matrix

“Twist” Optimization reduced matrix

“Twist” Optimization Example: same boundary matrix as before unreduced matrix

“Twist” Optimization Example: same boundary matrix as before unreduced matrix

Runtime Complexity However, in practice, the runtime is often better than cubic. Note that

Runtime Complexity However, in practice, the runtime is often better than cubic. Note that this complexity is just for the matrix reduction, and doesn’t include building the filtration or boundary matrix.

Generating Cycles …

Generating Cycles …

Generating Cycles

Generating Cycles

Generating Cycles

Generating Cycles

Bit Tree 1 3 … 64 … … … 2 … … … The

Bit Tree 1 3 … 64 … … … 2 … … … The bit tree supports nearly constant time insertion, deletion, and lookup. The “active” column is converted to a bit tree, then columns are added to it, and then it is converted back to a sparse structure. Bauer et. al. recorded significant speed improvements when using the bit tree for column additions.

Available Software Java. Plex: http: //git. appliedtopology. org/javaplex/ Dionysus: http: //www. mrzv. org/software/dionysus/ Perseus:

Available Software Java. Plex: http: //git. appliedtopology. org/javaplex/ Dionysus: http: //www. mrzv. org/software/dionysus/ Perseus: http: //www. sas. upenn. edu/~vnanda/perseus/ Persistent Homology Algorithms Toolbox (PHAT): https: //code. google. com/p/phat/

References Ulrich Bauer, et. al. “PHAT – Persistent Homology Algorithms Toolbox. ” http: //phat.

References Ulrich Bauer, et. al. “PHAT – Persistent Homology Algorithms Toolbox. ” http: //phat. googlecode. com Herbert Edelsbrunner and John Harer. “Persistent homology: a survey. ” in Surveys on discrete and computational geometry: twenty years later. AMS (2008). Afra Zomorodian and Gunnar Carlsson. “Computing persistent homology. ” Discrete and Computational Geometry. Vol. 33, no. 2 (2005), p. 249 – 274.