a roadmap for the computation of persistent homologyotter/roadmap_queretaro.pdf · step 3: reduce...
TRANSCRIPT
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
What is out there?
Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 2 / 45
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
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
Pipeline for PH computation
DataFilteredcomplex
(1)Barcodes Interpretation
(2) (3)
Nina Otter (Oxford) Roadmap for PH computation Queretaro, 11 December 2015 5 / 45
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
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
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
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
α 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
(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
(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
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
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
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
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
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
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
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
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
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
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
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
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