a roadmap for the computation of persistent homologyotter/roadmap_queretaro.pdf · step 3: reduce...

59
A roadmap for the computation of persistent homology Nina Otter Mathematical Institute, University of Oxford (joint with Mason A. Porter, Ulrike Tillmann, Peter Grindrod, Heather A. Harrington) 2nd School and Conference on Topological Data Analysis Quer´ etaro, 11 December 2015 Nina Otter (Oxford) Roadmap for PH computation Quer´ etaro, 11 December 2015 1 / 45

Upload: others

Post on 18-Oct-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

A roadmap for the computation of persistent homology

Nina Otter

Mathematical Institute, University of Oxford

(joint with Mason A. Porter, Ulrike Tillmann,Peter Grindrod, Heather A. Harrington)

2nd School and Conference on Topological Data AnalysisQueretaro, 11 December 2015

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 1 / 45

Page 2: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

What is out there?

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 2 / 45

Page 3: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Perseus http://www.sas.upenn.edu/~vnanda/perseus/

javaPlex http://appliedtopology.github.io/javaplex/

Dionysus http://www.mrzv.org/software/dionysus/

phom http://cran.r-project.org/web/packages/phom/

TDA http://cran.r-project.org/web/packages/TDA/

GAP persistence http://www-circa.mcs.st-and.ac.uk/~mik/persistence/

PHAT https://code.google.com/p/phat/

DIPHA https://code.google.com/p/dipha/

GUDHI https://project.inria.fr/gudhi/software/

Kenzo module http://www.unirioja.es/cu/anromero/persistent-homology.zip

The persistence landscape toolboxhttps://www.math.upenn.edu/~dlotko/persistenceLandscape.html

SimpPershttp://web.cse.ohio-state.edu/~tamaldey/SimpPers/SimpPers-software/

jHoles http://cuda.unicam.it/jHoles

HoPeS http://kurlin.org/projects/persistent-skeletons.php

RIVET http://rivet.online/

. . .

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 3 / 45

Page 4: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

A brief (biased) history of PH software

2000-2004 PH algorithm H. Edelsbrunner, D. Letscher, G.Carlsson and A. Zomorodian

2005 Plex V. de Silva, P. Perry, L. Kettner, A. Zomorodian

2011 javaPlex A. Tausz, M. Vejdemo-Johansson, H. Adams

2012 Perseus V. Nanda

2013 PHAT M. Kerber, J. Reininghaus, U. Bauer, H. Wagner

2014 DIPHA M. Kerber, J. Reininghaus, U. Bauer

2014 GUDHI C. Maria, J.D. Boissonnat, M. Glisse, M. Yvinec

2016 RIVET M. Lesnick, M. Wright

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 4 / 45

Page 5: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Pipeline for PH computation

DataFilteredcomplex

(1)Barcodes Interpretation

(2) (3)

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 5 / 45

Page 6: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Step 1: from data to a filtered complexPoint cloud data

Point cloud S

••

••

• • • •

•••

••

••

−→ Filtered simplicial complex

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 6 / 45

Page 7: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Step 1: from data to a filtered complexPoint cloud data

Point cloud S

••

••

• • • •

•••

••

••

−→ Filtered simplicial complex

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 6 / 45

Page 8: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Cech complex

Cε(S) ={σ ⊂ S |

⋂x∈σ Bx(ε) 6= ∅

}Nerve theorem:|Cε(S)| '

⋃x∈S Bx(ε)

Complexity: 2O(n)

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 7 / 45

Page 9: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Vietoris-Rips complex

VRε(S) = {σ ⊂ S | ∀x , y ∈ σ : d(x , y) ≤ 2ε}

Nerve theorem does not hold

Complexity: 2O(n)

For all ε ≥ 0 we haveCε(S) ⊂ VRε(S) ⊂ C√2ε(S).

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 8 / 45

Page 10: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

α complex

αε(S) ={σ ∈ S |

⋂x∈σ Bx(ε) ∩ Vx 6= ∅

}Nerve theorem:|αε(S)| '

⋃x∈S Bx(ε)

Complexity: nO(bd/2c) (npoints in Rd)

For all ε ≥ 0 we haveαε(S) ⊂ Cε(S) ⊂ VRε(S).

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 9 / 45

