97
Ripser Ecient Computation of Vietoris–Rips Persistence Barcodes Ulrich Bauer TUM March , Computational and Statistical Aspects of Topological Data Analysis Alan Turing Institute http://ulrich-bauer.org/ripser-talk.pdf /

E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Ripser

E?cient Computation of Vietoris–Rips Persistence Barcodes

Ulrich Bauer

TUM

March 23, 2017

Computational and Statistical Aspects of Topological Data Analysis

Alan Turing Institute

http://ulrich-bauer.org/ripser-talk.pdf 1 / 25

Page 2: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Persistent homology

Page 3: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

http://ulrich-bauer.org/ripser-talk.pdf 2 / 25

Page 4: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

http://ulrich-bauer.org/ripser-talk.pdf 2 / 25

Page 5: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

http://ulrich-bauer.org/ripser-talk.pdf 2 / 25

Page 6: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

http://ulrich-bauer.org/ripser-talk.pdf 2 / 25

Page 7: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

http://ulrich-bauer.org/ripser-talk.pdf 2 / 25

Page 8: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

http://ulrich-bauer.org/ripser-talk.pdf 2 / 25

Page 9: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

http://ulrich-bauer.org/ripser-talk.pdf 2 / 25

Page 10: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

http://ulrich-bauer.org/ripser-talk.pdf 2 / 25

Page 11: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

http://ulrich-bauer.org/ripser-talk.pdf 2 / 25

Page 12: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

http://ulrich-bauer.org/ripser-talk.pdf 2 / 25

Page 13: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

http://ulrich-bauer.org/ripser-talk.pdf 3 / 25

Page 14: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

0.1 0.2 0.4 0.8δ

http://ulrich-bauer.org/ripser-talk.pdf 3 / 25

Page 15: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

0.1 0.2 0.4 0.8δ

http://ulrich-bauer.org/ripser-talk.pdf 3 / 25

Page 16: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

0.1 0.2 0.4 0.8δ

http://ulrich-bauer.org/ripser-talk.pdf 3 / 25

Page 17: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

0.1 0.2 0.4 0.8δ

http://ulrich-bauer.org/ripser-talk.pdf 3 / 25

Page 18: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

0.1 0.2 0.4 0.8δ

http://ulrich-bauer.org/ripser-talk.pdf 3 / 25

Page 19: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

0.1 0.2 0.4 0.8δ

http://ulrich-bauer.org/ripser-talk.pdf 3 / 25

Page 20: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Vietoris–Rips persistence

Page 21: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Vietoris–Rips Bltrations

Consider a Bnite metric space (X, d).

The Vietoris–Rips complex is the simplicial complex

Ripst(X) = {S ⊆ X ∣ diam S ≤ t}

• 1-skeleton: all edges with pairwise distance ≤ t• all possible higher simplices (Dag complex)

Goal:

• compute persistence barcodes for Hd(Ripst(X))(in dimensions 0 ≤ d ≤ k)

http://ulrich-bauer.org/ripser-talk.pdf 4 / 25

Page 22: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Vietoris–Rips Bltrations

Consider a Bnite metric space (X, d).

The Vietoris–Rips complex is the simplicial complex

Ripst(X) = {S ⊆ X ∣ diam S ≤ t}

• 1-skeleton: all edges with pairwise distance ≤ t• all possible higher simplices (Dag complex)

Goal:

• compute persistence barcodes for Hd(Ripst(X))(in dimensions 0 ≤ d ≤ k)

http://ulrich-bauer.org/ripser-talk.pdf 4 / 25

Page 23: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Demo: Ripser

Example data set:

• 192 points on S2

• persistent homology barcodes up to dimension 2• over 56 mio. simplices in 3-skeleton

Comparison with other software:

• javaplex: 3200 seconds, 12 GB

• Dionysus: 533 seconds, 3.4 GB

• GUDHI: 75 seconds, 2.9 GB

• DIPHA: 50 seconds, 6 GB

• Eirene: 12 seconds, 1.5 GB

Ripser: 1.2 seconds, 152MB

http://ulrich-bauer.org/ripser-talk.pdf 5 / 25

Page 24: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Demo: Ripser

Example data set:

• 192 points on S2

• persistent homology barcodes up to dimension 2• over 56 mio. simplices in 3-skeleton

Comparison with other software:

• javaplex: 3200 seconds, 12 GB

• Dionysus: 533 seconds, 3.4 GB

• GUDHI: 75 seconds, 2.9 GB

• DIPHA: 50 seconds, 6 GB

• Eirene: 12 seconds, 1.5 GB

Ripser: 1.2 seconds, 152MB

http://ulrich-bauer.org/ripser-talk.pdf 5 / 25

Page 25: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Demo: Ripser

Example data set:

• 192 points on S2

• persistent homology barcodes up to dimension 2• over 56 mio. simplices in 3-skeleton

Comparison with other software:

• javaplex: 3200 seconds, 12 GB

• Dionysus: 533 seconds, 3.4 GB

• GUDHI: 75 seconds, 2.9 GB

• DIPHA: 50 seconds, 6 GB

• Eirene: 12 seconds, 1.5 GB

Ripser: 1.2 seconds, 152MB

http://ulrich-bauer.org/ripser-talk.pdf 5 / 25

Page 26: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Ripser

A software for computing Vietoris–Rips persistence barcodes

• about 1000 lines of C++ code, no external dependencies

• support for

• coe?cients in a prime Beld Fp• sparse distance matrices for distance threshold

