# Simplicial Homology

Homology groups are topological invariants which, informally, give information about the types of holes in a topological space. They are not the only such invariant in algebraic topology, but they are particularly nice to work with since they are always abelian and easy to compute.

For now, we will restrict our discussion to homology of simplicial complexes. Since many topological spaces of interest can be triangularized into a simplicial complex, this is robust enough for a first treatment of homology. I will talk about the more general theory of singular homology in a later post.

I actually gave the definition of simplicial homology groups in my last post, but it was not motivated by anything in particular. Because the motivation for the construction of homology groups can be difficult to understand, we'll work through the concept by looking at a rather in-depth example. As we will see, the natural and intuitive steps we take in this example generalize to a broader theory of homology.

Let's work with the same simplicial complex we looked at in my last post:

We'll call the complex $X$, to match our notation from last time. The $v_i$ are $0$-simplices, the $e_i$ are $1$-simplices and $f$ is a $2$-simplex. We will be working with the chain groups of $X$ as in the previous post. We define $C_0(X)$ as the free abelian group generated by the $v_i$, $C_1(X)$ as the free abelian group generated by the $e_i$, and $C_2(X)$ as the free abelian group generated by $f$.

Notice that elements of $C_0(X)$ are integral linear combinations of the vertices $v_i$. A typical element $\sigma_0 \in C_0(X)$ can be expressed as

$$\sigma_0 = \sum_{i=0}^3 a_iv_i = a_0v_0 + a_1v_1 + a_2v_2 + a_3v_3,$$

where the $a_i$ are integers. We refer to the elements of $C_0(X)$ as $0$-chains.

Similarly, the elements of $C_1(X)$, which we call $1$-chains, are integral linear combinations of the edges $e_i$. A typical element $\sigma_1 \in C_1(X)$ can be written

$$\sigma_1 = \sum_{i=0}^4 b_ie_i = b_0e_0 + b_1e_1 + b_2e_2 + b_3e_3 + b_4e_4,$$

where the $b_i$ are integers. Since the edges are oriented, remember that we think of the negative of an edge as that same edge oriented in the opposite direction. There are only two possible orientations for each edge, so this works out nicely.

Lastly, the elements of $C_2(X)$, the $2$-chains, are integral multiples of the face $f$. A typical element $\sigma_2 \in C_2(X)$ is of the form

$$\sigma_2 = cf,$$

where $c$ is an integer. We will assume that $f=[v_0, v_1, v_2]$ is oriented clockwise.

Last time, we defined the boundary maps between chain groups for any simplicial complex. Let's look at the boundaries of the simplices in $X$. These are determined by the homomorphisms

$$C_2(X)\xrightarrow{\partial_2} C_1(X)\xrightarrow{\partial_1}C_0(X)\xrightarrow{\partial_0}0.$$

Recall the definition of the boundary of an $n$-simplex:

$$\partial_n([v_0, v_1,\ldots, v_n])=\sum_{i=0}^n(-1)^i[v_0,\ldots,v_{i-1},v_{i+1},\ldots,v_n].$$

We see immediately that

$$\partial_0([v_i]) = 0$$

for every $1$-simplex $v_i$. This should make intuitive sense, since a vertex shouldn't have any boundary. This means that $\partial_0$ is the zero map, (as it must be since it's codomain is the trivial group).

Next we see that

$$\begin{align}

\partial_1(e_0) &= \partial_1([v_0, v_1]) = v_1 - v_0 \\[.5em]

\partial_1(e_1) &= \partial_1([v_1, v_2]) = v_2 - v_1 \\[.5em]

\partial_1(e_2) &= \partial_1([v_2, v_0]) = v_0 - v_2 \\[.5em]

\partial_1(e_3) &= \partial_1([v_3, v_2]) = v_2 - v_3 \\[.5em]

\partial_1(e_4) &= \partial_1([v_0, v_3]) = v_3 - v_0.

\end{align}$$

Since homomorphisms between free abelian groups are uniquely determined by the way they act on generators, we immediately know how to calculate the boundary $\partial_1$ of any $1$-chain in $X$. If

$$\sigma_1 = \sum_{i=0}^4 b_ie_i$$

then from the properties of homomorphisms we see that

$$\begin{align}

\partial_1(\sigma_1) &= \partial_1\left(\sum_{i=0}^4 b_ie_i\right) \\

&= \sum_{i=0}^4 b_i \partial_1(e_i) \\[1em]

&= b_0(v_1-v_0) + b_1(v_2-v_1) + b_2(v_0-v_2) + b_3(v_2-v_3) + b_4(v_3-v_0) \\[1em]

&= (-b_0+b_2-b_4)v_0 + (b_0-b_1)v_1 + (b_1-b_2+b_3)v_2 + (-b_3+b_4)v_3.

\end{align}$$

