Persistent homology: add simplices, track holes
Zigzag persistent homology: add or remove simplices, track holes
Practical algorithms:
Same time complexity: \(\mathcal{O}(n \cdot m^2)\), where
Motivation:
Menu of the day:
\(H(K) := \text{ker}(\partial) / \text{im}(\partial)\)
Let \(K\) be a simplicial complex. Let \(P, S \subset K, P \cap S = \emptyset\).
A pair \(X = (P, S)\) is a homological discrete vector field if \(d(S)_{|P}\) is an invertible matrix.
Its associated reduction: four maps \((f, g, h, d)\) carrying homological information.
\[\begin{align*} h &= i_S \circ (j_P \circ \partial \circ i_S)^{-1} \circ j_P \\ f &= j_C \circ (1 - \partial \circ h) \\ g &= (1 - h \circ \partial) \circ i_C \\ d &= f \circ \partial \circ i_C \end{align*}\]
There are 6 elementary operations to transform an HDVF (and its reduction)
How to make an HDVF?
An HDVF is perfect if \(d = 0\) (we can't add more red-green simplices)
Simplicial complex + perfect HDVF = homology group
Sequence of simplicial complexes, add or remove one simplex
Set of cycles whose homology classes form a basis for \(H(K)\)
Sequence of cycles where inclusions send non-empty cycles to the same homology class
Grid of cycles where
Theorem The intervals of non-empty cycles are the persistence intervals ✅
Zigzag filtration + RID = persistence intervals
Problem: extend a RID after appending a new simplicial complex
There are four cases:
(A.1) Add a simplex, add a hole
Lemma If \(\partial(\sigma)\) is a boundary, then add a cycle \(x\) containing \(\sigma\)
(A.2) Add a simplex, remove a hole
Lemma If \(\partial(\sigma) \sim\) some cycle \(x\) of the basis, then remove it
(B.1) Remove a simplex, add a hole
Lemma If \(\sigma\) does not belong to any cycle of the basis, then add \(\partial(\sigma)\)
(B.2) Remove a simplex, remove a hole
Lemma If \(\sigma\) belongs to exactly one cycle of the basis, then remove it
What if
We need to change the representative basis ⟶ RID
Lemma If \(\mathbf{x} \leq \mathbf{y}\) then we can replace \(\mathbf{y} \gets \mathbf{x} + \mathbf{y}\) to change the representative basis
\[\mathbf{x} \leq \mathbf{y} \iff \begin{cases} \left( b(\mathbf{x}) \leq b(\mathbf{y}) \text{ and } \mathbf{y} \text{ is forward} \right) & \text{or} \\ \left( b(\mathbf{y}) \leq b(\mathbf{x}) \text{ and } \mathbf{x} \text{ is backward} \right) \end{cases}\]
We use a perfect HDVF
We use a perfect HDVF
Time complexity: \(\mathcal{O}(n \cdot m^3 + n^2 \cdot m)\)
Row operations in RID + update perfect HDVF = extend RID
We avoid matrix inversions and multiplications:
Time complexity: \(\mathcal{O}(n m^3 + n^2 m) \longrightarrow \mathcal{O}(n m^2 + n^2 m)\)
Ignore the previous columns of the RID
Time complexity: \(\mathcal{O}(n m^2 + n^2 m) \longrightarrow \mathcal{O}(n m^2)\) ✅
If \(L \subset K\), then its relative homology group is \(H(K, L)\)
Time complexity: \(\mathcal{O}(n \cdot m^2)\), where
Best performance when \(|K-L| \ll |K|\)
In summary
Future work
Thanks for listening. Questions?