Page 11: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Optimisations and speed-ups

(A) Sparse filtrations: construct sparse filtered complexes whichapproximate homology of a given complex.

Witness complex [de Silva, Carlsson 2004]

Graph induced complex [Dey, Fang, Wang 2014]

Linear size approximation of VR [Sheehy 2013]

Linear size approximation of Cech [Kerber, Sharathkumar 2013]

Graph induced complex on point data, Dey, Fan, Wang 2014

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 10 / 45

Page 12: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Optimisations and speed-ups

(A) Sparse filtrations: construct sparse filtered complexes whichapproximate homology of a given complex.

Witness complex [de Silva, Carlsson 2004]

Graph induced complex [Dey, Fang, Wang 2014]

Linear size approximation of VR [Sheehy 2013]

Linear size approximation of Cech [Kerber, Sharathkumar 2013]

Graph induced complex on point data, Dey, Fan, Wang 2014

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 10 / 45

Page 13: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Optimisations and speed-ups

(A) Sparse filtrations: construct sparse filtered complexes whichapproximate homology of a given complex.

Witness complex [de Silva, Carlsson 2004]

Graph induced complex [Dey, Fang, Wang 2014]

linear size approximation of VR [Sheehy 2013]

linear size approximation of Cech [Kerber, Sharathkumar 2013]

(B) Heuristics: given a filtered simplicial complex, reduce number ofsimplices without changing homology.

Tidy set [Zomorodian 2010]

Morse reductions [Mischaikow, Nanda 2013]

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 11 / 45

Page 14: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Optimisations summary

Complex K Size of K (A) Approximation (B) Reduction

Cech O(2n) linear size approx.tidy set

Morse red.

Vietoris–Rips (VR) O(2n)linear size approx.

(lazy) witnessGIC

tidy setMorse red.

αnO(bd/2c)

(n points in Rd )-

tidy setMorse red.

Data structures:

Simplex tree [Boissonnat, Maria 2012]

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 12 / 45

Page 15: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Implementations

Complex K (A) Approximation (B) Reduction

Cech−→ Dionysus

linear size approx.−→ ?

tidy set−→ not open source

Morse red.−→ Perseus

Vietoris–Rips (VR)−→ Dionysus,Perseus, PHATDIPHA, javaPlex, GUDHI

linear size approx.−→ ?

(lazy) witness−→ javaPlex

GIC−→ ?

tidy setMorse red.

α−→ Dionysus, HoPeS (1-D)

-tidy set

Morse red.

Data structure:

Simplex tree −→ GUDHI

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 13 / 45

Page 16: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Other data types

1 Undirected (weighted) networks

Weight rank clique filtration [Petri et al 2013]

2 Image data: cubical complexes

Lower star filtration [Wagner et al 2013]

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 14 / 45

Page 17: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Other data types

1 Undirected (weighted) networks

Weight rank clique filtration [Petri et al 2013]

2 Image data: cubical complexes

Lower star filtration [Wagner et al 2013]

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 14 / 45

Page 18: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Other data types: implementations

1 Undirected (weighted) networks

Weight rank clique filtration −→ jHoles

2 Image data: cubical complexes −→ DIPHA, Perseus

Lower star filtration −→ DIPHA

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 15 / 45

Page 19: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Step 2: from a filtered complex to barcodesStandard algorithm

Step 1: Order the simplices so that the total order is compatible with thefiltration.

Step 2: Construct the boundary matrix.Let n be the number of simplices. The boundary matrix B is ann × n-matrix defined by:

B(i , j) =