• open source (http://ripser.org)

• released in July 2016

• online version (http://live.ripser.org)

• launched in August 2016

• most e?cient software for Vietoris–Rips persistence

• computes H2barcode for 50 000 random points on a torus in 136 seconds /

9 GB (using distance threshold)

• 2016 ATMCS Best New Software Award (jointly with RIVET)

http://ulrich-bauer.org/ripser-talk.pdf 6 / 25

Page 27: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Ripser

A software for computing Vietoris–Rips persistence barcodes

• about 1000 lines of C++ code, no external dependencies

• support for

• coe?cients in a prime Beld Fp

• sparse distance matrices for distance threshold

• open source (http://ripser.org)

• released in July 2016

• online version (http://live.ripser.org)

• launched in August 2016

• most e?cient software for Vietoris–Rips persistence

• computes H2barcode for 50 000 random points on a torus in 136 seconds /

9 GB (using distance threshold)

• 2016 ATMCS Best New Software Award (jointly with RIVET)

http://ulrich-bauer.org/ripser-talk.pdf 6 / 25

Page 28: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Ripser

A software for computing Vietoris–Rips persistence barcodes

• about 1000 lines of C++ code, no external dependencies

• support for

• coe?cients in a prime Beld Fp• sparse distance matrices for distance threshold

• open source (http://ripser.org)

• released in July 2016

• online version (http://live.ripser.org)

• launched in August 2016

• most e?cient software for Vietoris–Rips persistence

• computes H2barcode for 50 000 random points on a torus in 136 seconds /

9 GB (using distance threshold)

• 2016 ATMCS Best New Software Award (jointly with RIVET)

http://ulrich-bauer.org/ripser-talk.pdf 6 / 25

Page 29: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Ripser

A software for computing Vietoris–Rips persistence barcodes

• about 1000 lines of C++ code, no external dependencies

• support for

• coe?cients in a prime Beld Fp• sparse distance matrices for distance threshold

• open source (http://ripser.org)

• released in July 2016

• online version (http://live.ripser.org)

• launched in August 2016

• most e?cient software for Vietoris–Rips persistence

• computes H2barcode for 50 000 random points on a torus in 136 seconds /

9 GB (using distance threshold)

• 2016 ATMCS Best New Software Award (jointly with RIVET)

http://ulrich-bauer.org/ripser-talk.pdf 6 / 25

Page 30: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Ripser

A software for computing Vietoris–Rips persistence barcodes

• about 1000 lines of C++ code, no external dependencies

• support for

• coe?cients in a prime Beld Fp• sparse distance matrices for distance threshold

• open source (http://ripser.org)

• released in July 2016

• online version (http://live.ripser.org)

• launched in August 2016

• most e?cient software for Vietoris–Rips persistence

• computes H2barcode for 50 000 random points on a torus in 136 seconds /

9 GB (using distance threshold)

• 2016 ATMCS Best New Software Award (jointly with RIVET)

http://ulrich-bauer.org/ripser-talk.pdf 6 / 25

Page 31: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Ripser

A software for computing Vietoris–Rips persistence barcodes

• about 1000 lines of C++ code, no external dependencies

• support for

• coe?cients in a prime Beld Fp• sparse distance matrices for distance threshold

• open source (http://ripser.org)

• released in July 2016

• online version (http://live.ripser.org)

• launched in August 2016

• most e?cient software for Vietoris–Rips persistence

• computes H2barcode for 50 000 random points on a torus in 136 seconds /

9 GB (using distance threshold)

• 2016 ATMCS Best New Software Award (jointly with RIVET)

http://ulrich-bauer.org/ripser-talk.pdf 6 / 25

Page 32: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Ripser

A software for computing Vietoris–Rips persistence barcodes

• about 1000 lines of C++ code, no external dependencies

• support for

• coe?cients in a prime Beld Fp• sparse distance matrices for distance threshold

• open source (http://ripser.org)

• released in July 2016

• online version (http://live.ripser.org)

• launched in August 2016

• most e?cient software for Vietoris–Rips persistence

• computes H2barcode for 50 000 random points on a torus in 136 seconds /

9 GB (using distance threshold)

• 2016 ATMCS Best New Software Award (jointly with RIVET)

http://ulrich-bauer.org/ripser-talk.pdf 6 / 25

Page 33: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Design goals

Goals for previous projects:

• PHAT [B, Kerber, Reininghaus,Wagner 2013]:

fast persistence computation (matrix reduction only)

• DIPHA [B, Kerber, Reininghaus 2014]:

distributed persistence computation

Goals for Ripser:

• Use as little memory as possible

• Be reasonable about computation time

http://ulrich-bauer.org/ripser-talk.pdf 7 / 25

Page 34: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Design goals

Goals for previous projects:

• PHAT [B, Kerber, Reininghaus,Wagner 2013]:

fast persistence computation (matrix reduction only)

• DIPHA [B, Kerber, Reininghaus 2014]:

distributed persistence computation

Goals for Ripser:

• Use as little memory as possible

• Be reasonable about computation time

http://ulrich-bauer.org/ripser-talk.pdf 7 / 25

Page 35: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

The four special ingredients

The improved performance is based on 4 insights:

• Clearing inessential columns [Chen, Kerber 2011]

• Computing cohomology [de Silva et al. 2011]

• Implicit matrix reduction

• Apparent and emergent pairs

Lessons from PHAT:

• Clearing and cohomology yield considerable speedup,

• but only when both are used in conjuction!

http://ulrich-bauer.org/ripser-talk.pdf 8 / 25

Page 36: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

The four special ingredients

The improved performance is based on 4 insights:

• Clearing inessential columns [Chen, Kerber 2011]

• Computing cohomology [de Silva et al. 2011]

• Implicit matrix reduction

• Apparent and emergent pairs

Lessons from PHAT:

• Clearing and cohomology yield considerable speedup,

• but only when both are used in conjuction!

http://ulrich-bauer.org/ripser-talk.pdf 8 / 25

Page 37: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Matrix reduction

Page 38: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Matrix reduction algorithm

Setting:

• Bnite metric space X, n points

• persistent homologyHd(Ripst(X);F2) in dimensions d ≤ kNotation:

• D: boundary matrix of Bltration

• Ri: ith column of R

Algorithm:

• R = D,V = I• while ∃i < jwith pivotRi = pivotRj

• add Ri to Rj, add Vi to Vj

Result:

• R = D ⋅V is reduced (unique pivots)

• V is full rank upper triangular

http://ulrich-bauer.org/ripser-talk.pdf 9 / 25

Page 39: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Matrix reduction algorithm

Setting:

• Bnite metric space X, n points

• persistent homologyHd(Ripst(X);F2) in dimensions d ≤ kNotation:

• D: boundary matrix of Bltration

• Ri: ith column of RAlgorithm:

• R = D,V = I• while ∃i < jwith pivotRi = pivotRj

• add Ri to Rj, add Vi to Vj

Result:

• R = D ⋅V is reduced (unique pivots)

• V is full rank upper triangular

http://ulrich-bauer.org/ripser-talk.pdf 9 / 25

Page 40: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Matrix reduction algorithm

Setting:

• Bnite metric space X, n points

• persistent homologyHd(Ripst(X);F2) in dimensions d ≤ kNotation:

• D: boundary matrix of Bltration

• Ri: ith column of RAlgorithm:

• R = D,V = I• while ∃i < jwith pivotRi = pivotRj

• add Ri to Rj, add Vi to Vj

Result:

• R = D ⋅V is reduced (unique pivots)

• V is full rank upper triangular

http://ulrich-bauer.org/ripser-talk.pdf 9 / 25

Page 41: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Compatible basis cycles

For a reduced boundary matrix R = D ⋅V , call

P = {i ∶ Ri = 0} positive indices,

N = {j ∶ Rj ≠ 0} negative indices,

E = P ∖ pivotsR essential indices.Then

Σ̃Z = {Vi ∣ i ∈ P} is a basis of Z∗,ΣB = {Rj ∣ j ∈ N} is a basis of B∗,

ΣZ = ΣB ∪ {Vi ∣ i ∈ E} is another basis of Z∗.

Persistent homology is generated by the basis cycles ΣZ.

• Persistence intervals: {[i, j) ∣ i = pivotRj} ∪ {[i,∞) ∣ i ∈ E}• Columns with non-essential positive indices never used!

http://ulrich-bauer.org/ripser-talk.pdf 10 / 25

Page 42: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Compatible basis cycles

For a reduced boundary matrix R = D ⋅V , call

P = {i ∶ Ri = 0} positive indices,

N = {j ∶ Rj ≠ 0} negative indices,

E = P ∖ pivotsR essential indices.Then

Σ̃Z = {Vi ∣ i ∈ P} is a basis of Z∗,

ΣB = {Rj ∣ j ∈ N} is a basis of B∗,

ΣZ = ΣB ∪ {Vi ∣ i ∈ E} is another basis of Z∗.

Persistent homology is generated by the basis cycles ΣZ.

• Persistence intervals: {[i, j) ∣ i = pivotRj} ∪ {[i,∞) ∣ i ∈ E}• Columns with non-essential positive indices never used!

http://ulrich-bauer.org/ripser-talk.pdf 10 / 25

Page 43: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Compatible basis cycles

For a reduced boundary matrix R = D ⋅V , call

P = {i ∶ Ri = 0} positive indices,

N = {j ∶ Rj ≠ 0} negative indices,

E = P ∖ pivotsR essential indices.Then

Σ̃Z = {Vi ∣ i ∈ P} is a basis of Z∗,ΣB = {Rj ∣ j ∈ N} is a basis of B∗,

ΣZ = ΣB ∪ {Vi ∣ i ∈ E} is another basis of Z∗.

Persistent homology is generated by the basis cycles ΣZ.

• Persistence intervals: {[i, j) ∣ i = pivotRj} ∪ {[i,∞) ∣ i ∈ E}• Columns with non-essential positive indices never used!

http://ulrich-bauer.org/ripser-talk.pdf 10 / 25

Page 44: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Compatible basis cycles

For a reduced boundary matrix R = D ⋅V , call

P = {i ∶ Ri = 0} positive indices,

N = {j ∶ Rj ≠ 0} negative indices,

E = P ∖ pivotsR essential indices.Then

Σ̃Z = {Vi ∣ i ∈ P} is a basis of Z∗,ΣB = {Rj ∣ j ∈ N} is a basis of B∗,ΣZ = ΣB ∪ {Vi ∣ i ∈ E} is another basis of Z∗.

Persistent homology is generated by the basis cycles ΣZ.

• Persistence intervals: {[i, j) ∣ i = pivotRj} ∪ {[i,∞) ∣ i ∈ E}• Columns with non-essential positive indices never used!

http://ulrich-bauer.org/ripser-talk.pdf 10 / 25

Page 45: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Compatible basis cycles

For a reduced boundary matrix R = D ⋅V , call

P = {i ∶ Ri = 0} positive indices,

N = {j ∶ Rj ≠ 0} negative indices,

E = P ∖ pivotsR essential indices.Then

Σ̃Z = {Vi ∣ i ∈ P} is a basis of Z∗,ΣB = {Rj ∣ j ∈ N} is a basis of B∗,ΣZ = ΣB ∪ {Vi ∣ i ∈ E} is another basis of Z∗.

Persistent homology is generated by the basis cycles ΣZ.

• Persistence intervals: {[i, j) ∣ i = pivotRj} ∪ {[i,∞) ∣ i ∈ E}• Columns with non-essential positive indices never used!

http://ulrich-bauer.org/ripser-talk.pdf 10 / 25

Page 46: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Compatible basis cycles

For a reduced boundary matrix R = D ⋅V , call

P = {i ∶ Ri = 0} positive indices,

N = {j ∶ Rj ≠ 0} negative indices,

E = P ∖ pivotsR essential indices.Then

Σ̃Z = {Vi ∣ i ∈ P} is a basis of Z∗,ΣB = {Rj ∣ j ∈ N} is a basis of B∗,ΣZ = ΣB ∪ {Vi ∣ i ∈ E} is another basis of Z∗.

Persistent homology is generated by the basis cycles ΣZ.

• Persistence intervals: {[i, j) ∣ i = pivotRj} ∪ {[i,∞) ∣ i ∈ E}• Columns with non-essential positive indices never used!

http://ulrich-bauer.org/ripser-talk.pdf 10 / 25

Page 47: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Clearing

Page 48: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Clearing non-essential positive columns

Idea [Chen, Kerber 2011]:

• Don’t reduce at non-essential positive indices

• Reduce boundary matrices of ∂d ∶ Cd → Cd−1in decreasing dimension d = k + 1, . . . , 1

• Whenever i = pivotRj (in matrix for ∂d)

• Set Ri to 0 (in matrix for ∂d−1)

• Set Vi to Rj

• Still yields R = D ⋅V reduced, V full rank upper triangular

Note:

• reducing positive columns typically harder than negative

• with clearing: need only reduce essential positive columns

http://ulrich-bauer.org/ripser-talk.pdf 11 / 25

Page 49: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Clearing non-essential positive columns

Idea [Chen, Kerber 2011]:

• Don’t reduce at non-essential positive indices

• Reduce boundary matrices of ∂d ∶ Cd → Cd−1in decreasing dimension d = k + 1, . . . , 1

• Whenever i = pivotRj (in matrix for ∂d)

• Set Ri to 0 (in matrix for ∂d−1)• Set Vi to Rj

• Still yields R = D ⋅V reduced, V full rank upper triangular

Note:

• reducing positive columns typically harder than negative

• with clearing: need only reduce essential positive columns

http://ulrich-bauer.org/ripser-talk.pdf 11 / 25

Page 50: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Clearing non-essential positive columns

Idea [Chen, Kerber 2011]:

• Don’t reduce at non-essential positive indices

• Reduce boundary matrices of ∂d ∶ Cd → Cd−1in decreasing dimension d = k + 1, . . . , 1

• Whenever i = pivotRj (in matrix for ∂d)

• Set Ri to 0 (in matrix for ∂d−1)• Set Vi to Rj

• Still yields R = D ⋅V reduced, V full rank upper triangular

Note:

• reducing positive columns typically harder than negative

• with clearing: need only reduce essential positive columns

http://ulrich-bauer.org/ripser-talk.pdf 11 / 25

Page 51: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Clearing non-essential positive columns

Idea [Chen, Kerber 2011]:

• Don’t reduce at non-essential positive indices

• Reduce boundary matrices of ∂d ∶ Cd → Cd−1in decreasing dimension d = k + 1, . . . , 1

• Whenever i = pivotRj (in matrix for ∂d)

• Set Ri to 0 (in matrix for ∂d−1)• Set Vi to Rj

• Still yields R = D ⋅V reduced, V full rank upper triangular

Note:

• reducing positive columns typically harder than negative

• with clearing: need only reduce essential positive columns

http://ulrich-bauer.org/ripser-talk.pdf 11 / 25

Page 52: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Cohomology

Page 53: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Persistent cohomology

We have seen: many columns of R = D ⋅V are not needed

• Skip those inessential columns in matrix reduction

For persistence barcodes in low dimensions d ≤ k:

• Number of skipped indices for reducing DT (cohomology) is much larger

than for D (homology)

• reducing boundary matrix produces basis for Hk+1(Kk+1), which is not needed

• The resulting persistence barcode is the same [de Silva et al. 2011]

http://ulrich-bauer.org/ripser-talk.pdf 12 / 25

Page 54: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Persistent cohomology

We have seen: many columns of R = D ⋅V are not needed

• Skip those inessential columns in matrix reduction

For persistence barcodes in low dimensions d ≤ k:

• Number of skipped indices for reducing DT (cohomology) is much larger

than for D (homology)

• reducing boundary matrix produces basis for Hk+1(Kk+1), which is not needed

• The resulting persistence barcode is the same [de Silva et al. 2011]

http://ulrich-bauer.org/ripser-talk.pdf 12 / 25

Page 55: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Counting homology column reductions

• standard matrix reduction:

k+1∑d=1

( nd + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimCd(K)

=k+1∑d=1

(n − 1d

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd−1(K)

+k+1∑d=1

(n − 1d + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimZd(K)

k = 2, n = 192: 56050096 = 1 161 471 + 54 888625• using clearing:

k+1∑d=1

(n − 1d

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd−1(K)

+ (n − 1k + 2

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶

dimHk+1(K)

=k+2∑d=1

(n − 1d

)

k = 2, n = 192: 54 888 816 = 1 161 471 + 53 727 345

http://ulrich-bauer.org/ripser-talk.pdf 13 / 25

Page 56: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Counting homology column reductions

• standard matrix reduction:

k+1∑d=1

( nd + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimCd(K)

=k+1∑d=1

(n − 1d

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd−1(K)

+k+1∑d=1

(n − 1d + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimZd(K)

k = 2, n = 192: 56050096 = 1 161 471 + 54 888625

• using clearing:k+1∑d=1

(n − 1d

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd−1(K)

+ (n − 1k + 2

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶

dimHk+1(K)

=k+2∑d=1

(n − 1d

)

k = 2, n = 192: 54 888 816 = 1 161 471 + 53 727 345

http://ulrich-bauer.org/ripser-talk.pdf 13 / 25

Page 57: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Counting homology column reductions

• standard matrix reduction:

k+1∑d=1

( nd + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimCd(K)

=k+1∑d=1

(n − 1d

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd−1(K)

+k+1∑d=1

(n − 1d + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimZd(K)

k = 2, n = 192: 56050096 = 1 161 471 + 54 888625• using clearing:

k+1∑d=1

(n − 1d

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd−1(K)

+ (n − 1k + 2

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶

dimHk+1(K)

=k+2∑d=1

(n − 1d

)

k = 2, n = 192: 54 888 816 = 1 161 471 + 53 727 345

http://ulrich-bauer.org/ripser-talk.pdf 13 / 25

Page 58: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Counting homology column reductions

• standard matrix reduction:

k+1∑d=1

( nd + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimCd(K)

=k+1∑d=1

(n − 1d

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd−1(K)

+k+1∑d=1

(n − 1d + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimZd(K)

k = 2, n = 192: 56050096 = 1 161 471 + 54 888625• using clearing:

k+1∑d=1

(n − 1d

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd−1(K)

+ (n − 1k + 2

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶

dimHk+1(K)

=k+2∑d=1

(n − 1d

)

k = 2, n = 192: 54 888 816 = 1 161 471 + 53 727 345

http://ulrich-bauer.org/ripser-talk.pdf 13 / 25

Page 59: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Counting cohomology column reductions

• standard matrix reduction:

k∑d=0

( nd + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimCd(K)

=k∑d=0

(n − 1d + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd+1(K)

+k∑d=0

(n − 1d

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimZd(K)

k = 2, n = 192: 1 179 808 = 18 337 + 1 161 471• using clearing:

k∑d=0

(n − 1d + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd+1(K)

+ (n − 10

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimH0(K)

+ =k+1∑d=0

(n − 1d

)

k = 2, n = 192: 1 161 472 = 1 + 1 161 471

http://ulrich-bauer.org/ripser-talk.pdf 14 / 25

Page 60: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Counting cohomology column reductions

• standard matrix reduction:

k∑d=0

( nd + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimCd(K)

=k∑d=0

(n − 1d + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd+1(K)

+k∑d=0

(n − 1d

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimZd(K)

k = 2, n = 192: 1 179 808 = 18 337 + 1 161 471

• using clearing:k∑d=0

(n − 1d + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd+1(K)

+ (n − 10

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimH0(K)

+ =k+1∑d=0

(n − 1d

)

k = 2, n = 192: 1 161 472 = 1 + 1 161 471

http://ulrich-bauer.org/ripser-talk.pdf 14 / 25

Page 61: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Counting cohomology column reductions

• standard matrix reduction:

k∑d=0

( nd + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimCd(K)

=k∑d=0

(n − 1d + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd+1(K)

+k∑d=0

(n − 1d

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimZd(K)

k = 2, n = 192: 1 179 808 = 18 337 + 1 161 471• using clearing:

k∑d=0

(n − 1d + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd+1(K)

+ (n − 10

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimH0(K)

+ =k+1∑d=0

(n − 1d

)

k = 2, n = 192: 1 161 472 = 1 + 1 161 471

http://ulrich-bauer.org/ripser-talk.pdf 14 / 25

Page 62: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Counting cohomology column reductions

• standard matrix reduction:

k∑d=0

( nd + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimCd(K)

=k∑d=0

(n − 1d + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd+1(K)

+k∑d=0

(n − 1d

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimZd(K)

k = 2, n = 192: 1 179 808 = 18 337 + 1 161 471• using clearing:

k∑d=0

(n − 1d + 1

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimBd+1(K)

+ (n − 10

)´¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¶dimH0(K)

+ =k+1∑d=0

(n − 1d

)

k = 2, n = 192: 1 161 472 = 1 + 1 161 471

http://ulrich-bauer.org/ripser-talk.pdf 14 / 25

Page 63: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Observations

For a typical input:

• V has very few o>-diagonal entries

• most negative columns of D are already reduced

Previous example (k = 2, n = 192):

• Only 845 out of 1 161 471 columns have to be reduced

http://ulrich-bauer.org/ripser-talk.pdf 15 / 25

Page 64: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Observations

For a typical input:

• V has very few o>-diagonal entries

• most negative columns of D are already reduced

Previous example (k = 2, n = 192):

• Only 845 out of 1 161 471 columns have to be reduced

http://ulrich-bauer.org/ripser-talk.pdf 15 / 25

Page 65: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Implicit matrix reduction

Page 66: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Implicit matrix reduction

Standard approach:

• Boundary matrixD for Bltration-ordered basis

• Explicitly generated and stored in memory

• Matrix reduction: store only reduced matrix R• transform D into R by column operations

Approach for Ripser:

• Boundary matrixD for lexicographically ordered basis

• Implicitly deBned and recomputed when needed

• Matrix reduction in Ripser: store only coe?cient matrix V• recompute previous columns of R = D ⋅V when needed

• Typically, V is much sparser and smaller than R

http://ulrich-bauer.org/ripser-talk.pdf 16 / 25

Page 67: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Implicit matrix reduction

Standard approach:

• Boundary matrixD for Bltration-ordered basis

• Explicitly generated and stored in memory

• Matrix reduction: store only reduced matrix R• transform D into R by column operations

Approach for Ripser:

• Boundary matrixD for lexicographically ordered basis

• Implicitly deBned and recomputed when needed

• Matrix reduction in Ripser: store only coe?cient matrix V• recompute previous columns of R = D ⋅V when needed

• Typically, V is much sparser and smaller than R

http://ulrich-bauer.org/ripser-talk.pdf 16 / 25

Page 68: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Implicit matrix reduction

Standard approach:

• Boundary matrixD for Bltration-ordered basis

• Explicitly generated and stored in memory

• Matrix reduction: store only reduced matrix R• transform D into R by column operations

Approach for Ripser:

• Boundary matrixD for lexicographically ordered basis

• Implicitly deBned and recomputed when needed

• Matrix reduction in Ripser: store only coe?cient matrix V• recompute previous columns of R = D ⋅V when needed

• Typically, V is much sparser and smaller than R

http://ulrich-bauer.org/ripser-talk.pdf 16 / 25

Page 69: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Implicit matrix reduction

Standard approach:

• Boundary matrixD for Bltration-ordered basis

• Explicitly generated and stored in memory

• Matrix reduction: store only reduced matrix R• transform D into R by column operations

Approach for Ripser:

• Boundary matrixD for lexicographically ordered basis

• Implicitly deBned and recomputed when needed

• Matrix reduction in Ripser: store only coe?cient matrix V• recompute previous columns of R = D ⋅V when needed

• Typically, V is much sparser and smaller than Rhttp://ulrich-bauer.org/ripser-talk.pdf 16 / 25

Page 70: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Oblivious matrix reduction

Algorithm variant:

• R = D• for j = 1, . . . , n

• while ∃i < jwith pivotRi = pivotRj• add Di to Rj

Requires only

• current column Rj

• pivots of previous columns Ri

to obtain the persistence intervals: {[i, j) ∣ i = pivotRj} ∪ {[i,∞) ∣ i ∈ E}.

Corollary

The rank of anm × nmatrix can be computed inO(n) memory.

http://ulrich-bauer.org/ripser-talk.pdf 17 / 25

Page 71: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Oblivious matrix reduction

Algorithm variant:

• R = D• for j = 1, . . . , n

• while ∃i < jwith pivotRi = pivotRj• add Di to Rj

Requires only

• current column Rj

• pivots of previous columns Ri

to obtain the persistence intervals: {[i, j) ∣ i = pivotRj} ∪ {[i,∞) ∣ i ∈ E}.

Corollary

The rank of anm × nmatrix can be computed inO(n) memory.

http://ulrich-bauer.org/ripser-talk.pdf 17 / 25

Page 72: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Oblivious matrix reduction

Algorithm variant:

• R = D• for j = 1, . . . , n

• while ∃i < jwith pivotRi = pivotRj• add Di to Rj

Requires only

• current column Rj

• pivots of previous columns Ri

to obtain the persistence intervals: {[i, j) ∣ i = pivotRj} ∪ {[i,∞) ∣ i ∈ E}.

Corollary

The rank of anm × nmatrix can be computed inO(n) memory.

http://ulrich-bauer.org/ripser-talk.pdf 17 / 25

Page 73: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Apparent and emergent pairs

Page 74: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Natural Bltration settings

Typical assumptions on the Bltration:

• general Bltration persistence (in theory)

• Bltration by singletons or pairs discreteMorse theory

• simplexwise Bltration persistence (computation)

Conclusion:

• DiscreteMorse theory sits in the middle

between persistence and persistence (!)

http://ulrich-bauer.org/ripser-talk.pdf 18 / 25

Page 75: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Natural Bltration settings

Typical assumptions on the Bltration:

• general Bltration persistence (in theory)

• Bltration by singletons or pairs discreteMorse theory

• simplexwise Bltration persistence (computation)

Conclusion:

• DiscreteMorse theory sits in the middle

between persistence and persistence (!)

http://ulrich-bauer.org/ripser-talk.pdf 18 / 25

Page 76: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

DiscreteMorse theory

DeBnition (Forman 1998)

A discrete vector Beld on a cell complex is a partition of the set of simplices into

• singleton sets {ϕ} (critical cells), and

• pairs {σ , τ}, where σ is a facet of τ.

A function f ∶ K → R on a cell complex is a discreteMorse function if6

45

2

3

1

• sublevel sets are subcomplexes, and

• level sets form a discrete vector Beld.

http://ulrich-bauer.org/ripser-talk.pdf 19 / 25

Page 77: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

DiscreteMorse theory

DeBnition (Forman 1998)

A discrete vector Beld on a cell complex is a partition of the set of simplices into

• singleton sets {ϕ} (critical cells), and

• pairs {σ , τ}, where σ is a facet of τ.

A function f ∶ K → R on a cell complex is a discreteMorse function if

1

• sublevel sets are subcomplexes, and

• level sets form a discrete vector Beld.

http://ulrich-bauer.org/ripser-talk.pdf 19 / 25

Page 78: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

DiscreteMorse theory

DeBnition (Forman 1998)

A discrete vector Beld on a cell complex is a partition of the set of simplices into

• singleton sets {ϕ} (critical cells), and

• pairs {σ , τ}, where σ is a facet of τ.

A function f ∶ K → R on a cell complex is a discreteMorse function if

2 1

• sublevel sets are subcomplexes, and

• level sets form a discrete vector Beld.

http://ulrich-bauer.org/ripser-talk.pdf 19 / 25

Page 79: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

DiscreteMorse theory

DeBnition (Forman 1998)

A discrete vector Beld on a cell complex is a partition of the set of simplices into

• singleton sets {ϕ} (critical cells), and

• pairs {σ , τ}, where σ is a facet of τ.

A function f ∶ K → R on a cell complex is a discreteMorse function if

2

3

1

• sublevel sets are subcomplexes, and

• level sets form a discrete vector Beld.

http://ulrich-bauer.org/ripser-talk.pdf 19 / 25

Page 80: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

DiscreteMorse theory

DeBnition (Forman 1998)

A discrete vector Beld on a cell complex is a partition of the set of simplices into

• singleton sets {ϕ} (critical cells), and

• pairs {σ , τ}, where σ is a facet of τ.

A function f ∶ K → R on a cell complex is a discreteMorse function if

4

2

3

1

• sublevel sets are subcomplexes, and

• level sets form a discrete vector Beld.

http://ulrich-bauer.org/ripser-talk.pdf 19 / 25

Page 81: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

DiscreteMorse theory

DeBnition (Forman 1998)

A discrete vector Beld on a cell complex is a partition of the set of simplices into

• singleton sets {ϕ} (critical cells), and

• pairs {σ , τ}, where σ is a facet of τ.

A function f ∶ K → R on a cell complex is a discreteMorse function if

45

2

3

1

• sublevel sets are subcomplexes, and

• level sets form a discrete vector Beld.

http://ulrich-bauer.org/ripser-talk.pdf 19 / 25

Page 82: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

DiscreteMorse theory

DeBnition (Forman 1998)

A discrete vector Beld on a cell complex is a partition of the set of simplices into

• singleton sets {ϕ} (critical cells), and

• pairs {σ , τ}, where σ is a facet of τ.

A function f ∶ K → R on a cell complex is a discreteMorse function if6

45

2

3

1

• sublevel sets are subcomplexes, and

• level sets form a discrete vector Beld.

http://ulrich-bauer.org/ripser-talk.pdf 19 / 25

Page 83: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

DiscreteMorse theory

DeBnition (Forman 1998)

A discrete vector Beld on a cell complex is a partition of the set of simplices into

• singleton sets {ϕ} (critical cells), and

• pairs {σ , τ}, where σ is a facet of τ.

A function f ∶ K → R on a cell complex is a discreteMorse function if6

45

2

3

1

• sublevel sets are subcomplexes, and

• level sets form a discrete vector Beld.

http://ulrich-bauer.org/ripser-talk.pdf 19 / 25

Page 84: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Fundamental theorem of discreteMorse theory

Let f be a discreteMorse function on a cell complex K.

Theorem (Forman 1998)

If (s, t] contains no critical value of f , then the sublevel setKt collapses toKs .

645

2

3

1

Corollary

K ≃M for some cell complexM built from the critical cells of f .

This homotopy equivalence is compatible with the Bltration.

Corollary

K and M have isomorphic persistent homology (with regard to the sublevel sets of f ).

http://ulrich-bauer.org/ripser-talk.pdf 20 / 25

Page 85: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Fundamental theorem of discreteMorse theory

Let f be a discreteMorse function on a cell complex K.

Theorem (Forman 1998)

If (s, t] contains no critical value of f , then the sublevel setKt collapses toKs .

645

2

3

1

Corollary

K ≃M for some cell complexM built from the critical cells of f .

This homotopy equivalence is compatible with the Bltration.

Corollary

K and M have isomorphic persistent homology (with regard to the sublevel sets of f ).

http://ulrich-bauer.org/ripser-talk.pdf 20 / 25

Page 86: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Fundamental theorem of discreteMorse theory

Let f be a discreteMorse function on a cell complex K.

Theorem (Forman 1998)

If (s, t] contains no critical value of f , then the sublevel setKt collapses toKs .

45

2

3

1

Corollary

K ≃M for some cell complexM built from the critical cells of f .

This homotopy equivalence is compatible with the Bltration.

Corollary

K and M have isomorphic persistent homology (with regard to the sublevel sets of f ).

http://ulrich-bauer.org/ripser-talk.pdf 20 / 25

Page 87: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Fundamental theorem of discreteMorse theory

Let f be a discreteMorse function on a cell complex K.

Theorem (Forman 1998)

If (s, t] contains no critical value of f , then the sublevel setKt collapses toKs .

45

2

3

1

Corollary

K ≃M for some cell complexM built from the critical cells of f .

This homotopy equivalence is compatible with the Bltration.

Corollary

K and M have isomorphic persistent homology (with regard to the sublevel sets of f ).

http://ulrich-bauer.org/ripser-talk.pdf 20 / 25

Page 88: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Fundamental theorem of discreteMorse theory

Let f be a discreteMorse function on a cell complex K.

Theorem (Forman 1998)

If (s, t] contains no critical value of f , then the sublevel setKt collapses toKs .

45

2

3

1

Corollary

K ≃M for some cell complexM built from the critical cells of f .

This homotopy equivalence is compatible with the Bltration.

Corollary

K and M have isomorphic persistent homology (with regard to the sublevel sets of f ).

http://ulrich-bauer.org/ripser-talk.pdf 20 / 25

Page 89: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Fundamental theorem of discreteMorse theory

Let f be a discreteMorse function on a cell complex K.

Theorem (Forman 1998)

If (s, t] contains no critical value of f , then the sublevel setKt collapses toKs .

45

2

3

1

Corollary

K ≃M for some cell complexM built from the critical cells of f .

This homotopy equivalence is compatible with the Bltration.

Corollary

K and M have isomorphic persistent homology (with regard to the sublevel sets of f ).

http://ulrich-bauer.org/ripser-talk.pdf 20 / 25

Page 90: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Morse pairs and persistence pairs

Consider aMorse Bltration (one or two simplices at a time).

Morse pair (σ , τ):

• inserting σ and τ simultaneously does not change the homotopy type

Consider a simplexwise Bltration (one simplex at a time).

Persistence pair (σ , τ):

• inserting simplex σ creates a new homological feature

• inserting τ destroys that feature again

http://ulrich-bauer.org/ripser-talk.pdf 21 / 25

Page 91: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Morse pairs and persistence pairs

Consider aMorse Bltration (one or two simplices at a time).

Morse pair (σ , τ):

• inserting σ and τ simultaneously does not change the homotopy type

Consider a simplexwise Bltration (one simplex at a time).

Persistence pair (σ , τ):

• inserting simplex σ creates a new homological feature

• inserting τ destroys that feature again

http://ulrich-bauer.org/ripser-talk.pdf 21 / 25

Page 92: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Apparent pairs

DeBnition

In a simplexwise Bltration, (σ , τ) is an apparent pair if

• σ is the youngest face of τ• τ is the oldest coface of σ

Lemma

Any apparent pairs is a persistence pair.

Lemma

The apparent pairs form a discrete gradient.

• Generalizes a construction proposed by [Kahle 2011] for the study of random

Rips Bltrations

http://ulrich-bauer.org/ripser-talk.pdf 22 / 25

Page 93: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

FromMorse theory to persistence and back

Proposition (fromMorse to persistence)

The pairs of aMorse Bltration are apparent 0-persistence pairs for the canonical

simplexwise reBnement of the Bltration.

Proposition (from persistence toMorse)

Consider an arbitrary Bltrationwith a simplexwise reBnement. The apparent

0-persistence pairs yield aMorse Bltration

• reBning the original one, and

• reBned by the simplexwise one.

http://ulrich-bauer.org/ripser-talk.pdf 23 / 25

Page 94: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

FromMorse theory to persistence and back

Proposition (fromMorse to persistence)

The pairs of aMorse Bltration are apparent 0-persistence pairs for the canonical

simplexwise reBnement of the Bltration.

Proposition (from persistence toMorse)

Consider an arbitrary Bltrationwith a simplexwise reBnement. The apparent

0-persistence pairs yield aMorse Bltration

• reBning the original one, and

• reBned by the simplexwise one.

http://ulrich-bauer.org/ripser-talk.pdf 23 / 25

Page 95: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Emergent persistent pairs

Consider the lexicographically reBned Rips Bltration:

• increasing diameter, reBned by

• lexicographic order

This is the simplexwise Bltration for computations in Ripser.

Lemma

Assume that

• τ is the lexicographicallyminimal proper coface of σ with diam(τ) = diam(σ),

• and there is no persistence pair (ρ, τ)with σ ≺ ρ.

Then (σ , τ) is an emergent persistence pair.

• Includes all apparent persistence 0 pairs

• Can be identiBed without enumerating all cofaces of σ• Provides a shortcut for computation

http://ulrich-bauer.org/ripser-talk.pdf 24 / 25

Page 96: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Emergent persistent pairs

Consider the lexicographically reBned Rips Bltration:

• increasing diameter, reBned by

• lexicographic order

This is the simplexwise Bltration for computations in Ripser.

Lemma

Assume that

• τ is the lexicographicallyminimal proper coface of σ with diam(τ) = diam(σ),

• and there is no persistence pair (ρ, τ)with σ ≺ ρ.

Then (σ , τ) is an emergent persistence pair.

• Includes all apparent persistence 0 pairs

• Can be identiBed without enumerating all cofaces of σ• Provides a shortcut for computation

http://ulrich-bauer.org/ripser-talk.pdf 24 / 25

Page 97: E C V R P Ba U Ba - Ulrich BauerVietoris–Rips Bltrations Consider aBnite metricspace (X,d). The Vietoris–Rips complexis the simplicial complex Ripst (X)={S ⊆X SdiamS ≤t} •

Ripser Live: users from 156 di>erent cities

http://ulrich-bauer.org/ripser-talk.pdf 25 / 25