Of particular interest to us are cycles in $C_1(X)$. As you might expect, a cycle is a $1$-chain which starts where it began and traverses the edges in a natural order. For instance, we would like

$$\begin{align}

\sigma_1 &= e_0 + e_1 + e_2, \\[1em]

\sigma_2 &= -2e_2 -2e_4 -2e_3

\end{align}$$

to be considered cycles, since they are natural paths around the simplex and they form closed loops. However,

$$\begin{align}

\sigma_3 &= e_0 + e_1, \\[1em]

\sigma_4 &= 3e_1 -e_4

\end{align}$$

should not be, as $\sigma_3$ does not form a closed loop and $\sigma_4$ is not even a natural path.

How should we algebraically determine which chains are cycles? To answer this question, let's take a look at the boundaries of the $1$-chains we just discussed. Remember that chain groups are abelian, so we can rearrange terms. This is extremely important!

$$\begin{align}

\partial_1(\sigma_1) &= \partial(e_0 + e_1 + e_2) \\[.5em]

&= \partial(e_0) + \partial(e_1) + \partial(e_2) \\[.5em]

&= (v_1-v_0) + (v_2-v_1) + (v_0-v_2) \\[.5em]

&= (v_0 - v_0) + (v_1 - v_1) + (v_2 - v_2) \\[.5em]

&= 0, \\[2em]

\partial_1(\sigma_2) &= \partial(-2e_2 -2e_4 -2e_3) \\[.5em]

&= -2\partial(e_2) -2\partial(e_4) + -2\partial(e_3) \\[.5em]

&= -2(v_0-v_2) -2(v_3-v_0) -2(v_2-v_3) \\[.5em]

&= -2(v_0 - v_0) -2(v_2 - v_2) -2(v_3 - v_3) \\[.5em]

&= 0, \\[2em]

\partial_1(\sigma_3) &= \partial(e_0 + e_1) \\[.5em]

&= \partial(e_0) + \partial(e_1)\\[.5em]

&= (v_1-v_0) + (v_2-v_1)\\[.5em]

&= -v_0 + (v_1-v_1) + v_2 \\[.5em]

&= -v_0 + v_2, \\[2em]

\partial_1(\sigma_4) &= \partial(3e_1 -e_4) \\[.5em]

&= 3\partial(e_1) -\partial(e_4) \\[.5em]

&= 3(v_2-v_1) -(v_3-v_0) \\[.5em]

&= -v_0 -3v_1 + 3v_2 -v_3. \\[.5em]

\end{align}$$

So It looks like the $1$-chains that ought to be cycles have a boundary of $0$, whereas the others have nonzero boundary. This should make some sense, since remember that the boundary of a $1$-simplex is its second vertex minus its first vertex. So if the edges of a chain follow a natural path, i.e., the chain is of the form

$$\sigma = [v_0, v_1] + [v_1, v_2] + [v_2, v_3] + \cdots + [v_{n-2}, v_{n-1}] + [v_{n-1}, v_n]$$

then the terms in its boundary will telescope and only the extreme points will remain. That is,

$$\begin{align}

\partial_1(\sigma) &= \partial_1([v_0, v_1] + [v_1, v_2] + [v_2, v_3] + \cdots +[v_{n-2}, v_{n-1}] + [v_{n-1}, v_n]) \\[.5em]

&= \partial([v_0, v_1]) + \partial([v_1, v_2]) + \partial([v_2, v_3]) + \cdots + \partial([v_{n-2}, v_{n-1}]) + \partial([v_{n-1}, v_n]) \\[.5em]

&= (v_1-v_0) + (v_2-v_1) + (v_3-v_2) + \cdots + (v_{n-1}-v_{n-2}) + (v_n-v_{n-1}) \\[.5em]

&= -v_0 + (v_1-v_1) + (v_2-v_2) + \cdots + (v_{n-1}-v_{n-1}) + v_n\\[.5em]

&= -v_0 + v_n.

\end{align}$$

If it happens that the chain is also closed, then its first and last vertices are the same. That is, $v_0=v_n$, and so $\partial_1(\sigma)=0$. That means that any cycle is in the kernel of the boundary map! It thus makes sense to make the following definition:

Definition.If $X$ is a simplicial complex with chain groups and boundary operators$$\cdots\xrightarrow{\partial_{n+1}} C_n(X)\xrightarrow{\partial_n} C_{n-1}(X)\xrightarrow{\partial_{n-1}}\cdots\xrightarrow{\partial_2}C_1(X)\xrightarrow{\partial_1}C_0(X)\xrightarrow{\partial_0}0,$$

then for each natural number $n$, the

group of $n$-cyclesin $X$ is defined as$$Z_n(X)=\ker\partial_n.$$

This subgroup consists of all $n$-chains whose boundary is zero. That is, precisely the chains which we called cycles. Since each cycle group $Z_n(X)$ is the kernel of a homomorphism, it is always a normal subgroup of $C_n(X)$.

