Persistent Homology
Simplicial homology gives the topology at a single scale. But urban structure is inherently multi-scale: neighbourhoods, districts, metropolitan regions. Persistent homology tracks how topological features are born and die as we sweep through scales, revealing the robust structure that persists across resolution changes.
1. The Vietoris-Rips Complex
Given a finite point cloud \(X = \{x_1, \dots, x_n\} \subset \mathbb{R}^d\) (e.g., locations of buildings, intersections, or facilities), the Vietoris-Rips complex at scale \(\varepsilon\) is:
$$\text{VR}_\varepsilon(X) = \{\sigma \subseteq X : \text{diam}(\sigma) \leq \varepsilon\}$$
A simplex \(\sigma = \{x_{i_0}, \dots, x_{i_k}\}\) is included if and only if every pair of its vertices is within distance \(\varepsilon\):
$$\sigma \in \text{VR}_\varepsilon \iff d(x_i, x_j) \leq \varepsilon \;\; \forall \, x_i, x_j \in \sigma$$
At \(\varepsilon = 0\), the complex consists only of vertices (isolated points). As \(\varepsilon\) increases, edges appear (connecting nearby points), then triangles (filling in cliques), and eventually the complex becomes a single contractible blob at large \(\varepsilon\).
For urban point clouds, the natural metric is geodesic distance along the street network, not Euclidean distance. This captures the true accessibility structure of the city.
2. Filtration: A Nested Sequence of Complexes
As the scale parameter increases, the Rips complex only grows (adding simplices, never removing). This gives a filtration—a nested sequence:
$$\emptyset = \text{VR}_0 \subseteq \text{VR}_{\varepsilon_1} \subseteq \text{VR}_{\varepsilon_2} \subseteq \cdots \subseteq \text{VR}_{\varepsilon_m} = \Delta^{n-1}$$
At each inclusion \(\text{VR}_{\varepsilon_i} \hookrightarrow \text{VR}_{\varepsilon_j}\), the induced map on homology \(H_k(\text{VR}_{\varepsilon_i}) \to H_k(\text{VR}_{\varepsilon_j})\) tracks which topological features survive. A feature that is born at \(\varepsilon_b\) and dies at \(\varepsilon_d\) is recorded as a birth-death pair \((\varepsilon_b, \varepsilon_d)\).
The persistence of a feature is \(\varepsilon_d - \varepsilon_b\). Long-lived features (high persistence) represent genuine topological structure; short-lived features are noise.
3. The Persistence Diagram
The persistence diagram is the multiset of birth-death pairs plotted in the upper half-plane:
$$\text{Dgm}_k(X) = \{(\varepsilon_b^{(i)}, \varepsilon_d^{(i)})\} \subset \{(b, d) : 0 \leq b < d \leq \infty\}$$
Points near the diagonal (\(\varepsilon_d \approx \varepsilon_b\)) are short-lived and typically noise. Points far from the diagonal are persistent features representing robust topological structure. Reading the diagram:
- \(H_0\) features (components): Born at \(\varepsilon = 0\) (each point starts as its own component). Die when the component merges with another. The most persistent \(H_0\) feature (born first, dies last or never) represents the global connectivity of the city.
- \(H_1\) features (loops): Born when a cycle forms that does not bound a filled region. Die when the loop is filled in by triangles at larger scale. Persistent loops indicate robust alternative routes.
4. The Stability Theorem
The most important theoretical result in persistent homology is the Stability Theorem (Cohen-Steiner, Edelsbrunner, Harer, 2007). It states that small perturbations in the data produce small perturbations in the persistence diagram:
$$d_B\big(\text{Dgm}(f), \text{Dgm}(g)\big) \leq \|f - g\|_\infty$$
where \(d_B\) is the bottleneck distance between persistence diagrams:
$$d_B(\text{Dgm}_1, \text{Dgm}_2) = \inf_\gamma \sup_p \|p - \gamma(p)\|_\infty$$
Here \(\gamma\) ranges over all bijections between the two diagrams (with points on the diagonal available as partners). This means:
- Robustness to noise: Moving data points by at most \(\delta\) changes the diagram by at most \(\delta\).
- Features with persistence \(\gg \delta\): Represent genuine topological structure that cannot be explained by noise.
- Comparison between cities: The bottleneck distance provides a principled metric for comparing the topological structure of different cities.
5. Computing Persistence for Urban Point Clouds
We generate synthetic urban point clouds representing different city types and compute their persistence diagrams using the Rips filtration. Long-lived features reveal multi-scale urban structure.
Persistent Homology for Urban Point Clouds
PythonClick Run to execute the Python code
Code will be executed with Python 3 on the server
6. Multi-Scale Urban Interpretation
The persistence diagram encodes urban structure at every scale simultaneously:
- Small \(\varepsilon\) (neighbourhood scale): Many components (\(\beta_0\) high), few loops. Individual blocks and streets visible.
- Medium \(\varepsilon\) (district scale): Components merge into districts. Loops form around blocks. The \(H_1\) features at this scale correspond to the fundamental cycles of the street network.
- Large \(\varepsilon\) (metropolitan scale): A single component (\(\beta_0 = 1\)). Loops are filled in. The persistence of the last-surviving loop indicates the scale of the largest empty region in the city (park, river, industrial zone).
The total persistence provides a single-number summary:
$$\text{TP}_k = \sum_{(b,d) \in \text{Dgm}_k} (d - b)^p$$
with \(p = 1\) or \(p = 2\). The \(p = 2\) version is related to the Wasserstein distance between diagrams, providing another stable metric for comparing cities.
Key Takeaway
Persistent homology is the multi-scale extension of simplicial homology. It automatically identifies the scales at which topological features appear and disappear, separating genuine structure from noise via the stability theorem. The persistence diagram is a complete, stable, and computable descriptor of multi-scale urban topology.