Simplicial Homology
Homology translates the intuitive notions of “holes” in a space into rigorous algebra. For urban networks, the Betti numbers count connected components, independent loops, and enclosed regions—topological invariants that distinguish fundamentally different city morphologies, from dense grids to sprawling trees.
1. Simplicial Complexes
A simplicial complex is the combinatorial scaffolding on which homology is built. It generalises the notion of a graph to higher dimensions:
- 0-simplex (vertex): A point. In the urban context: an intersection, a building, a landmark.
- 1-simplex (edge): A line segment connecting two vertices. A street segment, a transit link.
- 2-simplex (triangle): A filled triangle with three vertices and three edges. A city block, a plaza, a triangular intersection.
- k-simplex: The convex hull of \(k+1\) affinely independent points, denoted \([v_0, v_1, \dots, v_k]\).
A simplicial complex \(\mathcal{K}\) is a collection of simplices closed under taking faces: if \(\sigma \in \mathcal{K}\) and \(\tau\) is a face of \(\sigma\), then \(\tau \in \mathcal{K}\). In plain terms: if a triangle is in the complex, then so are its three edges and three vertices.
2. Chain Groups and the Boundary Operator
The chain group \(C_k\) is the free abelian group generated by all \(k\)-simplices. Working over \(\mathbb{Z}_2\) (coefficients mod 2) simplifies orientation issues. A \(k\)-chain is a formal sum of \(k\)-simplices.
The boundary operator \(\partial_k : C_k \to C_{k-1}\) maps each simplex to its oriented boundary:
$$\partial_k [v_0, v_1, \dots, v_k] = \sum_{i=0}^k (-1)^i [v_0, \dots, \hat{v}_i, \dots, v_k]$$
where \(\hat{v}_i\) means vertex \(v_i\) is omitted. The key examples:
$$\partial_1 [v_0, v_1] = v_1 - v_0$$
The boundary of an edge is its two endpoints (with signs from orientation). For a triangle:
$$\partial_2 [v_0, v_1, v_2] = [v_1, v_2] - [v_0, v_2] + [v_0, v_1]$$
The boundary of a triangle is the sum of its three edges (with consistent orientation).
3. The Fundamental Property: Boundary of a Boundary Is Zero
The essential algebraic fact underlying all of homology theory is:
$$\partial_{k-1} \circ \partial_k = 0$$
Verify for a triangle: applying \(\partial_1\) to \(\partial_2[v_0,v_1,v_2]\):
$$\partial_1 \partial_2 [v_0,v_1,v_2] = (v_2 - v_1) - (v_2 - v_0) + (v_1 - v_0) = 0$$
This means: every boundary is a cycle, but not every cycle is a boundary. The gap between cycles and boundaries is precisely what homology measures. The chain complex is:
$$\cdots \xrightarrow{\partial_3} C_2 \xrightarrow{\partial_2} C_1 \xrightarrow{\partial_1} C_0 \xrightarrow{\partial_0} 0$$
4. Homology Groups and Betti Numbers
Define the cycle group and boundary group:
$$Z_k = \ker \partial_k = \{c \in C_k : \partial_k c = 0\}$$
$$B_k = \text{im} \, \partial_{k+1} = \{\partial_{k+1} c : c \in C_{k+1}\}$$
Since \(\partial^2 = 0\), we have \(B_k \subseteq Z_k\). The \(k\)-th homology group is the quotient:
$$H_k = Z_k / B_k = \frac{\ker \partial_k}{\text{im} \, \partial_{k+1}}$$
The Betti numbers are the ranks of these groups:
$$\beta_k = \text{rank}(H_k) = \dim(Z_k) - \dim(B_k)$$
- \(\beta_0\): Number of connected components. How many separate pieces the network has.
- \(\beta_1\): Number of independent loops (cycles that are not boundaries of filled regions). Route redundancy in the network.
- \(\beta_2\): Number of enclosed voids (cavities). Rare in planar urban networks but relevant for 3D structures (tunnels, overpasses).
For a connected planar graph, the Euler relation gives \(\beta_0 - \beta_1 + \beta_2 = V - E + F\) where \(V, E, F\) are vertices, edges, and faces. For a graph (no 2-simplices), \(\beta_1 = E - V + \beta_0\) counts the independent cycles by the cycle rank formula.
5. Five Urban Morphologies and Their Betti Numbers
Different city types produce characteristic topological signatures. Here we compare five canonical urban forms:
| Urban Form | \(\beta_0\) | \(\beta_1\) | Signature |
|---|---|---|---|
| Grid (Manhattan) | 1 | High | Many independent loops; high redundancy |
| Radial + Ring (Paris) | 1 | Moderate | Loops from ring roads; radials are tree-like |
| Organic/Medieval | 1 | Low-Moderate | Irregular loops; some dead-ends |
| Suburban Sprawl | High | Low | Many cul-de-sacs; tree-like; fragmented |
| Polycentric | Low | Moderate-High | Multiple cores connected by loops |
The key topological distinction: grids maximise \(\beta_1\) (route choice), while sprawl maximises \(\beta_0\) (fragmentation) and minimises \(\beta_1\) (no alternative routes).
6. Computing Betti Numbers for Urban Networks
We build simplicial complexes for each urban form, compute the boundary matrices, and extract the Betti numbers via rank computations over \(\mathbb{Z}_2\).
Computing Betti Numbers for Five Urban Morphologies
PythonClick Run to execute the Python code
Code will be executed with Python 3 on the server
7. The Euler Characteristic
The Euler characteristic provides a single topological invariant that combines all Betti numbers:
$$\chi = \sum_{k=0}^n (-1)^k \beta_k = \beta_0 - \beta_1 + \beta_2 - \cdots$$
For a graph, \(\chi = \beta_0 - \beta_1 = V - E\). For a planar graph with faces, \(\chi = V - E + F = 2\) (Euler's formula for a sphere). The Euler characteristic is computable directly from the simplicial structure without computing homology:
$$\chi = \sum_{k=0}^n (-1)^k |\mathcal{K}_k|$$
where \(|\mathcal{K}_k|\) is the number of \(k\)-simplices. This topological invariant is preserved under continuous deformations of the network, making it robust to small perturbations in the urban layout.
Key Takeaway
Simplicial homology provides rigorous, computable invariants for urban network topology. The Betti numbers \(\beta_0\) and \(\beta_1\) capture the most urbanistically relevant features: connectivity and route redundancy. Different city morphologies occupy distinct regions in the \((\beta_0, \beta_1)\) plane, providing a topological fingerprint for urban form.