{1 σi ⊂ σj and dim(σi ) = dim(σj)− 1

0 otherwise

Step 3: Reduce the matrix using column additions from left to right.

Step 4: Read the endpoints of the persistence intervals from the matrix toget the barcode.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 16 / 45

Page 20: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Step 2: from a filtered complex to barcodesStandard algorithm

Step 1: Order the simplices so that the total order is compatible with thefiltration.

Step 2: Construct the boundary matrix.Let n be the number of simplices. The boundary matrix B is ann × n-matrix defined by:

B(i , j) =

{1 σi ⊂ σj and dim(σi ) = dim(σj)− 1

0 otherwise

Step 3: Reduce the matrix using column additions from left to right.

Step 4: Read the endpoints of the persistence intervals from the matrix toget the barcode.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 16 / 45

Page 21: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Step 2: from a filtered complex to barcodesStandard algorithm

Step 1: Order the simplices so that the total order is compatible with thefiltration.

Step 2: Construct the boundary matrix.Let n be the number of simplices. The boundary matrix B is ann × n-matrix defined by:

B(i , j) =

{1 σi ⊂ σj and dim(σi ) = dim(σj)− 1

0 otherwise

Step 3: Reduce the matrix using column additions from left to right.

Step 4: Read the endpoints of the persistence intervals from the matrix toget the barcode.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 16 / 45

Page 22: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

Step 1. Given a filtered simplicial complex

∅ = K0 ⊂ K1 ⊂ · · · ⊂ Km = K

put an order on its simplices such that:

A face of a simplex precedes the simplex.

A simplex in Ki precedes simplices in K \ Ki .

Example:

K1

⊂• •

K2

⊂• •

K3

⊂• •

K4

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 17 / 45

Page 23: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

Step 1. Given a filtered simplicial complex

∅ = K0 ⊂ K1 ⊂ · · · ⊂ Km = K

put an order on its simplices such that:

A face of a simplex precedes the simplex.

A simplex in Ki precedes simplices in K \ Ki .

Example:

K1

⊂• •

K2

⊂• •

K3

⊂• •

K4

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 17 / 45

Page 24: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

Put an order on the simplices such that:

A face of a simplex precedes the simplex.

A simplex in Ki precedes simplices in K \ Ki .

σ1

σ2

• •σ1

σ2•

σ3

σ4

• •σ1

σ2•

σ3

σ4

σ5

σ6

• •σ1

σ2•

σ3

σ4

σ5

σ6σ7

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 18 / 45

Page 25: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

Put an order on the simplices such that:

A face of a simplex precedes the simplex.

A simplex in Ki precedes simplices in K \ Ki .

σ1

σ2

• •σ1

σ2•

σ3

σ4

• •σ1

σ2•

σ3

σ4

σ5

σ6

• •σ1

σ2•

σ3

σ4

σ5

σ6σ7

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 18 / 45

Page 26: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

Put an order on the simplices such that:

A face of a simplex precedes the simplex.

A simplex in Ki precedes simplices in K \ Ki .

σ1

σ2

• •σ1

σ2•

σ3

σ4

• •σ1

σ2•

σ3

σ4

σ5

σ6

• •σ1

σ2•

σ3

σ4

σ5

σ6σ7

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 18 / 45

Page 27: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

Put an order on the simplices such that:

A face of a simplex precedes the simplex.

A simplex in Ki precedes simplices in K \ Ki .

σ1

σ2

• •σ1

σ2•

σ3

σ4

• •σ1

σ2•

σ3

σ4

σ5

σ6

• •σ1

σ2•

σ3

σ4

σ5

σ6σ7

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 18 / 45

Page 28: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

Step 2. We obtain the boundary matrix:

1 2 3 4 5 6 7

1 1 1

2 1 1

3 1 1

4 1

5 1

6 1

7

For j = 1, . . . , 7 define low(j) = i ifi is the position of the lowest 1 incolumn j .

If the column is zero leave low(j)undefined.

e.g. low(4) = 2

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 19 / 45

Page 29: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

Step 3. Reduce the boundary matrix.

Let n be the number of simplices.

Algorithm:

for j = 1 to n do

while there exists i < j withlow(i) = low(j) do

add column i to column jend while

end for

1 2 3 4 5 6 7

1 1 1

2 1 1

3 1 1

4 1

5 1

6 1

7

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 20 / 45

Page 30: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

Step 3. Reduce the boundary matrix.

Algorithm:

for j = 1 to n do

while there exists i < j withlow(i) = low(j) do

add column i to column jend while

end for

Add column 5 to column 6:

1 2 3 4 5 6 7

1 1 1 1

2 1 1

3 1

4 1

5 1

6 1

7

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 21 / 45

Page 31: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

Step 3. Reduce the boundary matrix.

Algorithm:

for j = 1 to n do

while there exists i < j withlow(i) = low(j) do

add column i to column jend while

end for

Add column 4 to column 6:

1 2 3 4 5 6 7

1 1 1

2 1

3 1

4 1

5 1

6 1

7

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 22 / 45

Page 32: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

Step 4. Read the persistence pairs.

If low(j) = i then σj is negativeand paired with the positive σi .

If low(j) is undefined then σj ispositive.If there exists k such thatlow(k) = j then σj is pairedwith the negative simplex σk .If no such k exists σj isunpaired.

1 2 3 4 5 6 7

1 1 1

2 1

3 1

4 1

5 1

6 1

7

σ1 positive, unpairedσ2 positive, paired with σ4

σ3 positive, paired with σ5

σ4 negative, paired with σ2

σ5 negative, paired with σ3

σ6 positive, paired with σ7

σ7 negative, paired with σ6Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 23 / 45

Page 33: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

σ1

σ2

• •σ1

σ2•

σ3

σ4

• •σ1

σ2•

σ3

σ4

σ5

σ6

• •σ1

σ2•

σ3

σ4

σ5

σ6σ7

σ1 positive, unpaired interval [1,∞) in H0.

σ2 positive, paired with σ4 no interval, since σ2 and σ4 enter at thesame time in the filtration

σ3 positive, paired with σ5 interval [2, 3) in H0.

σ6 positive, paired with σ7 interval [3, 4) in H1.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 24 / 45

Page 34: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

σ1

σ2

• •σ1

σ2•

σ3

σ4

• •σ1

σ2•

σ3

σ4

σ5

σ6

• •σ1

σ2•

σ3

σ4

σ5

σ6σ7

σ1 positive, unpaired interval [1,∞) in H0.

σ2 positive, paired with σ4 no interval, since σ2 and σ4 enter at thesame time in the filtration

σ3 positive, paired with σ5 interval [2, 3) in H0.

σ6 positive, paired with σ7 interval [3, 4) in H1.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 24 / 45

Page 35: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

σ1

σ2

• •σ1

σ2•

σ3

σ4

• •σ1

σ2•

σ3

σ4

σ5

σ6

• •σ1

σ2•

σ3

σ4

σ5

σ6σ7

σ1 positive, unpaired interval [1,∞) in H0.

σ2 positive, paired with σ4 no interval, since σ2 and σ4 enter at thesame time in the filtration

σ3 positive, paired with σ5 interval [2, 3) in H0.

σ6 positive, paired with σ7 interval [3, 4) in H1.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 24 / 45

Page 36: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Standard algorithm

σ1

σ2

• •σ1

σ2•

σ3

σ4

• •σ1

σ2•

σ3

σ4

σ5

σ6

• •σ1

σ2•

σ3

σ4

σ5

σ6σ7

σ1 positive, unpaired interval [1,∞) in H0.

σ2 positive, paired with σ4 no interval, since σ2 and σ4 enter at thesame time in the filtration

σ3 positive, paired with σ5 interval [2, 3) in H0.

σ6 positive, paired with σ7 interval [3, 4) in H1.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 24 / 45

Page 37: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Twist algorithm

Note:

If column j is reduced andlow(j) = i > 0 then simplex σiis positive and reducing columni will result in setting column ito zero.

σi is a codimension 1 face of σj

Algorithm:

Reduce columns from right toleft

If column j is reduced andlow(j) = i > 0 then set columni to zero.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 25 / 45

Page 38: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Twist algorithm

Previous example:

1 2 3 4 5 6 7

1 1 1

2 1 1

3 1 1

4 1

5 1

6 1

7

Column 7 is reduced andlow(7) = 6, so set column 6 to zero.

1 2 3 4 5 6 7

1 1 1

2 1

3 1

4 1

5 1

6 1

7

Now we are done.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 26 / 45

Page 39: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Twist algorithm

Previous example:

1 2 3 4 5 6 7

1 1 1

2 1 1

3 1 1

4 1

5 1

6 1

7

Column 7 is reduced andlow(7) = 6, so set column 6 to zero.

1 2 3 4 5 6 7

1 1 1

2 1

3 1

4 1

5 1

6 1

7

Now we are done.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 26 / 45

Page 40: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Spectral sequence algorithm

Let kj denote the number ofsimplices in subcomplex Kj .

Let B j denote the columnsnumbered kj−1 + 1 to kj .

Let Bi denote the rows numberedki−1 + 1 to ki .

Idea:

Reduce the matrix in phases: ineach phase r , reduce columnsin B j by adding columns in theblocks from B j−r+1 to B j .

Optimisation:

The reduction in each blockand each phase is independent,and can be executed in parallel.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 27 / 45

Page 41: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Spectral sequence algorithm

Phase r = 1:

B1 . . . . . . B j Bk

B1

. . .

. . .

Bj

Bk

Phase r = 2:

B1 . . . . . . B j . . . . . . Bk

B1

. . .

. . .

Bj

. . .

. . .

Bk

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 28 / 45

Page 42: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Spectral sequence algorithm

Phase r = 3:

B1 . . . . . . B j . . . . . . Bk

B1

. . .

. . .

Bj

. . .

. . .

Bk

Phase r = k:

B1 . . . . . . B j . . . . . . Bk

B1

. . .

. . .

Bj

. . .

. . .

Bk

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 29 / 45

Page 43: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Heuristic speed-ups

Sequential:

Dual algorithm [de Silva,Morozov, Vejdemo-Johansson2011]

Twist algorithm [Chen, Kerber2011]

Parallel:

Spectral sequence algorithm[Edelsbrunner, Harer 2008]

Chunk algorithm [Bauer,Kerber, Reininghaus 2013]

Distributed algorithm [Bauer,Kerber, Reininghaus 2014]

Blow-up complex [Morozov,Lewis 2015]

Data structure:

Bit tree pivot column [Bauer, Kerber, Reininghaus, Wagner 2013]

Compressed annotation matrix [Boissonnat, Dey, Maria 2013]

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 30 / 45

Page 44: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Speed-ups: implementations

Sequential:

Dual algorithm −→Dionysus, javaPlex,GUDHI, PHAT, DIPHA

Twist algorithm−→ PHAT,DIPHA

Parallel:

Spectral sequence algorithm−→ PHAT

Chunk algorithm−→ PHAT

Distributed algorithm−→ DIPHA

Blow-up complex −→ opensource?

Data structure:

Bit tree pivot column −→ PHAT, DIPHA

Compressed annotation matrix −→ GUDHI

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 31 / 45

Page 45: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Step 3: interpretation

(A) Comparing diagrams: p-th Wasserstein distance

Wp[σ](X ,Y ) := infφ : X→Y

[∑x∈X

σ(x , φ(x))p

]1/p

for 1 ≤ p <∞ and σ a metric on the plane.

W∞[σ](X ,Y ) := infφ : X→Y

supx∈X

σ(x , φ(x)

Example: W∞[L∞] is the bottleneck distance.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 32 / 45

Page 46: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

(B) Statistics: The space (D,Wp[σ])

(D,Wp[L∞]) is a Polish space. Frechet expectations exist but are notunique nor continuous. [Mileyko et al 2011]

Same is true for (D,W2[L2]). Algorithm for estimation of Frechet mean[Turner et al 2014]

Frechet mean for continuously varying diagrams as a probabilitydistribution for (D,W2[L2]). [Munch et al 2015]

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 33 / 45

Page 47: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

(C) Alternative: map persistence diagrams to simpler space

Persistence landscapes [Bubenik 2014]

Space of algebraic functions [Adcock et al 2013]

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 34 / 45

Page 48: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Implementations

Dionysus and javaPlex: bottleneck distance

TDA package: bottleneck and Wasserstein distances, persistencelandscapes, Kernel distances, . . .

Persistence Landscape Toolbox: persistence landscapes (means,norms,. . . ), T -student test,. . .

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 35 / 45

Page 49: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Summary 1 of 2

Software Precomp. filt. Compl. Parallel PH algorithms Interpr.

javaPlex 3 VR, LW, W, CW 7standard, dual

zig-zagbottleneck

Perseus 3 VR 7

Morse reductions

+

standard

7

Dionysus 7 α, VR, Cech 7standard, dual

zig-zagbottleneck

PHAT 7 7 3sharedstandard, dual, twist

chunk, spectral seq.7

DIPHA 7 VR, lower star 3distr.dual, twist

distributed7

GUDHI 7 VR 7multifield

dual7

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 36 / 45

Page 50: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Summary 2 of 2

Software Precomp. filt. Compl. Parallel PH algorithms Interpr.

jHoles 3 WRCF 3 shared standard (javaPlex) 7

HoPeS 7 α (only 1-D) 7 − 7

TDA 3 VR 7dual (GUDHI,

Dionysus,

PHAT)

Wasserstein,

landscapes,

bootstraps, etc.

phom 3 VR,LW 7 standard, dual 7

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 37 / 45

Page 51: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Benchmarking

We study the libraries javaPlex, Perseus, Dionysus, DIPHAand GUDHI

. . . by using complexes and algorithms implemented by the largestnumber of libraries: Vietoris-Rips complex and standard and dualalgorithms

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 38 / 45

Page 52: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Benchmarking

We study the libraries javaPlex, Perseus, Dionysus, DIPHAand GUDHI

. . . by using complexes and algorithms implemented by the largestnumber of libraries: Vietoris-Rips complex and standard and dualalgorithms

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 38 / 45

Page 53: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Methods

We study the software from three different points of view:

1 Performance measured in CPU and real time

2 Memory usage

3 Maximum size of simplicial complex allowed by the software

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 39 / 45

Page 54: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Data

Synthetic data

Points sampled from Kleinbottle

Random Vietoris Ripscomplexes

Real world data

Genomic sequence of HIV virus[Chan et al, 2013]

3D scans of Stanford dragon

C. Elegans neuronal network[Petri et al, 2013]

Human genome network [Petriet al, 2013]

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 40 / 45

Page 55: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Machines

Cluster1: 1728 (180*16) cores of 2.0GHzRAM : 64 GiB x80 nodes, 128 GiB x 4 nodes

1Advanced Research Computing (ARC), OxfordNina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 41 / 45

Page 56: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Results: performance

Data set C. elegans Klein HIV Dragon 1 Dragon 2

Size of complex 4.4× 106 1.1× 107 2.1× 108 1.7× 108 1.3× 109

javaPlex st 84 284 747 1031 - - - - - -Dionysus st 474 473 1830 1824 - - - - - -DIPHA st 6 68 90 1360 1631 25950 7356 117417 142559 1489615Perseus 543 542 1978 1974 - - - - - -Dionysus d 513 513 145 145 - - 4360 4362 - -DIPHA d 4 39 6 73 81 1276 75 1176 2358 37572GUDHI 6 4 11 10 249 248 285 283 15419 3151

Table: Performance measured in wall-time and CPU seconds for the computationof PH with the Vietoris Rips complex.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 42 / 45

Page 57: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Results: memory usage

Data set C. elegans Klein HIV Dragon 1 Dragon 2Size of complex 4.4× 106 1.1× 107 2.1× 108 1.7× 108 1.3× 109

javaPlex st < 5 < 15 > 120 > 120 > 120Dionysus st 1.3 11.6 - - -DIPHA st 0.1 0.2 2.7 2.4 4.9Perseus 5.1 12.7 - - -Dionysus d 0.5 1.1 - 16.8 -DIPHA d 0.1 0.2 1.8 1.8 13.8GUDHI 0.2 0.6 9.9 9.2 64.5

Table: Memory usage in GB. For javaPlex, we indicate the value of themaximum heap size that was sufficient to perform the computation. ForDIPHA, we indicate the maximum memory used by a single core.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 43 / 45

Page 58: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Results: maximal size of simplicial complex

Software javaPlex Dionysus DIPHA Perseus GUDHIst st d st d st d

max. size 1 · 107 1.1 · 107 3.2 · 108 1.3 · 109 1.3 · 109 1 · 107 1.3 · 109

Table: Maximal size of simplicial complex supported by the software.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 44 / 45

Page 59: A roadmap for the computation of persistent homologyotter/Roadmap_Queretaro.pdf · Step 3: Reduce the matrix using column additions from left to right. Step 4: Read the endpoints

Conclusion

Future directions:

Creation of a computational topology library.

User-friendly interfaces.

Uniformization of input type across different implementations.

Focus on step (1) and (3) of pipeline: implementation andconstruction of simpler simplicial complexes and interpretation ofresults.

Multi-parameter PH.

Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 45 / 45