Chapter 5: Morse functions and function-induced persistence CSE 5559 Computational Topology: Theory, algorithms, and applications to data analysis Chapter 5: Morse functions and function-induced persistence Instructor: Yusu Wang
Section 1: Morse functions
Scalar Functions Real valued function defined on a topological space: 𝑓:𝑋→𝑅 We will focus on nice, smooth function defined on smooth Riemann manifolds to introduce some concepts.
1D function 𝑓:𝑅→𝑅
1D function 𝑓:𝑅→𝑅 Derivative Critical points a point 𝑝 is critical if 𝐷𝑓 𝑝 =0 for 1d functions, there are min/max to differentiate, we use second derivatives!!
Functions on 𝑅 𝑑 Given a function 𝑓: 𝑅 𝑑 →𝑅
Functions on 𝑅 𝑑 Given a function 𝑓: 𝑅 𝑑 →𝑅 Directional derivative at 𝑥∈ 𝑅 𝑑 in direction 𝑣∈ 𝕊 𝑑 Rate of change of 𝑓 at 𝑥 in direction 𝑣
Functions on 𝑅 𝑑 Given a function 𝑓: 𝑅 𝑑 →𝑅 Directional derivative at 𝑥∈ 𝑅 𝑑 in direction 𝑣∈ 𝕊 𝑑 Rate of change of 𝑓 at 𝑥 in direction 𝑣 Gradient of 𝑓 at 𝑥∈ 𝑅 𝑑 where 〈𝑥 1 ,…, 𝑥 𝑑 〉 represents an orthonormal coordinate system for 𝑅 𝑑 Equivalently, 𝛻𝑓 𝑥 is along the direction where 𝐷 𝑣 𝑓 𝑥 is maximized, and 𝛻𝑓 𝑥 represents the value of direction derivative in that direction.
Critical Points A point 𝑝 is critical if 𝛻𝑓 𝑝 = 0, …, 0 i.e, the gradient vanishes at this point Three generic types of critical points for 𝑓: 𝑅 2 →𝑅 saddle maximum minimum If we are given a smooth function 𝑓:𝑀→𝑅 defined on a 𝑑-manifold 𝑀, we can define gradient similarly.
The type of critical points depends on the Hessian matrix. Given a twice differentiable function 𝑓: 𝑅 𝑑 →𝑅, the Hessian of 𝑓 at 𝑥 is the matrix of second derivatives The type of critical points depends on the Hessian matrix.
Non-degenerate critical points A critical point 𝑝 of 𝑓 is degenerate if det 𝐻𝑒𝑠𝑠𝑖𝑎𝑛 𝑝 =0, i.e, 𝐻𝑒𝑠𝑠𝑖𝑎𝑛 𝑝 is not full rank Otherwise, it is non-degenerate. Examples
Morse Function A smooth function 𝑓:𝑀→𝑅 is a Morse function if no critical points are degenerate no two critical points share the same function value Morse functions form an open and dense subset of the space of all smooth functions.
Morse Lemma Theorem: Given a Morse function 𝑓:𝑀→𝑅 defined on a 𝑑-manifold 𝑀, let 𝑝 be a non-degenerate critical point of it. Then, there exists local coordinate chart of a sufficiently small neighborhood of 𝑝 s.t: (i) the coordinate of p is (0, 0, …, 0) in this chart; and (ii) locally the function 𝑓 can be represented by 𝑓 𝑥 =𝑓 𝑝 − 𝑥 1 2 −… 𝑥 𝑠 2 + 𝑥 𝑠+1 2 +…+ 𝑥 𝑑 2 for every point 𝑥= 𝑥 1 ,…, 𝑥 𝑑 in this small neighborhood of 𝑝. The index of this critical point is 𝑠. Altogether, for a Morse function on a 𝑑-manifold (including 𝑅 𝑑 ), there are d+1 different types of critical points. Examples
Connection to Topology Function: 𝑓:𝑋→𝑅 Level set: 𝑋 𝑎 = 𝑥∈𝑋 𝑓 𝑥 =𝑎 , Sub-level set: 𝑋 ≤𝑎 ={𝑥∈𝑋∣𝑓 𝑥 ≤𝑎} 𝑋 ≤𝑎 ⊆ 𝑋 ≤𝑏 for any 𝑎≤𝑏 𝑓 𝑎 𝑋 𝑎
Connection to Topology Function: 𝑓:𝑋→𝑅 Level set: 𝑋 𝑎 = 𝑥∈𝑋 𝑓 𝑥 =𝑎 , Sub-level set: 𝑋 ≤𝑎 ={𝑥∈𝑋∣𝑓 𝑥 ≤𝑎} 𝑋 ≤𝑎 ⊆ 𝑋 ≤𝑏 for any 𝑎≤𝑏 𝑓 𝑎 𝑋 ≤𝑎
Connection to Topology Function: 𝑓:𝑋→𝑅 Level set: 𝑋 𝑎 = 𝑥∈𝑋 𝑓 𝑥 =𝑎 , Sub-level set: 𝑋 ≤𝑎 ={𝑥∈𝑋∣𝑓 𝑥 ≤𝑎} 𝑋 ≤𝑎 ⊆ 𝑋 ≤𝑏 for any 𝑎≤𝑏 Interval-level set: 𝑋 𝐼 = 𝑥∈𝑋 𝑓 𝑥 ∈𝐼
Connection to topology Corollary: If the interval a, b does not contain any critical value, then 𝐻 ∗ 𝑋 ≤𝑎 ≈ 𝐻 ∗ 𝑋 ≤𝑏
Attaching Handles
Section 2: Piecewise-linear (PL) setting
PL Function 𝐾: a simplicial complex, |𝐾| its underlying space Piecewise linear (PL) function 𝑓: 𝐾 →𝑅 𝑓 defined at vertices (0-simplices) 𝑉 of 𝐾 and linearly interpolated within each simplex 𝜎∈𝐾 𝑓 𝑣 1 𝑣 4 𝑣 3 𝑣 2 𝑣 5 𝑣 6 𝑣 8 𝑣 7 𝑣 9
PL Function 𝐾: a simplicial complex, |𝐾| its underlying space Piecewise linear (PL) function 𝑓: 𝐾 →𝑅 𝑓 defined at vertices (0-simplices) 𝑉 of 𝐾 and linearly interpolated within each simplex 𝜎∈𝐾 Neighborhood in PL setting Star, closed star, link Lower star / lower link: Imagine assign 𝑓 𝜎 = max 𝑣∈𝑉𝑒𝑟𝑡 𝜎 𝑓 𝑣 𝑙𝑜𝑤𝑆𝑡 𝑣 = {𝜏∈𝑆𝑡 𝑣 ∣𝑓 𝜏 ≤𝑓 𝑣 } 𝑙𝑜𝑤𝐿𝑘 𝑣 ={𝜏∈𝐿𝑘 𝑣 ∣𝑓 𝜏 ≤𝑓 𝑣 }
Intuition from the smooth case, and examples. Critical Points (Homological) PL-critical points Given a PL-function 𝑓:𝐾→𝑅, and any vertex 𝑣∈𝐾, let 𝛽 𝑖 𝑣 denote the reduced 𝑖-th Betti number of 𝑙𝑜𝑤𝐿𝑘(𝑣). Then, 𝑣 is regular if 𝛽 𝑖 𝑣 =0 for any 𝑖≥−1; and critical otherwise. 𝑣 is an index 𝑘 critical point if 𝛽 𝑘 𝑣 >0. It is a simple critical point if ∑ 𝛽 𝑖 𝑣 =1. Intuition from the smooth case, and examples.
Connection to topology Theorem A Given a PL function 𝑓:𝐾→𝑅 defined on a finite simplicial complex 𝐾, suppose [𝑎, 𝑏] is an interval such that it does not contain any critical value of 𝑓. Then 𝐻 ∗ 𝑋 ≤𝑎 ≅ 𝐻 ∗ 𝑋 ≤𝑏 .
Section 3: Function induced persistence
Another Example The ``sublevel set’’ of the distance field 𝑑 𝑋 : 𝑅 2 →𝑅
Function-induced Filtration Level set: 𝑋 𝑎 = 𝑥∈𝑋 𝑓 𝑥 =𝑎 , Sub-level set: 𝑋 ≤𝑎 ={𝑥∈𝑋∣𝑓 𝑥 ≤𝑎} 𝑋 ≤𝑎 ⊆ 𝑋 ≤𝑏 for any 𝑎≤𝑏 𝑓 𝑎 𝑋 𝑎
Function-induced Filtration Level set: 𝑋 𝑎 = 𝑥∈𝑋 𝑓 𝑥 =𝑎 , Sub-level set: 𝑋 ≤𝑎 ={𝑥∈𝑋∣𝑓 𝑥 ≤𝑎} 𝑋 ≤𝑎 ⊆ 𝑋 ≤𝑏 for any 𝑎≤𝑏 𝑓 𝑎 𝑋 ≤𝑎
Function-induced Filtration Level set: 𝑋 𝑎 = 𝑥∈𝑋 𝑓 𝑥 =𝑎 , Sub-level set: 𝑋 ≤𝑎 ={𝑥∈𝑋∣𝑓 𝑥 ≤𝑎} 𝑋 ≤𝑎 ⊆ 𝑋 ≤𝑏 for any 𝑎≤𝑏 For any sequence 𝑎 1 ≤ 𝑎 2 ≤⋯≤ 𝑎 𝑛 (with 𝑎 𝑛 ≥ 𝑓 𝑚𝑎𝑥 ) Sublevel set filtration of 𝑋 w.r.t 𝑓: 𝑋 ≤ 𝑎 1 ⊆ 𝑋 ≤ 𝑎 2 ⊆⋯⊆ 𝑋 ≤ 𝑎 𝑛
Function-induced Filtration Level set: 𝑋 𝑎 = 𝑥∈𝑋 𝑓 𝑥 =𝑎 , Sub-level set: 𝑋 ≤𝑎 ={𝑥∈𝑋∣𝑓 𝑥 ≤𝑎} 𝑋 ≤𝑎 ⊆ 𝑋 ≤𝑏 for any 𝑎≤𝑏 For any sequence 𝑎 1 ≤ 𝑎 2 ≤⋯≤ 𝑎 𝑛 (with 𝑎 𝑛 ≥ 𝑓 𝑚𝑎𝑥 ) Sublevel set filtration of 𝑋 w.r.t 𝑓: 𝑋 ≤ 𝑎 1 ⊆ 𝑋 ≤ 𝑎 2 ⊆⋯⊆ 𝑋 ≤ 𝑎 𝑛 Persistence module 𝐻 ∗ (𝑋 ≤ 𝑎 1 )→ 𝐻 ∗ 𝑋 ≤ 𝑎 2 →⋯→ 𝐻 ∗ (𝑋 ≤ 𝑎 𝑛 )
Function-induced Filtration Level set: 𝑋 𝑎 = 𝑥∈𝑋 𝑓 𝑥 =𝑎 , Sub-level set: 𝑋 ≤𝑎 ={𝑥∈𝑋∣𝑓 𝑥 ≤𝑎} 𝑋 ≤𝑎 ⊆ 𝑋 ≤𝑏 for any 𝑎≤𝑏 For any sequence 𝑎 1 ≤ 𝑎 2 ≤⋯≤ 𝑎 𝑛 (with 𝑎 𝑛 ≥ 𝑓 𝑚𝑎𝑥 ) Sublevel set filtration of 𝑋 w.r.t 𝑓: 𝑋 ≤ 𝑎 1 ⊆ 𝑋 ≤ 𝑎 2 ⊆⋯⊆ 𝑋 ≤ 𝑎 𝑛 Persistence module 𝐻 ∗ (𝑋 ≤ 𝑎 1 )→ 𝐻 ∗ 𝑋 ≤ 𝑎 2 →⋯→ 𝐻 ∗ (𝑋 ≤ 𝑎 𝑛 ) General persistence module indexed by real 𝓟 𝑓 = 𝐻 ∗ 𝑋 ≤𝑎 → 𝐻 ∗ 𝑋 ≤𝑏 𝑎≤𝑏
A Simple Example 0-th homology 𝑓 𝑎
A Simple Example 0-th homology 𝑓 𝑐 1 (+) 𝑥 1
A Simple Example 0-th homology 𝑓 𝑎 (+) 𝑐 1 𝑥 1
A Simple Example 0-th homology 𝑓 𝑐 2 (+) 𝑥 2 (+) 𝑐 1 𝑥 1
A Simple Example 0-th homology 𝑓 𝑐 2 (+) 𝑐 3 𝑥 3 (+) 𝑥 2 (+) 𝑐 1 𝑥 1
A Simple Example 0-th homology 𝑓 𝑥 4 (-) 𝑐 4 (+) 𝑐 3 𝑥 3 𝑐 2 (+) 𝑥 2 (-) 𝑐 4 (+) 𝑐 3 𝑥 3 (+) 𝑥 2 (+) 𝑐 1 𝑥 1
A Simple Example 0-th homology 𝑓 𝑎 (-) 𝑐 6 𝑥 6 𝑥 5 (-) 𝑐 5 𝑥 4 (-) 𝑐 4 𝑐 2 𝑎 (-) 𝑐 6 𝑥 6 𝑥 5 (-) 𝑐 5 𝑥 4 (-) 𝑐 4 (+) 𝑐 3 𝑥 3 (+) 𝑥 2 (+) 𝑐 1 𝑥 1
Observations 𝐻 ∗ 𝑎 only potentially changes at critical values which, in the case of 𝑓 is a smooth function defined on a smooth manifold, are exactly the function values of critical points of 𝑓 and which, in the case of 𝑓 is a PL function on a simplicial domain, are the function values of the PL-critical points
Observations 𝐻 ∗ 𝑎 only potentially changes at critical values which, in the case of 𝑓 is a smooth function defined on a smooth manifold, are exactly the function values of critical points of 𝑓 and which, in the case of 𝑓 is a PL function on a simplicial domain, are the function values of the PL-critical points 𝐻 ∗ 𝑎 → 𝐻 ∗ 𝑏 is isomorphism for 𝑎<𝑏 within two consecutive critical values Persistence pairings for the sub-level set persistence module 𝓟 𝑓 = 𝐻 ∗ 𝑋 ≤𝑎 → 𝐻 ∗ 𝑋 ≤𝑏 𝑎≤𝑏 are of the form (𝑏, 𝑑), with both 𝑏 and 𝑑 being critical values We sometimes also refer the pairing to between corresponding critical points.
A Simple Example 0-th homology Diagram 𝐷𝑔 0 𝓟 𝑓 ( 𝑐 1 ,∞) 𝑓 (-) 𝑐 6 𝑐 2 𝑐 1 (+) (+) 𝑐 3 𝑥 1 𝑥 2 𝑥 3 𝑥 4 (-) 𝑐 4 (-) 𝑐 5 𝑥 5 𝑥 6 (-) 𝑐 6 ( 𝑐 2 , 𝑐 5 ) ( 𝑐 3 , 𝑐 4 )
Remarks 1: Sublevel set filtration In general, for a function 𝑓:𝑋→𝑅 defined on a 𝑑- manifold 𝑋, under sublevel-set filtration, The persistence pairings are between critical values, induced by pairings between critical points whose indices differ by 1. E.g, for d = 2, (min, saddle) or (saddle, max) E.g, for d = 3, (min, index-1 saddle), (index-1 saddle, index-2 saddle), or (index-2 saddle, max) Pairs of the form 𝑎, ∞ Correspond to essential homology of 𝑋, i.e, H ∗ (𝑋) Not all critical points necessarily participate in persistence pairing
Remark 2: Super-level set filtration Symmetrically, one can also consider super-level set filtration Super-level set: 𝑋 ≥𝑎 ={𝑥∈𝑋∣𝑓 𝑥 ≥𝑎} 𝑋 ≥𝑎 ⊆ 𝑋 ≥𝑏 for any 𝑎≥𝑏 For any sequence 𝑎 1 ≥ 𝑎 2 ⋯≥ 𝑎 𝑛 (s.t 𝑎 1 ≥ 𝑓 𝑚𝑎𝑥 , 𝑎 𝑛 ≤ 𝑓 𝑚𝑖𝑛 ) Sublevel set filtration of 𝑋 w.r.t 𝑓: 𝑋 ≥ 𝑎 1 ⊆ 𝑋 ≥ 𝑎 2 ⊆⋯⊆ 𝑋 ≥ 𝑎 𝑛 Persistence module 𝐻 ∗ (𝑋 ≥ 𝑎 1 )→ 𝐻 ∗ 𝑋 ≥ 𝑎 2 →⋯→ 𝐻 ∗ (𝑋 ≥ 𝑎 𝑛 ) General persistence module indexed by real 𝓟 𝑓 = 𝐻 ∗ 𝑋 ≥𝑎 → 𝐻 ∗ 𝑋 ≥𝑏 𝑎≥𝑏
Section 3.2: Stability
Stability for Function-induced Persistence Given two persistence-diagrams (multiset of points in 𝑅 2 ) 𝐷𝑔 1 = 𝑝 1 , 𝑝 2 ,…, 𝑝 𝑠 and 𝐷𝑔 2 = 𝑞 1 , 𝑞 2 ,…, 𝑞 𝑡 Augment 𝐷𝑔 1 =𝐷 𝑔 1 ∪𝐿 and 𝐷𝑔 2 =𝐷 𝑔 2 ∪𝐿 where 𝐿={ 𝑥,𝑥 ∈ 𝑅 2 } is diagonal A partial-matching between 𝐷𝑔 1 and 𝐷𝑔 2 is 𝑀⊆ 𝐷𝑔 1 × 𝐷𝑔 2 𝑠.𝑡. ∀𝑝∈𝐷 𝑔 1 , ∃ 𝑢𝑛𝑖𝑞𝑢𝑒 𝑝, 𝑥 ∈𝑀 ∀𝑞∈𝐷 𝑔 2 , ∃ 𝑢𝑛𝑖𝑞𝑢𝑒 𝑥, 𝑞 ∈𝑀
A Metric for Persistence Diagrams Given two persistence-diagrams (multiset of points in 𝑅 2 ) 𝐷𝑔 1 = 𝑝 1 , 𝑝 2 ,…, 𝑝 𝑠 and 𝐷𝑔 2 = 𝑞 1 , 𝑞 2 ,…, 𝑞 𝑡 The bottleneck distance between 𝐷𝑔 1 and 𝐷𝑔 2 𝑑 𝐵 𝐷 𝑔 1 , 𝐷 𝑔 2 ≔ inf 𝑀 max 𝑥,𝑦 ∈𝑀 ||𝑥 −𝑦 || ∞
Stability for Function-induced Persistence Stability Theorem [Cohen-Steiner et al 2007] Given two functions 𝑓, 𝑔:𝑋→𝑅, let 𝐷 𝑓 and 𝐷 𝑔 be the persistence diagrams for the persistence modules induced by the sub-level set (resp. super-level set) filtrations w.r.t 𝑓 and 𝑔, respectively. We then have: 𝑑 𝐵 𝐷 𝑓 , 𝐷 𝑔 ≤|| 𝑓 −𝑔 | | ∞
Section 3.3: Computation in the PL-case
Computation – PL Function 𝐾: a simplicial complex, |𝐾| its underlying space Piecewise linear (PL) function 𝑓: 𝐾 →𝑅 𝑓 defined at vertices (0-simplices) 𝑉 of 𝐾 and linearly interpolated within each simplex 𝜎∈𝐾 𝑓 𝑣 1 𝑣 4 𝑣 3 𝑣 2 𝑣 5 𝑣 6 𝑣 8 𝑣 7 𝑣 9
Computation – PL Function Given PL-function 𝑓: 𝐾 →𝑅, consider the persistence module induced by its sub-level set filtration 𝓟 𝑓 = 𝐻 ∗ 𝐾 ≤𝑎 → 𝐻 ∗ 𝐾 ≤𝑏 𝑎≤𝑏 To compute persistence pairings for 𝓟 𝑓 , simulate sub- level set filtration Assume vertices { 𝑣 1 ,…, 𝑣 𝑛 } sorted in non-decreasing order by function value 𝑓 Critical values can only be 𝑓-value of some vertex Only need to consider discrete values 𝑎 1 ≤⋯≤ 𝑎 𝑛 with 𝑎 𝑖 =𝑓 𝑣 𝑖 𝐾 𝑖 ≔{𝜎∈𝐾∣𝑓 𝑣 ≤ 𝑎 𝑖 , ∀𝑣∈𝜎} Consider filtration ∅= 𝐾 0 ⊆ 𝐾 1 ⊆⋯⊆ 𝐾 𝑛 =𝐾
Computation – PL Function Goal: persistence pairings for 𝓟 𝑓 = 𝐻 ∗ 𝐾 ≤𝑎 → 𝐻 ∗ 𝐾 ≤𝑏 𝑎≤𝑏 , Simulate sub-level set filtration by ∅= 𝐾 0 ⊆ 𝐾 1 ⊆⋯⊆ 𝐾 𝑛 =𝐾 where 𝐾 𝑖 ≔ 𝜎∈𝐾 𝑓 𝑣 ≤ 𝑎 𝑖 , ∀𝑣∈𝜎 ⇒ 𝐻 ∗ 𝐾 0 → 𝐻 ∗ 𝐾 1 → 𝐻 ∗ 𝐾 2 →⋯→ 𝐻 ∗ 𝐾 𝑛
Computation – PL Function Goal: persistence pairings for 𝓟 𝑓 = 𝐻 ∗ 𝐾 ≤𝑎 → 𝐻 ∗ 𝐾 ≤𝑏 𝑎≤𝑏 , Simulate sub-level set filtration by ∅= 𝐾 0 ⊆ 𝐾 1 ⊆⋯⊆ 𝐾 𝑛 =𝐾 where 𝐾 𝑖 ≔ 𝜎∈𝐾 𝑓 𝑣 ≤ 𝑎 𝑖 , ∀𝑣∈𝜎 ⇒ 𝐻 ∗ 𝐾 0 → 𝐻 ∗ 𝐾 1 → 𝐻 ∗ 𝐾 2 →⋯→ 𝐻 ∗ 𝐾 𝑛 Also called low-star filtration as 𝐿𝑜𝑤𝑆𝑡 𝑣 𝑖 = 𝐾 𝑖 ∖ 𝐾 𝑖−1 where 𝐿𝑜𝑤𝑆𝑡 𝑣 ≔{𝜎∈𝐾∣𝑣∈𝜎 𝑎𝑛𝑑 𝑓 𝑢 ≤𝑓 𝑣 𝑓𝑜𝑟 𝑎𝑛𝑦 𝑢∈𝜎} 𝐾 𝑖 = ⋃ 𝑗≤𝑖 𝐿𝑜𝑤𝑆𝑡( 𝑣 𝑗 )
Recall: A simplex-wise filtration realizes the low-star filtration if 𝜎 1 ,…, 𝜎 𝐼 1 , 𝜎 𝐼 1 +1 , …, 𝜎 𝐼 2 , …, 𝜎 𝐼 𝑗−1 +1 , …, 𝜎 𝐼 𝑗+1 , …, 𝜎 𝐼 𝑛−1 +1 ,…, 𝜎 𝐼 𝑛
General Filtration Given 𝐾 1 ⊆ 𝐾 2 ⊆⋯⊆ 𝐾 𝑛 , let 𝛼 1 , 𝛼 2 ,…, 𝛼 𝑚 be a simplex-wise low-star filtration i.e, 𝛼 1 , …, 𝛼 𝐼 1 , 𝛼 𝐼 1 +1 , …, 𝛼 𝐼 2 , ……, 𝛼 𝐼 𝑛−1 +1 , …, 𝛼 𝐼 𝑛 𝐾 1 𝐾 2 ∖ 𝐾 1 𝐾 𝑛 ∖ 𝐾 𝑛−1 𝐾 𝑖 ∖ 𝐾 𝑖−1 1 𝜇 𝑖,𝑗 =2 1 … … 𝐾 𝑗 ∖ 𝐾 𝑗−1
PL-implementation Given a PL function 𝑓:𝐾→𝑅, perform the persistence algorithm for any simplex-wise low-star filtration. Let 𝑃 denote the output set of paired simplcies Then, 𝜇 𝑖,𝑗 >0 if and only if there exists 𝜎, 𝜏 ∈𝑃 such that 𝜎∈ 𝐾 𝑖 ∖ 𝐾 𝑖−1 , while 𝜏∈ 𝐾 𝑗 ∖ 𝐾 𝑗−1 𝜇 𝑖,𝑗 equals the cardinality of the set of such pairs.
Example 𝑓 𝑣 1 𝑣 4 𝑣 3 𝑣 2 𝑣 5 𝑣 6 𝑣 8 𝑣 7 𝑣 9
Theorem Given a PL function 𝑓 :𝐾→𝑅 and compute its persistent homology as described. The set of persistence pairings returned do not depend on the choice of simplex-wise low- star filtration. Theorem Given a PL function 𝑓 :𝐾→𝑅 and compute its persistent homology as described. Then for each persistence pair 𝑖, 𝑗 , both 𝑣 𝑖 and 𝑣 𝑗 must be PL-critical.
The 𝑂 𝑛\log 𝑛 time algorithm for computing 0th persistent homology.