1) The paper presents a method to approximate the Vietoris-Rips filtration using a zigzag filtration of linear size.
2) It embeds the zigzag filtration into an equivalent standard filtration and perturbs the metric so that the zigzag does not occur at the homology level.
3) This results in a zigzag filtration of size O(n) whose persistence diagram provides a (1+ε)-approximation of the persistence diagram for the Vietoris-Rips filtration.
13. A filtration is a growing sequence of spaces.
A persistence diagram describes
the topological changes over time.
14. A filtration is a growing sequence of spaces.
Death
Birth
A persistence diagram describes
the topological changes over time.
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 ∈ σ.
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 .
22. 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!
25. Persistence Diagrams describe the changes in
topology corresponding to changes in scale.
Bottleneck Distance
d∞ = max |pi − qi |∞
B
i
Death
Birth
26. Persistence Diagrams describe the changes in
topology corresponding to changes in scale.
Bottleneck Distance
d∞ = max |pi − qi |∞
B
i
Death
In approximate persistence
diagrams, birth and death
times differ by at most a
constant factor.
Birth
27. Persistence Diagrams describe the changes in
topology corresponding to changes in scale.
Bottleneck Distance
d∞ = max |pi − qi |∞
B
i
Death
In approximate persistence
diagrams, birth and death
times differ by at most a
constant factor.
This is just the bottleneck
Birth distance of the log-scale
diagrams.
28. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
29. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
30. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
31. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
32. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
33. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
34. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
35. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
36. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
37. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
38. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
39. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
40. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
41. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
42. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
43. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
44. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
45. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
46. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
47. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
48. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
49. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
50. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
51. The Vietoris-Rips complex is a nerve of boxes.
Embed the input metric in Rn with the L∞ norm.
ˇ
In L∞ , the Rips complex is the same as the Cech complex
53. Some related work on sparse filtrations.
Previous Approaches at subsampling:
54. Some related work on sparse filtrations.
Previous Approaches at subsampling:
Witness Complexes [dSC04, BGO07]
55. Some related work on sparse filtrations.
Previous Approaches at subsampling:
Witness Complexes [dSC04, BGO07]
Persistence-based Reconstruction [CO08]
56. Some related work on sparse filtrations.
Previous Approaches at subsampling:
Witness Complexes [dSC04, BGO07]
Persistence-based Reconstruction [CO08]
Other methods:
57. Some related work on sparse filtrations.
Previous Approaches at subsampling:
Witness Complexes [dSC04, BGO07]
Persistence-based Reconstruction [CO08]
Other methods:
Meshes in Euclidean Space [HMSO10]
58. Some related work on sparse filtrations.
Previous Approaches at subsampling:
Witness Complexes [dSC04, BGO07]
Persistence-based Reconstruction [CO08]
Other methods:
Meshes in Euclidean Space [HMSO10]
Topological simplification [Z10, ALS11]
60. Key idea: Treat many close points as one point.
This idea is ubiquitous in computational geometry.
61. Key idea: Treat many close points as one point.
This idea is ubiquitous in computational geometry.
n-body simulation, approximate nearest neighbor search,
spanners, well-separated pair decomposition,...
82. Two tricks:
1 Embed the zigzag in a topologically equivalent filtration.
83. Two tricks:
1 Embed the zigzag in a topologically equivalent filtration.
ˆ ˆ ˆ
Standard filtration → Rα → Rβ → Rγ →
→
→
→
Zigzag filtration ← Qα → Qβ ← Qγ →
84. 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γ →
85. 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γ ) →
86. 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γ ) →
87. 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γ ) →
88. 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.
90. 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.
91. 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, ε)
92. 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, ε)
93. 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, ε)
94. 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.
96. How to perturb the metric.
Let tp be the time when point p is removed.
97. 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 ≤ α
98. 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
99. 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 (α)
100. 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 ∈ σ
101. 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 ∈ σ
102. 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α
α
108. Net-trees
A generalization of quadtrees to metric spaces.
One leaf per point of P.
Each node u has a representative rep(u) in P and a radius rad(p).
109. Net-trees
A generalization of quadtrees to metric spaces.
One leaf per point of P.
Each node u has a representative rep(u) in P and a radius rad(p).
Three properties:
110. Net-trees
A generalization of quadtrees to metric spaces.
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.
111. Net-trees
A generalization of quadtrees to metric spaces.
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))
112. Net-trees
A generalization of quadtrees to metric spaces.
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)
113. Net-trees
A generalization of quadtrees to metric spaces.
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 ))
116. Projection onto a net
Nα = {p ∈ P : tp ≥ α}
ˆ
Qα is the subcomplex of Rα induced on Nα .
117. Projection onto a net
Nα = {p ∈ P : tp ≥ α}
ˆ
Qα is the subcomplex of Rα induced on Nα .
p if p ∈ Nα
πα (p) = ˆ
arg minq∈Nα d(p, q) otherwise
118. Projection onto a net
Nα = {p ∈ P : tp ≥ α}
ˆ
Qα is the subcomplex of Rα induced on Nα .
p if p ∈ Nα
πα (p) = ˆ
arg minq∈Nα d(p, q) otherwise
Nα is a Delone set.
119. Projection onto a net
Nα = {p ∈ P : tp ≥ α}
ˆ
Qα is the subcomplex of Rα induced on Nα .
p if p ∈ Nα
πα (p) = ˆ
arg minq∈Nα d(p, q) otherwise
Nα is a Delone set.
1 Covering: For all p ∈ P , there is a q ∈ Nα
such that d(p, q) ≤ ε(1 − ε)α.
120. Projection onto a net
Nα = {p ∈ P : tp ≥ α}
ˆ
Qα is the subcomplex of Rα induced on Nα .
p if p ∈ Nα
πα (p) = ˆ
arg minq∈Nα d(p, q) otherwise
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 − ε)α.
121. Projection onto a net
Nα = {p ∈ P : tp ≥ α}
ˆ
Qα is the subcomplex of Rα induced on Nα .
p if p ∈ Nα
πα (p) = ˆ
arg minq∈Nα d(p, q) otherwise
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).
122. Key Fact: ˆ ˆ
For all p, q ∈ P , d(πα (p), q) ≤ d(p, q).
This can be used to show that projection onto a net is a
homotopy equivalence.
Relaxed Rips: → Rα → Rβ → Rγ →
ˆ ˆ ˆ
→
→
→
Sparse Rips Zigzag: ← Qα → Qβ ← Qγ →
123. Key Fact: ˆ ˆ
For all p, q ∈ P , d(πα (p), q) ≤ d(p, q).
This can be used to show that projection onto a net is a
homotopy equivalence.
Relaxed Rips: → Rα → Rβ → Rγ →
ˆ ˆ ˆ
→
→
→
Sparse Rips Zigzag: ← Qα → Qβ ← Qγ →
← H(Qα ) → H(Qβ ) ← H(Qγ ) →
124. Key Fact: ˆ ˆ
For all p, q ∈ P , d(πα (p), q) ≤ d(p, q).
This can be used to show that projection onto a net is a
homotopy equivalence.
Relaxed Rips: → Rα → Rβ → Rγ →
ˆ ˆ ˆ
→
→
→
Sparse Rips Zigzag: ← Qα → Qβ ← Qγ →
∼
= ∼
=
← H(Qα ) → H(Qβ ) ← H(Qγ ) →
125. Key Fact: ˆ ˆ
For all p, q ∈ P , d(πα (p), q) ≤ d(p, q).
This can be used to show that projection onto a net is a
homotopy equivalence.
Relaxed Rips: → Rα → Rβ → Rγ →
ˆ ˆ ˆ
→
→
→
Sparse Rips Zigzag: ← Qα → Qβ ← Qγ →
∼
= ∼
=
→ H(Qα ) → H(Qβ ) → H(Qγ ) →
127. Why is the filtration only linear size?
Standard trick from Euclidean geometry:
128. Why is the filtration only linear size?
Standard trick from Euclidean geometry:
1 Charge each simplex to its vertex with the earliest deletion time.
129. 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.
130. 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.
131. 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 )
1
ε
136. Summary
Approximate the VR filtration with a Zigzag filtration.
137. Summary
Approximate the VR filtration with a Zigzag filtration.
Remove points using a hierarchical net-tree.
138. Summary
Approximate the VR filtration with a Zigzag filtration.
Remove points using a hierarchical net-tree.
Perturb the metric to straighten out the zigzags.
139. 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.
140. 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.
Union trick eliminates zigzag.
141. 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.
Union trick eliminates zigzag.
The Future
142. 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.
Union trick eliminates zigzag.
The Future
Distance to a measure?
143. 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.
Union trick eliminates zigzag.
The Future
Distance to a measure?
Other types of simplification.
144. 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.
Union trick eliminates zigzag.
The Future
Distance to a measure?
Other types of simplification.
Construct the net-tree in O(n log n) time.
145. 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.
Union trick eliminates zigzag.
The Future
Distance to a measure?
Other types of simplification.
Construct the net-tree in O(n log n) time.
An implementation.
146. 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.
Union trick eliminates zigzag.
The Future
Distance to a measure?
Other types of simplification.
Construct the net-tree in O(n log n) time.
An implementation.
Thank You.
147. 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.
Union trick eliminates zigzag.
The Future
Distance to a measure?
Other types of simplification.
Construct the net-tree in O(n log n) time.
An implementation.
Thank You.