The document describes the Vietoris-Rips filtration, which encodes the topology of a metric space when viewed at different scales. It introduces two tricks to create a linear-size approximation of the Vietoris-Rips filtration: 1) embedding the zigzag filtration in a topologically equivalent standard filtration, and 2) perturbing the metric so that the persistence module does not zigzag. The result is that given a metric space with n points, there exists a zigzag filtration of size O(n) whose persistence diagram approximates that of the Rips filtration. It then describes how to construct this approximating zigzag filtration using net trees and projecting the metric space onto a Delone set.
12. A filtration is a growing sequence of spaces.
A persistence diagram describes
the topological changes over time.
13. A filtration is a growing sequence of spaces.
A persistence diagram describes
the topological changes over time.
Death
Birth
14. The Vietoris-Rips Filtration encodes the topology of a
metric space when viewed at different scales.
Input: A finite metric space (P, d).
Output: A sequence of simplicial complexes {Rα }
such that σ ∈ Rα iff d(p, q) ≤ 2α for all p, q ∈ σ.
15. The Vietoris-Rips Filtration encodes the topology of a
metric space when viewed at different scales.
Input: A finite metric space (P, d).
Output: A sequence of simplicial complexes {Rα }
such that σ ∈ Rα iff d(p, q) ≤ 2α for all p, q ∈ σ.
16. The Vietoris-Rips Filtration encodes the topology of a
metric space when viewed at different scales.
Input: A finite metric space (P, d).
Output: A sequence of simplicial complexes {Rα }
such that σ ∈ Rα iff d(p, q) ≤ 2α for all p, q ∈ σ.
17. The Vietoris-Rips Filtration encodes the topology of a
metric space when viewed at different scales.
Input: A finite metric space (P, d).
Output: A sequence of simplicial complexes {Rα }
such that σ ∈ Rα iff d(p, q) ≤ 2α for all p, q ∈ σ.
18. The Vietoris-Rips Filtration encodes the topology of a
metric space when viewed at different scales.
Input: A finite metric space (P, d).
Output: A sequence of simplicial complexes {Rα }
such that σ ∈ Rα iff d(p, q) ≤ 2α for all p, q ∈ σ.
19. The Vietoris-Rips Filtration encodes the topology of a
metric space when viewed at different scales.
Input: A finite metric space (P, d).
Output: A sequence of simplicial complexes {Rα }
such that σ ∈ Rα iff d(p, q) ≤ 2α for all p, q ∈ σ.
20. The Vietoris-Rips Filtration encodes the topology of a
metric space when viewed at different scales.
Input: A finite metric space (P, d).
Output: A sequence of simplicial complexes {Rα }
such that σ ∈ Rα iff d(p, q) ≤ 2α for all p, q ∈ σ.
R∞ is the powerset 2P .
21. The Vietoris-Rips Filtration encodes the topology of a
metric space when viewed at different scales.
Input: A finite metric space (P, d).
Output: A sequence of simplicial complexes {Rα }
such that σ ∈ Rα iff d(p, q) ≤ 2α for all p, q ∈ σ.
R∞ is the powerset 2P .
This is too big!
31. Previous Approaches at subsampling:
Witness Complexes [dSC04, BGO07]
Persistence-based Reconstruction [CO08]
Other methods:
32. Previous Approaches at subsampling:
Witness Complexes [dSC04, BGO07]
Persistence-based Reconstruction [CO08]
Other methods:
Meshes in Euclidean Space [HMSO10]
33. Previous Approaches at subsampling:
Witness Complexes [dSC04, BGO07]
Persistence-based Reconstruction [CO08]
Other methods:
Meshes in Euclidean Space [HMSO10]
Topological simplification [Z10, ALS11]
36. Two tricks:
1 Embed the zigzag in a topologically equivalent filtration.
37. Two tricks:
1 Embed the zigzag in a topologically equivalent filtration.
ˆ ˆ ˆ
Standard filtration → Rα → Rβ → Rγ →
→
→
→
Zigzag filtration ← Qα → Qβ ← Qγ →
38. Two tricks:
1 Embed the zigzag in a topologically equivalent filtration.
2 Perturb the metric so the persistence module does not zigzag.
ˆ ˆ ˆ
Standard filtration → Rα → Rβ → Rγ →
→
→
→
Zigzag filtration ← Qα → Qβ ← Qγ →
39. Two tricks:
1 Embed the zigzag in a topologically equivalent filtration.
2 Perturb the metric so the persistence module does not zigzag.
ˆ ˆ ˆ
Standard filtration → Rα → Rβ → Rγ →
→
→
→
Zigzag filtration ← Qα → Qβ ← Qγ →
← H(Qα ) → H(Qβ ) ← H(Qγ ) →
40. Two tricks:
1 Embed the zigzag in a topologically equivalent filtration.
2 Perturb the metric so the persistence module does not zigzag.
ˆ ˆ ˆ
Standard filtration → Rα → Rβ → Rγ →
→
→
→
Zigzag filtration ← Qα → Qβ ← Qγ →
∼
= ∼
=
← H(Qα ) → H(Qβ ) ← H(Qγ ) →
41. Two tricks:
1 Embed the zigzag in a topologically equivalent filtration.
2 Perturb the metric so the persistence module does not zigzag.
ˆ ˆ ˆ
Standard filtration → Rα → Rβ → Rγ →
→
→
→
Zigzag filtration ← Qα → Qβ ← Qγ →
∼
= ∼
=
→ H(Qα ) → H(Qβ ) → H(Qγ ) →
42. Two tricks:
1 Embed the zigzag in a topologically equivalent filtration.
2 Perturb the metric so the persistence module does not zigzag.
ˆ ˆ ˆ
Standard filtration → Rα → Rβ → Rγ →
→
→
→
Zigzag filtration ← Qα → Qβ ← Qγ →
∼
= ∼
=
→ H(Qα ) → H(Qβ ) → H(Qγ ) →
At the homology level, there is no zigzag.
44. The Result:
Given an n point metric (P, d), there exists a zigzag filtration of
size O(n) whose persistence diagram (1+ ε)-approximates that of
the Rips filtration.
45. The Result:
Given an n point metric (P, d), there exists a zigzag filtration of
size O(n) whose persistence diagram (1+ ε)-approximates that of
the Rips filtration.
(Big-O hides doubling dimension and approximation factor, ε)
46. The Result:
Given an n point metric (P, d), there exists a zigzag filtration of
size O(n) whose persistence diagram (1+ ε)-approximates that of
the Rips filtration.
(Big-O hides doubling dimension and approximation factor, ε)
47. The Result:
Given an n point metric (P, d), there exists a zigzag filtration of
size O(n) whose persistence diagram (1+ ε)-approximates that of
the Rips filtration.
(Big-O hides doubling dimension and approximation factor, ε)
48. The Result:
Given an n point metric (P, d), there exists a zigzag filtration of
size O(n) whose persistence diagram (1+ ε)-approximates that of
the Rips filtration.
(Big-O hides doubling dimension and approximation factor, ε)
A metric with doubling dimension d is
one for which every ball of radius 2r
can be covered by 2d balls of radius r
for all r.
50. How to perturb the metric.
Let tp be the time when point p is removed.
51. How to perturb the metric.
Let tp be the time when point p is removed.
0 if α ≤ (1 − ε)tp
wp (α) = α − (1 − ε)tp if (1 − ε)tp < α < tp
εα if tp ≤ α
52. How to perturb the metric.
Let tp be the time when point p is removed.
0 if α ≤ (1 − ε)tp
wp (α) = α − (1 − ε)tp if (1 − ε)tp < α < tp
εα if tp ≤ α
0
0 (1 − ε)tp tp
53. How to perturb the metric.
Let tp be the time when point p is removed.
0 if α ≤ (1 − ε)tp
wp (α) = α − (1 − ε)tp if (1 − ε)tp < α < tp
εα if tp ≤ α
0
0 (1 − ε)tp tp
ˆ
dα (p, q) = d(p, q) + wp (α) + wq (α)
54. How to perturb the metric.
Let tp be the time when point p is removed.
0 if α ≤ (1 − ε)tp
wp (α) = α − (1 − ε)tp if (1 − ε)tp < α < tp
εα if tp ≤ α
0
0 (1 − ε)tp tp
ˆ
dα (p, q) = d(p, q) + wp (α) + wq (α)
Rips Complex: σ ∈ Rα ⇔ d(p, q) ≤ 2α for all p, q ∈ σ
55. How to perturb the metric.
Let tp be the time when point p is removed.
0 if α ≤ (1 − ε)tp
wp (α) = α − (1 − ε)tp if (1 − ε)tp < α < tp
εα if tp ≤ α
0
0 (1 − ε)tp tp
ˆ
dα (p, q) = d(p, q) + wp (α) + wq (α)
Rips Complex: σ ∈ Rα ⇔ d(p, q) ≤ 2α for all p, q ∈ σ
ˆ ˆ
Relaxed Rips: σ ∈ Rα ⇔ dα (p, q) ≤ 2α for all p, q ∈ σ
56. How to perturb the metric.
Let tp be the time when point p is removed.
0 if α ≤ (1 − ε)tp
wp (α) = α − (1 − ε)tp if (1 − ε)tp < α < tp
εα if tp ≤ α
0
0 (1 − ε)tp tp
ˆ
dα (p, q) = d(p, q) + wp (α) + wq (α)
Rips Complex: σ ∈ Rα ⇔ d(p, q) ≤ 2α for all p, q ∈ σ
ˆ ˆ
Relaxed Rips: σ ∈ Rα ⇔ dα (p, q) ≤ 2α for all p, q ∈ σ
ˆ
R 1+ε ⊆ Rα ⊆ Rα
α
64. Net-trees
One leaf per point of P.
Each node u has a representative rep(u) in P and a radius rad(p).
65. Net-trees
One leaf per point of P.
Each node u has a representative rep(u) in P and a radius rad(p).
Three properties:
66. Net-trees
One leaf per point of P.
Each node u has a representative rep(u) in P and a radius rad(p).
Three properties:
1 Inheritance: Every nonleaf u has a child with the same rep.
67. Net-trees
One leaf per point of P.
Each node u has a representative rep(u) in P and a radius rad(p).
Three properties:
1 Inheritance: Every nonleaf u has a child with the same rep.
2 Covering: Every heir is within ball(rep(u), rad(u))
68. Net-trees
One leaf per point of P.
Each node u has a representative rep(u) in P and a radius rad(p).
Three properties:
1 Inheritance: Every nonleaf u has a child with the same rep.
2 Covering: Every heir is within ball(rep(u), rad(u))
3 Packing: Any children v,w of u have d(rep(v),rep(w)) > K rad(u)
69. Net-trees
One leaf per point of P.
Each node u has a representative rep(u) in P and a radius rad(p).
Three properties:
1 Inheritance: Every nonleaf u has a child with the same rep.
2 Covering: Every heir is within ball(rep(u), rad(u))
3 Packing: Any children v,w of u have d(rep(v),rep(w)) > K rad(u)
Let up be the ancestor of all nodes represented by p.
1
Time to remove p: tp = ε(1−ε) rad(parent(up ))
72. Projection onto a net
Nα = {p ∈ P : tp ≥ α}
ˆ
Qα is the subcomplex of Rα induced on Nα .
73. Projection onto a net
Nα = {p ∈ P : tp ≥ α}
ˆ
Qα is the subcomplex of Rα induced on Nα .
ˆ
πα (p) = arg min d(p, q)
q∈Nα
74. Projection onto a net
Nα = {p ∈ P : tp ≥ α}
ˆ
Qα is the subcomplex of Rα induced on Nα .
ˆ
πα (p) = arg min d(p, q)
q∈Nα
Nα is a Delone set.
75. Projection onto a net
Nα = {p ∈ P : tp ≥ α}
ˆ
Qα is the subcomplex of Rα induced on Nα .
ˆ
πα (p) = arg min d(p, q)
q∈Nα
Nα is a Delone set.
1 Covering: For all p ∈ P , there is a q ∈ Nα
such that d(p, q) ≤ ε(1 − ε)α.
76. Projection onto a net
Nα = {p ∈ P : tp ≥ α}
ˆ
Qα is the subcomplex of Rα induced on Nα .
ˆ
πα (p) = arg min d(p, q)
q∈Nα
Nα is a Delone set.
1 Covering: For all p ∈ P , there is a q ∈ Nα
such that d(p, q) ≤ ε(1 − ε)α.
2 Packing: For all distinct p, q ∈ Nα ,
d(p, q) ≥ Kpack ε(1 − ε)α.
77. Projection onto a net
Nα = {p ∈ P : tp ≥ α}
ˆ
Qα is the subcomplex of Rα induced on Nα .
ˆ
πα (p) = arg min d(p, q)
q∈Nα
Nα is a Delone set.
1 Covering: For all p ∈ P , there is a q ∈ Nα
such that d(p, q) ≤ ε(1 − ε)α.
2 Packing: For all distinct p, q ∈ Nα ,
d(p, q) ≥ Kpack ε(1 − ε)α.
Key Fact: ˆ ˆ
For all p, q ∈ P , d(πα (p), q) ≤ d(p, q).
79. Why is the filtration only linear size?
Standard trick from Euclidean geometry:
80. Why is the filtration only linear size?
Standard trick from Euclidean geometry:
1 Charge each simplex to its vertex with the earliest deletion time.
81. Why is the filtration only linear size?
Standard trick from Euclidean geometry:
1 Charge each simplex to its vertex with the earliest deletion time.
2 Apply a packing argument to the larger neighbors.
82. Why is the filtration only linear size?
Standard trick from Euclidean geometry:
1 Charge each simplex to its vertex with the earliest deletion time.
2 Apply a packing argument to the larger neighbors.
3 Conclude average O(1) simplices per vertex.
83. Why is the filtration only linear size?
Standard trick from Euclidean geometry:
1 Charge each simplex to its vertex with the earliest deletion time.
2 Apply a packing argument to the larger neighbors.
3 Conclude average O(1) simplices per vertex.
O(d2 )
2
85. Summary
Approximate the VR filtration with a Zigzag filtration.
86. Summary
Approximate the VR filtration with a Zigzag filtration.
Remove points using a hierarchical net-tree.
87. Summary
Approximate the VR filtration with a Zigzag filtration.
Remove points using a hierarchical net-tree.
Perturb the metric to straighten out the zigzags.
88. Summary
Approximate the VR filtration with a Zigzag filtration.
Remove points using a hierarchical net-tree.
Perturb the metric to straighten out the zigzags.
Use packing arguments to get linear size.
89. Summary
Approximate the VR filtration with a Zigzag filtration.
Remove points using a hierarchical net-tree.
Perturb the metric to straighten out the zigzags.
Use packing arguments to get linear size.
The Future
90. Summary
Approximate the VR filtration with a Zigzag filtration.
Remove points using a hierarchical net-tree.
Perturb the metric to straighten out the zigzags.
Use packing arguments to get linear size.
The Future
Distance to a measure?
91. Summary
Approximate the VR filtration with a Zigzag filtration.
Remove points using a hierarchical net-tree.
Perturb the metric to straighten out the zigzags.
Use packing arguments to get linear size.
The Future
Distance to a measure?
Other types of simplification.
92. Summary
Approximate the VR filtration with a Zigzag filtration.
Remove points using a hierarchical net-tree.
Perturb the metric to straighten out the zigzags.
Use packing arguments to get linear size.
The Future
Distance to a measure?
Other types of simplification.
Construct the net-tree in O(n log n) time.
93. Summary
Approximate the VR filtration with a Zigzag filtration.
Remove points using a hierarchical net-tree.
Perturb the metric to straighten out the zigzags.
Use packing arguments to get linear size.
The Future
Distance to a measure?
Other types of simplification.
Construct the net-tree in O(n log n) time.
An implementation.
94. Summary
Approximate the VR filtration with a Zigzag filtration.
Remove points using a hierarchical net-tree.
Perturb the metric to straighten out the zigzags.
Use packing arguments to get linear size.
The Future
Distance to a measure?
Other types of simplification.
Construct the net-tree in O(n log n) time.
An implementation.
Thank You.
95. Summary
Approximate the VR filtration with a Zigzag filtration.
Remove points using a hierarchical net-tree.
Perturb the metric to straighten out the zigzags.
Use packing arguments to get linear size.
The Future
Distance to a measure?
Other types of simplification.
Construct the net-tree in O(n log n) time.
An implementation.
Thank You.