Remember that the whole point of this endeavor is to identify the holes in our simplicial complex $X$. Intuitively, just from looking at the diagram of $X$, it seems there should only be one hole: that empty region bounded by the edges $e_2$, $e_4$ and $e_3$.

How do we instinctively know this? Because $e_2+e_3+e_4$ is a a cycle in $Z_1(X)$ but it is not the boundary of any $2$-chain in $X$. Those edges could feasibly form the boundary of a $2$-simplex, but there is simply not a $2$-simplex sitting there. That tells us there's a hole in our complex.

On the other hand, $e_0+e_1+e_2$ is a cycle in $Z_1(X)$ and it is the boundary of the $2$-chain $f$, so there is no hole there.

What I'm saying is that **holes in $X$ correspond to cycles which are not also the boundary of anything in $X$.**

How do we know which chains are also boundaries? Well that's easy! Any boundary of a simplex in $X$ is the image of that simplex under the boundary map.

Definition.If $X$ is a simplicial complex with chain groups and boundary operators$$\cdots\xrightarrow{\partial_{n+1}} C_n(X)\xrightarrow{\partial_n} C_{n-1}(X)\xrightarrow{\partial_{n-1}}\cdots\xrightarrow{\partial_2}C_1(X)\xrightarrow{\partial_1}C_0(X)\xrightarrow{\partial_0}0,$$

then for each natural number $n$, the

group of $n$-boundariesin $X$ is defined as$$B_n(X)=\im\partial_{n+1}.$$

This subgroup consists of all $n$-chains which are the image of an $(n+1)$-chain under the $(n+1)$th boundary map. That is, $B_n(X)$ consists of all boundaries of the $(n+1)$-chains in $X$.

We showed last time that the boundary of a boundary is always zero, i.e., $(\partial_{n}\circ \partial_{n+1})(\sigma)=0$ for all $n$. We also showed that this implies that $\im\partial_{n+1}\subseteq\ker\partial_n$. Or, in the terminology of this post, $B_n(X)\subseteq Z_n(X)$.

This should make intuitive sense, since every boundary of a simplex should be a cycle but not all cycles are necessarily boundaries. In fact, it is precisely the cycles that are *not* boundaries that we are interested in. Since each chain group is free abelian, this implies that $B_n(X)$ is a normal subgroup of $Z_n(X)$. We're finally ready to define homology groups!

Definition.If $X$ is a simplicial complex with chain groups and boundary operators$$\cdots\xrightarrow{\partial_{n+1}} C_n(X)\xrightarrow{\partial_n} C_{n-1}(X)\xrightarrow{\partial_{n-1}}\cdots\xrightarrow{\partial_2}C_1(X)\xrightarrow{\partial_1}C_0(X)\xrightarrow{\partial_0}0,$$

then for each natural number $n$, the

$n$th simplicial homology groupof $X$ is defined as the quotient group$$H_n(X)=\frac{Z_n(X)}{B_n(X)} = \frac{\ker\partial_n}{\im\partial_{n+1}}.$$

In the case of our example, $Z_1(X)$ is the free abelian group generated by the two basic cycles in $X$. That is, any cycle in $Z_1(X)$ is an integral combination of $e_0+e_1+e_2$ and $e_2+e_4+e_3$. Since it is generated by two elements, $\rank Z_1(X)=2$.

On the other hand, $B_1(X)$ is the free abelian group generated by boundaries of the $2$-simplices in $X$. But there is only one $2$-simplex, namely $f$. The boundary of $f$ is the chain $e_0+e_1+e_2$, so any boundary in $B_1(X)$ is an integral multiple of this chain. Since it is generated by a single element, $\rank B_1(X)=1$.

This implies that $\rank H_1(X)=2-1=1$. This coincides with our intuitive idea that there is one hole in the complex $X$. In general, the rank of the $n$-th homology group tells us how many $n$-dimensional holes are in a simplicial complex.

The elements of the $1$st homology group $H_1(X)$ are the cosets of $B_1(X)$. That is, any element $\sigma\in H_1(X)$ is of the form

$$\sigma = B_1(X) + \gamma$$

where $\gamma$ is any $1$-cycle in $Z_1(X)$. If $\gamma$ is a multiple of the chain $e_0+e_1+e_2$ then $\gamma\in B_1(X)$ and so we have the identity coset. Otherwise, $\gamma$ contains some multiple of the other cycle, $e_2+e_4+e_3$, and so $B_1(X) + \gamma$ is not the identity. This is why the rank of $H_1(X)$ is $1$ in this case — because the only distinct cosets are the identity and $B_1(X) + e_2+e_4+e_3$.

I'll leave you with this for now. Next time I'll discuss an algorithm for actually computing homology groups of simplicial complexes!