Chain Complexes and Boundary Maps

3 minute read

Published:

TL;DR: A chain complex is a sequence of vector spaces (or abelian groups) connected by boundary maps โˆ‚ such that โˆ‚โˆ˜โˆ‚ = 0. Homology groups H_n = ker(โˆ‚_n)/im(โˆ‚_{n+1}) capture cycles that do not bound โ€” the topological holes. This algebraic structure is the computational core of persistent homology.

From Simplicial Complexes to Algebra

A simplicial complex gives us a combinatorial description of a space. To compute topology, we translate it into algebra via chain groups and boundary maps.

Given a simplicial complex \(K\), the \(n\)-chain group \(C_n(K; \mathbb{F})\) over a field \(\mathbb{F}\) (usually \(\mathbb{F}_2 = \{0,1\}\) for TDA) is the vector space freely generated by the oriented \(n\)-simplices of \(K\). An element of \(C_n\) is a formal linear combination of \(n\)-simplices โ€” a chain.

For a triangle (2-simplex \([v_0, v_1, v_2]\)), we have:

  • \(C_0 = \mathrm{span}\{[v_0], [v_1], [v_2]\}\) โ€” 0-chains (vertices)
  • \(C_1 = \mathrm{span}\{[v_0 v_1], [v_1 v_2], [v_0 v_2]\}\) โ€” 1-chains (edges)
  • \(C_2 = \mathrm{span}\{[v_0 v_1 v_2]\}\) โ€” 2-chains (faces)

The Boundary Map

The boundary map \(\partial_n: C_n \to C_{n-1}\) computes the oriented boundary of a simplex:

$$\partial_n [v_0, v_1, \ldots, v_n] = \sum_{i=0}^{n} (-1)^i [v_0, \ldots, \hat{v}_i, \ldots, v_n]$$

where \(\hat{v}_i\) means \(v_i\) is omitted. For \(\mathbb{F}_2\), signs are dropped (every coefficient is 0 or 1).

Examples:

  • \(\partial_1 [v_0 v_1] = [v_1] - [v_0]\) โ€” an edgeโ€™s boundary is its two endpoints.
  • \(\partial_2 [v_0 v_1 v_2] = [v_1 v_2] - [v_0 v_2] + [v_0 v_1]\) โ€” a triangleโ€™s boundary is its three edges.

The Fundamental Property: โˆ‚โˆ˜โˆ‚ = 0

$$\partial_{n-1} \circ \partial_n = 0 \quad \text{for all } n$$

This says: โ€œthe boundary of a boundary is empty.โ€ Intuitively, if you walk around the boundary of a filled region, each edge appears twice (once for each adjacent face) and cancels.

This gives us the chain complex:

\[\cdots \xrightarrow{\partial_{n+1}} C_n \xrightarrow{\partial_n} C_{n-1} \xrightarrow{\partial_{n-1}} \cdots \xrightarrow{\partial_1} C_0 \xrightarrow{\partial_0} 0\]

Because \(\partial \circ \partial = 0\), we have \(\mathrm{im}(\partial_{n+1}) \subseteq \ker(\partial_n)\).

Homology Groups

  • \(Z_n = \ker(\partial_n)\) โ€” cycles: chains with no boundary.
  • \(B_n = \mathrm{im}(\partial_{n+1})\) โ€” boundaries: chains that bound a higher-dimensional face.

The \(n\)-th homology group is:

$$H_n = Z_n / B_n = \ker(\partial_n) \,/\, \mathrm{im}(\partial_{n+1})$$

Intuitively, \(H_n\) counts \(n\)-dimensional holes: cycles that are not boundaries. The Betti number \(\beta_n = \dim(H_n)\) is the number of independent holes.

Key Insight: Over $$\mathbb{F}_2$$, computing homology reduces to linear algebra over a binary field: boundary maps become binary matrices, and $$H_n$$ is computed by Gaussian elimination. This is exactly what the persistence algorithm does โ€” it applies boundary matrix reduction to a sequence of chain complexes (the filtration).

Connection to Persistence

Persistent homology tracks how homology groups change as we grow the filtration \(K^0 \subseteq K^1 \subseteq \cdots \subseteq K^m\). At each step, we extend the chain complex. The persistence algorithm computes, for each generator of homology, the scale at which it is born (enters as a cycle) and dies (becomes a boundary). The output โ€” a persistence diagram โ€” is a complete summary of the filtrationโ€™s topology.

References

  • A. Hatcher, Algebraic Topology, Chapter 2. Free at pi.math.cornell.edu/~hatcher.
  • H. Edelsbrunner & J. Harer, Computational Topology: An Introduction, AMS, 2010.