There are many introductions to homology on the internet, but none of them really met my criteria for being simple, picture filled, and getting the basic ideas across. I feel that Hatcher might come closest to what I want (and where I originally learnt the material), but their description of homology is surrounded by the context of Algebraic Topology, while really, simplicial homology is accessible to anyone who has seen some linear algebra and group theory. This is my attempt to get the ideas across.
Let's first try to understand what we're trying to do here. We want to detect holes in a space, broadly construed. We focus in simplicial complexes , which are collections of triangles and triangle-like objects in higher (and lower) dimensions. We define what holes are for these simplicial complexes, and we then try to find algebraic objects that allow us to "detect" these holes.
§ Simplices
- A 0-simplex is a point
*- A 1-simplex is a line
*===*- A 2-simplex is a filled triangle
* / \ *---*- A -dimensional simplex is the convex hull of linearly independent points in dimensional space.
§ Simplicial complexes
A simplicial complex is a collection of simplices where:
- (1) Every boundary of a simplex from is in
- (2) The intersection of any two simplices in is also in
Examples of simplicial complexes:
- Every simplex is trivially a simplicial complex.
- A collection of points is a simplicial complex with all simplices of degree .
- An unfilled triangle is a simplicial complex with simplices of degree , .
- Non-triangular shapes such as this "butterfly" are also simplicial complexes, this one of degree , .
- This is the same shape as the unfilled butterly, except now containing a simplex of degree 2: the filling in of the bottom of the butterfly.
Non-examples of simplicial complexes are:
- This does not contain the point at the lower-left corner, which should exist since it is a boundary of the straight line. This violates rule (1): Every boundary of a simplex from is in
- This does not contain the points which are at the intersection of the triangle and the line. This violates rule (2): The intersection of any two simplices in is also in .
§ Holes in a space: Homology of a triangle
Let's consider the simplest possible case of computing the homlogy, and we do so, we will expand on what homology is , and what we're trying to do.
Look at the triangle above. We have the red, green, and blue vertices, which I'll notate . We also have the edges that are orange ( ), cyan ( ), and magenta ( ).
What we are interested in doing is to be able to detect the "hole" in the
triangle in between the edges o-m-c. That is, we want some algorithm which
when offered the representation of the triangle, can somehow detect the hole.
Note that the hole doesn't really depend on the length of the edges. We can
"bend and stretch" the triangle, and the hole will still exist. The only way
to destroy the hole is to either cut the triangle, or fill in the triangle.
We first need to agree on an abstract representation of the triangle, which ideally does not change if we were to stretch out the edges, before we can discuss how we can detect the existence of the hole.
§ Representation of the triangle: boundary operators
We first describe the shape of the triangle in terms of two sets, and representing the edges and the vertices, and a function , called as the boundary operator, which tells us how edges are glued to vertices.
We first have a ground set of edges and a set of vertices .
What we now need is to know how the edges are connected to the vertices, since that's what really makes a triangle. We would like to say something like "the boundary of the edge has points ". In fact, we have slightly more information than that: the orientation . So what we really ought to be saying is "the edge points from to ".
To do this, we create a map from to , where we think of as a "vector", pointing from to . But hang on, what is ? we don't have a mathematical structure on that lets us add and subtract vertices. So, we create a new set , which represents linear combinations of vertices in . Similarly, anticipating some future development, we also create a new set of linear combinations of edges .
§ Formal definition of the boundary operator
We define that represents linear combinations of edges. For example, represents --- that is, take 1 copy of the orange edge, 2 copies of the magenta edge, and 3 copies of the cyan edge.
We define which represents linear combinations of vertices. For example, represents --- that is, take a copy of the red vertex, subtract the green vertex, and add two copies of the blue vertex.
The boundary operator is depicted in the picture. This operator sends edges to their boundary , and is therefore called the boundary operator . The boundary of an edge describes the edge in terms of vertices, just like we would describe a direction vector (to borrow physics parlance) by subtracting points.
The action of the operator on a linear combination of edges is:
Now, notice that to traverse the cycle, we should traverse the orange edge, then the magenta edge, then the cyan edge, in that direction. That is, the cycle can be thought of as . However, how do we detect this cycle? The key idea is that if we look at the image of the cycle under the boundary operator , we will get ! For us to have completed a cycle, we must have both entered and exited each vertex, so the total sum must be .
Formally:
§ Formal definition of cycles
This is very nice, since we have converted the topological invariant of a hole in the space into an algebraic invariant of "linear combination of edges that map to 0". That is, we want to consider all thoose loops that belong to the kernel of . (Terminology: the kernel of a linear transformation is the set of all things in the domain which map to zero)
So, we define (tentatively) the first homology group:
If we try to compute this, we will have to have:
So, we know that we have a worth of cycles in our triangle, which makes sense: We can go clockwise (positive numbers) and counter-clockwise (negative numbers) around the triangle, and we can go as many times as we wish, so we have as the number of cycles.
that is, it's the linear combination of edges that map to zero through the boundary map. Note that this also includes combinations such as two loops around the triangle, such as .
§ (No) Holes in a space: Homology of a filled triangle
In this case, notice that the triangle is filled with a face . Therefore, the "hole" that we had previously is now filled up, and does not count anymore. So, we now need to amend our previous definition of to kill the hole we had detected.
The idea is that the hole we had previously is now the boundary of the new face . Since it is the boundary of a "filled in" region, it does not count anymore, since we can "shrink the hole" across the face to make it a non-loop. Hence, we need to quotient our with the boundary of the face.
Formally, what we do is we create another group , which counts copies of our face , and we define another boundary operator, such that the boundary of the face is .
Now, we should notice that the image of is a loop , which lies ie the kernel of . This is a general feature of homology, so it bears repeating:
- The above equation is sometimes stylishly (somewhat misleadingly) written as . More faithfully, one can write .
Now, since the image of lies entirely in the kernel of , we can construct as: