a repository of mathematical know-how

If your topological invariant takes integer values, they may well be homology classes in disguise

Quick description

There are several examples of two-dimensional topological invariants that take integer values, and that do not appear to have numerical generalizations in higher dimensions. When this is the case, it may well be that the correct way of generalizing your invariant is to regard the integers as elements of a homology or cohomology group. Then you may well be able to generalize it to higher dimensions by looking at higher homology or cohomology groups.


Basics of algebraic topology


The main content of this article is an extended discussion of Brouwer's fixed point theorem. This could be thought of as one long example with various sub-examples of increasing dimension. Throughout the discussion we shall argue somewhat informally, since the main aim is not to give a rigorous development of homology theory, but rather to help the reader (or rather the reader who needs help with this) to recognise the kinds of circumstances in which homology is likely to be a useful tool. To do this properly would take many more articles, since there are many kinds of homology in many different contexts. But it is at least a start.

Example 1: How thinking about Brouwer's fixed point theorem leads naturally to cohomology

Part 1. The intermediate value theorem.

Here is an informal argument for the intermediate value theorem. Let f be a continuous function from [0,1] to \R and suppose that f(0)<0 and f(1)>0. For every real number r let X_r be the set of t\in[0,1] such that f(t)=r. Although our official assumption is merely that f is continuous, we shall pretend that a bit more is true and f is a reasonably straightforward continuous function, so that for instance X_r is always a finite set. (It is possible to deduce the general case from simplified cases when f is well-behaved in this kind of way.)

Our strategy will be to understand well enough how the sets X_r vary as r varies to be able to prove that they are non-empty whenever r lies between f(0) and f(1). For convenience we shall assume that f(0) is the minimum value taken by f. (This is not a huge assumption, since we can replace f by the continuous function \max\{f(x),f(0)\}, and we can perturb that slightly so that no value is taken more than finitely many times.)

A first observation that is encouraging is that typically if you perturb r by a very small amount, then X_r also changes in a very small way: if it contains k points then those points just move slightly. When r=f(0), X_r consists of the single point 0, so we might hope that there is no way of making X_r disappear.

On the other hand, a slightly discouraging observation is that it is possible for points to appear and disappear. To see this, one can think of X_r as the set of x-coordinates of the points where the line y=r intersects the graph of f. If this line crosses over a local minimum of the graph, then a new point appears that splits immediately into two, and if it crosses a local maximum then two points come together and disappear.

But one then spots that these creations and annihilations of points always seem to create or annihilate pairs of points (except at the very moment of creation when you have a point of tangency). Since the number of points in X_{f(0)} is 1, and therefore odd, the number of points will always be odd (again, except when the line y=r is tangent to the curve somewhere).

Another way of looking at this is to consider whether the graph of f is crossing the line y=r upwards or downwards. The points in the set X_r will start with an up crossing, then alternate between down and up crossings, ending with an up. And although the number of crossings may change, the number of up crossings minus the number of down crossings will be constant. Since it starts as 1, it is always 1.

Part 2. Brouwer's fixed point theorem in two dimensions.

Now let us give an informal proof of a statement that is easily seen to be equivalent to Brouwer's fixed point theorem. The statement is that if f is a continuous map from the square S=[-1,1]^2 to itself, and if f(u,v)=(u,v) whenever (u,v) is on the boundary of the square (which happens when either u or v is either -1 or 1), then there must exist (x,y) such that f(x,y)=(0,0).

There are many informal (but convincing) arguments for this. The one we choose here is not obviously the best, but it is good from the point of view of demonstrating how the notion of homology emerges naturally, and it is a natural generalization of the discussion of the intermediate value theorem above. What we shall do is look for each s at the set P_s of points (x,y) such that f(x,y)=(s,t) for some t. That is, we shall take the vertical line segment L_s from (s,-1) to (s,1) and look at its inverse image under f.

To simplify matters, let us assume to begin with that f is a reasonably smooth bijection. If g is the inverse of f, then P_s=g(L_s) is a path from (s,-1) to (s,1). Therefore, P_0=g(L_0) is a path from (0,-1) to (0,1), and f is a continuous function from this path to L_0 that begins at (0,-1) and ends at (0,1). Hence, by the intermediate value theorem it must cross (0,0).

Of course, this is not much of an achievement: if f is a bijection then of course there is a point that maps to (0,0). However, it does suggest a line of attack when f is not a bijection: as we did when thinking about the intermediate value theorem, we just try to think what the sets P_s could possibly look like and how they could vary as s varies.

Here is an example that shows the kind of thing that can happen as s goes from -1 to 1. When s=\pm 1, P_s equals the line segment L_s. Now imagine starting at s=-1 and taking P_s=L_s for a while, but then at a certain time u, letting P_u be the union of L_u with one further point, which necessarily lies to the right of L_u (since the sets P_s are disjoint). As s increases from this u, let the point turn into a tiny circle that expands until at some moment v it becomes tangent to L_v. At this stage, all points inside the circle or to the left of L_v have been used, but we can think of P_v as a path that goes up L_v from (v,-1) until it touches the circle, goes once anticlockwise round the circle, and continues up L_v to (v,1). This path can be continuously deformed through the unused region until it reaches L_1. For example, if s is just a tiny bit larger than v, then P_s could start at (s,-1), go up until it nearly hits the circle that touches L_v, go round keeping close to that circle until it hits L_s again, and continue on up to (s,1).

The animation below is clearer than a verbal description could ever be. Many thanks to Andrej Bauer for kindly providing it.

Homologous one-dimensional sets
Homologous one-dimensional sets

Here is another way of thinking about this example. Imagine the graph of the function that takes a point (x,y) in [0,1]^2 to the x-coordinate of f(x,y). Then P_s is the set of points in this graph of height s. If f were the identity function, then P_s would equal L_s, and the graph would be a flat shape that sloped upwards at 45 degrees. If you intersected this graph with an ever-rising horizontal plane, you would see a unit line segment that moved steadily to the right, and the segment would be a contour line of the graph. The second example above was what you might get if you pushed part of the graph far enough downwards to make a local minimum. Now when the horizontal plane moved up, the intersections with the graph would start as before, but then the plane would touch the graph at the local minimum, adding a point to the intersection, and after that the point would expand into a closed curve, which would eventually touch the line (when the horizontal plane reached some kind of saddle point of the graph) and in general exhibit the kind of behaviour discussed in the last paragraph and in the animation.

In any case, what we have just established is that the sets P_s do not have to be paths, or even connected sets: they can for example be disjoint unions of paths with closed curves. However, all is far from lost. It seems that whatever the graph looks like, the only ways that the sets P_s can change are as follows. You have a path that gradually moves to the right. Sometimes little closed curves can appear and grow. Sometimes these curves expand to the point where they touch each other. Immediately after they touch, the point where they touch pulls apart and the two curves have become one. And the reverse can happen: two parts of a curve can come round and meet each other, and a loop can break off, shrink, and disappear.

But it seems as though whatever you do, P_s will always contain a path from (s,-1) to (s,1). And since f is a continuous function from P_s to L_s, if that is the case, then by the intermediate value theorem there must be a point on this path where f takes the value (s,0). In particular, this is true when s=0.

Brouwer's fixed point theorem in three dimensions.

Let us not try to prove rigorously that P_s contains a path from (s,-1) to (s,1). Instead, let us assume that the argument just given was basically OK and see whether we can develop it into an inductive proof of Brouwer's fixed point theorem, which we might hope to be able to do, given that we used the one-dimensional version (the intermediate value theorem) to prove the two-dimensional version.

This time we shall take a continuous function [0,1]^3\rightarrow[0,1]^3 that fixes the boundary, and attempt to persuade ourselves that there must be some (x,y,z) such that f(x,y,z)=(0,0,0). And to generalize the previous two arguments, for each s\in[-1,1] we shall define P_s to be the set of all (x,y,z) such that the x-coordinate of f(x,y,z) is s. We shall then think about how the sets P_s can vary as s goes from -1 to 1, in the hope of being able to say enough about P_0 to establish that it must contain a point that maps to (0,0,0).

What do we know about the sets P_s (again, assuming for convenience that f is a reasonably nice and generic function, which it will always be after a suitable perturbation)? We know that if s=\pm 1, then P_{-1} is the square |u|,|v|\leq 1\}, that in general P_s contains the set \max\{|u|,|v|\}=1\}, and that the sets P_s are disjoint and vary continuously. We can think of them as "contour planes" of a continuous function defined on [0,1]^3, though now the graph of the function, being a four-dimensional object, is difficult to visualize.

Given this set-up and what we want to prove, an obvious hypothesis suggests itself, which generalizes what appeared to be the case, even if we did not prove it, in two dimensions. Perhaps for every s the set P_s contains a set Q_s homeomorphic to a square, with boundary the set \max\{|u|,|v|\}=1\}. If so, then we would have a continuous function from Q_s to the square |u|,|v|\leq 1\}, which we could convert, by suitable compositions, into a continuous function from the two-dimensional unit square to itself that fixed the boundary. Applying the two-dimensional result, we would then find a point that mapped to (0,0) which we could then translate back to a point that mapped to (0,0,0).

This all feels very promising. Unfortunately, it doesn't work, as the following example shows. Define L_s to be the square |u|,|v|\leq 1\}. And now, as s increases let P_s begin by equalling L_s. Then at a certain moment, allow a point to appear to the right of L_s, which immediately becomes a small sphere. As s continues to increase, let this sphere expand but at the same time elongate into a sausage shape, which bends round until the two ends meet. Just after they meet, let the meeting point disappear so that the sausage is now a torus. (All the while, L_s forms another part of P_s that has made no contact with the sausage/torus.) A bit later, as the torus expands and L_s keeps moving towards it, the inevitable happens and they touch. Just after contact is made, the point of contact disappears, and now P_s has become a surface whose boundary is the set \max\{|u|,|v|\}=1\}. This surface is no longer homeomorphic to a square, but rather to a square with a handle. As s continues to increase, this handle gets fatter and fatter (imagine a donut that you ice more and more until the hole disappears) until eventually it ceases to have a hole and P_s is once more a surface homeomorphic to a square that moves continuously over to L_1.

If that made any sense, it has shown that P_0 can have an interesting topology. And clearly we could have given P_0 many more handles if we had wanted to. So where does that leave our project of finding an inductive proof of Brouwer's fixed point theorem?

Well, it shows that the two-dimensional statement does not directly imply the three-dimensional statement, because the two-dimensional statement is too weak (as it just concerns surfaces that are homeomorphic to a square). But this is not a reason to give up trying: it is just an invitation to strengthen our inductive hypothesis.

How might we do this? An obvious answer is to try to work out what surfaces can arise in the three-dimensional problem and to prove an appropriate two-dimensional statement for all such surfaces.

Let us assume what in fact turns out to be the case: that in the three-dimensional problem P_0 will always have the topology of a square with some handles. Then the appropriate two-dimensional statement is that if you have a surface with that topology bounded by a square, and if you map the surface continuously to the square in such a way that the boundary is fixed, then the image of your map must contain the centre of the square.

Since we don't want to throw away our earlier ideas, let us see if we can use the methods we had before to argue that this must indeed be the case. For consistency, let the square be |y|,|z|\leq 1\}, so the surface is bounded by \max\{|y|,|z|\}=1\}. And for each s, let us now define R_s to be the inverse image of the line segment |z|\leq 1\}. That is, R_s is the set of all points in the surface that map to a point with y-coordinate equal to s.

We are in much the same situation as before, except that now our contour lines lie on a surface with handles instead of on a square. So how can they behave? Clearly little circles can form, expand, merge, pinch off and contract, just as before. But what about the handles? How do the curves (or collections of curves) R_s get past handles?

To get a feel for this, imagine gradually lowering a torus into a basin of water and looking at the behaviour of the curve of points that are level with the surface of the water. Initially you will get a point, which will expand into a closed curve that will elongate. Then as the water starts to go over the whole of the bottom part of the torus, the elongated curve will pinch in the middle until it forms a figure of eight, which will then turn into two closed curves that will move away from each other. They will then come back and the whole process will be reversed.

The point to note here is that we are not observing any new phenomena: we still have little closed curves forming and merging with other curves, or being pinched off and disappearing. So it looks as though we have the ideas for a proof, even if we do not yet have the proof.

General discussion

The point of this article is not to turn the above arguments into a rigorous proof, though that could undoubtedly be done. Rather, it is to draw attention to the kinds of thoughts that went into the arguments: thoughts about collections of curves with mergers and pinchings, about tidy arguments in low dimensions that do not generalize quite as one might hope to higher dimensions, and so on. All these are signs that homology is involved. And if that is the case, then the work that you would need to do to make the above arguments rigorous has already been done, so it is better to learn how to use the machinery that has been built. Best of all is of course to understand how the machinery is built, but the point is that the somewhat complicated work needed to make it rigorous should be done once and for all, and after that the machinery can just be used.

What are homology groups?

One way of thinking about homology is as what one might call "soap-bubble homotopy". For example, if one is looking at curves in the plane with a few points x_1,\dots,x_k removed, then two closed curves C_1 and C_2 will be homotopic if you can continuously deform C_1 to C_2 without crossing any of x_1,\dots,x_k, and the fundamental group of \R^2\setminus\{x_1,\dots,x_k\} is formed out of homotopy classes. To be more accurate, the elements of the fundamental group are homotopy classes of closed curves that begin and end at one particular arbitrarily chosen point, known as the base point.

With homology, one no longer needs to bother with base points. But a bigger difference is that the basic objects are not closed curves but collections of closed curves (just as we were seeing in the discussions above). One can define a cycle to be a collection \{C_1,\dots,C_m\}, where the C_i are closed curves (thought of as continuous functions \gamma_i from [0,1] to \R^2 such that \gamma_i(0)=\gamma_i(1)) that do not have to be distinct. (So the collection is not a set but a multiset.)

There is an equivalence relation on cycles that is given by the following rules. Let us think of a cycle as a collection of not necessarily closed paths P_1,\dots,P_n that can be put together to form a collection of closed paths. Then we are allowed to reparametrize the P_i, or cut them up into smaller paths, or put two paths together if the end point of one is equal to the start point of another. We are also allowed to cancel two paths if one is the same as the other, but backwards. Finally, and most importantly, we are allowed to do continuous deformations of these paths as long as at every stage they can be put together to form collections of closed paths. This allows operations such as a circle stretching into a (two-dimensional) sausage shape, the two ends bending round until they meet, and then the point where they meet pulling apart so that you have two circles, one inside the other, traversed in opposite directions. Two equivalent cycles are called homologous, and the equivalence classes are called homology classes. The homology classes are the elements of the homology group. To add two homology classes, pick representatives \{C_1,\dots,C_m\} and \{D_1,\dots,D_n\} and take the homology class of the multiset \{C_1,\dots,C_m,D_1,\dots,D_n\}.

All this generalizes to higher dimensions. For example, if you have two spheres in some space and can continuously deform them until they touch (and if they are oriented in the same way), then the point where they touch can open up and the two spheres can become one sphere. In the other direction, you can pinch the equator of a sphere down to a point and then split that point up so that you have two spheres. And so on.

Now imagine taking two closed surfaces S_1 and S_2 in \R^3\setminus\{(0,0,0)\} and gradually deforming them. If they are reasonably generic, then their intersection will be a one-dimensional set, and since that one-dimensional set will not have end points, it will be a collection of closed curves. (As an example, two spheres intersect in a circle, and a torus can intersect a suitably placed large sphere in two paths that are almost circles.) As the surfaces S_1 and S_2 move, so does their intersection, and the way it can move is remarkably similar to the processes we have described above: closed paths can merge or split, and so on. (Indeed, the description of a torus intersecting a plane was very much like this, though here we are thinking of closed bounded surfaces.) This observation suggests that the intersection of two homology classes is a well-defined homology class. That is, if you take two cycles in some space and intersect them, then the homology class of their intersection should be unchanged if you replace the cycles with homologous ones.

Under many circumstances, this is indeed the case, and it leads to the notion of cohomology. Given a d-dimensional manifold M, the cohomology group H^n(M) consists of homology classes of codimension n, with addition defined just as it is in the homology group. This might seem rather artificial, since all we have done is taken the homology group and given it a new name (H^n(M) instead of H_{d-n}(M)), but there are two immediate reasons for its being natural. The first is that if we have a continuous map from M to an n-dimensional manifold, then the inverse image of a point will, in the generic situation, be a set of codimension n, and this is indeed the situation we found ourselves in above. Secondly, the intersection of two cohomology classes (as defined in the previous paragraph), one in H^n(M) and the other in H^m(M), belongs to H^{n+m}(M). It can be shown that this binary operation turns the group H^0(M)\oplus\dots\oplus H^d(M) into a graded ring: addition is defined pointwise, and multiplication is the obvious extension of the intersection operation just defined. This extra multiplicative structure is what gives cohomology its advantage over homology.

Example 2: How thinking about Brouwer's fixed point theorem leads naturally to cohomology

Let us return to the discussion about Brouwer's theorem, this time assuming that all the basic facts about cohomology (chiefly that the product operation is well-defined) have been established. How can we convert the informal arguments into a statement about cohomology?

First, let us rephrase the problem very slightly. We have a continuous function f from [-1,1]^3 to itself that fixes the boundary, and we want to prove that (0,0,0) has a preimage. We have been trying to do this by first understanding the inverse image of x=0\}, and then inside that the inverse image of x=y=0\} and finally inside that the inverse image of \{(0,0,0)\}. Our hope has been that the first set, being homologous to a square, is sufficiently similar to a square for the two-dimensional argument to continue to be valid.

This discussion is slightly complicated by the presence of the boundary, so our trick will be to convert [-1,1]^3 into a three-dimensional torus \mathbb{T}^3 by identifying parts of the boundary appropriately. To be precise, we shall identify (1,y,z) with (-1,y,z), (x,1,z) with (x,-1,z) and (x,y,1) with (x,y,-1). If we do this, then we can convert our continuous map [-1,1]^3\rightarrow[-1,1]^3 that fixes the boundary into a a continuous map \mathbb{T}^3\rightarrow\mathbb{T}^3, since f always maps equivalent points to equivalent points. Then our aim is to prove that (0,0,0) is contained in the image of F.

For i=1,2,3 let T_i be the two-dimensional torus defined by taking all points (x_1,x_2,x_3)\in\mathbb{T}^3 such that x_i=0. Then F^{-1}(0,0,0) is the intersection of the three sets F^{-1}(T_i), each of which is the inverse image of 0 under the continuous function \gamma_i that takes (x,y,z) to the ith coordinate of F(x,y,z).

Let us write that less wordily: we are trying to prove that \gamma_1^{-1}(0)\cap\gamma_2^{-1}(0)\cap\gamma_3^{-1}(0)\ne\emptyset. (Strictly speaking we should write \gamma_i(\{0\}) here.) Now each set \gamma_i^{-1}(0) is a representative of some element of the cohomology group H^1(\mathbb{T}^3), and if we let s vary from 0 to 1, the sets \gamma_i(s) will move in a soap-bubbly way from \gamma_i(0) to \gamma_i(1), which is an informal way of saying that the cohomology class of \gamma_i(s) remains constant. Therefore, since the product operation is well-defined, the cohomology class of the intersection \gamma_1^{-1}(0)\cap\gamma_2^{-1}(0)\cap\gamma_3^{-1}(0) is the same as the cohomology class of the intersection \gamma_1^{-1}(1)\cap\gamma_2^{-1}(1)\cap\gamma_3^{-1}(1). But that intersection is (at least in the case where no internal points map to the boundary) just the point (1,1,1) (together with a plus sign that comes from the way the three sets \gamma_i^{-1}(1) are oriented) and is therefore a non-trivial element of the cohomology group H^3(\mathbb{T}) (which is isomorphic to \mathbb{Z}). It follows that \gamma_1^{-1}(0)\cap\gamma_2^{-1}(0)\cap\gamma_3^{-1}(0) is non-empty, since otherwise its cohomology class would be 0.

General discussion

The moral of the article so far (this is probably all that I am going to write, but maybe others could add some more examples), is that if your intuition tells you that inverse images of points or other nice sets should vary in a soap-bubbly way, then the effort of making that intuition precise has been done for you and encapsulated in the notion of a homology or cohomology group.

This is of course just the beginning of a huge story: there are many kinds of cohomology, and many applications that are nothing like the one just given. But it gives a start.

As a final remark, what is the meaning of the title of this article? Well, the homology group H_0(M) of a manifold M consists of equivalence classes of finite sets of points, each with a sign attached. Two points of opposite sign can come towards each other and then cancel out, and a pair of points of opposite sign can be created ex nihilo. (Think back to the intermediate value theorem and the crossing points of a graph with a horizontal line.) The sum of the signs is obviously invariant, and this invariant takes values in \mathbb{Z}. So the point is that if you have defined an integer invariant, and if it involved adding up signs attached to points, then the values of your invariant are really elements of a zeroth homology group. Once you think this way, then it makes it much clearer how to generalize your invariant to higher dimensions.

The connection with more usual definitions of homology

What has all this to do with cycles, boundaries, and homology as a measure of the non-exactness of a sequence of boundary maps? As we have already said, the purpose of this article is not to give a complete introduction to homology theory (or theories) but let us at least see why the notion of homologous cycles discussed above is closely related to the notion of simplicial homology. (Similar discussions could be given for other common notions, such as singular homology or de Rham homology.)

Let us fix on the example of the two-dimensional torus \mathbb{T}^2. The homology groups of \mathbb{T}^2 are H_0(\mathbb{T})=\Z, H_1(\mathbb{T})=\Z^2, and H_2(\mathbb{T})=\Z. One can see intuitively why this is plausible. The reason H_0(\mathbb{T})=\Z is that the cycles in H_0(\mathbb{T}) are collections of signed points, and two cycles are equivalent if they have the same sum of signs. This is because one can cancel out all positive-negative pairs until one has just a collection of points of the same sign, and any such collection can be continuously deformed to any other. (More generally, H_0 of a space is the number of components of that space.)

As for H_1(\mathbb{T}, if we think of it as the unit square with opposite edges identified, then it is generated by (the homology classes of) two curves C_1 and C_2 that would be represented as horizontal and vertical line segments with their ends identified. These are paths on the torus that go round it in different ways. For C_1 and C_2 to generate \Z^2, it is necessary that C_1C_2C_1^{-1}C_2^{-1}=0. To see that this is indeed the case, represent C_1 as a horizontal path that starts at (0,0), goes right to (1,0), jumps back to (-1,0) and goes right to (0,0) again, and represent C_2 as a vertical path that starts at (0,0), goes up to (0,1), jumps to (0,-1) and goes up to (0,0). When drawn on the unit square, these two curves form a cross. Now with a little thought one can see that C_1C_2C_1^{-1}C_2^{-1} is homologous to a path that starts at (\delta,\delta), goes horizontally round the torus until it gets to (-\delta,\delta), goes up round the torus until it gets to (-\delta,-\delta), goes backwards horizontally until it reaches (\delta,-\delta), and finally goes down until it reaches (\delta,\delta) again. Indeed, if we let \delta vary from 0 to 1, this defines a contraction of C_1C_2C_1^{-1}C_2^{-1} to a point.

Finally, a closed surface in \mathbb{T}^2 has to be \mathbb{T}^2 itself, so a cycle is a sum of copies (with orientation) of \mathbb{T}^2, so H_2(\mathbb{T}^2)=\Z^2.

Now how does one think about this if one is doing simplicial homology? The first step is to triangulate the torus. To relate simplicial homology to the discussion so far, it will help to imagine that this triangulation is a very fine one (meaning that the triangles are small and there are a lot of them). One of the things you have to do when setting up simplicial homology is check that the calculations do not depend on the triangulation you choose.

We now form three Abelian groups. One of them, G_2, is generated by the faces of the triangulation, or more accurately by oriented faces. We have a choice here, but since the torus is an orientable surface, we may as well orient all the faces in the same way. Another group, G_1, is generated by the directed edges. Here again we have a choice about how precisely to define the group, but let us go for a fairly natural convention where we arbitrarily direct each edge and choose these directed edges as generators for our group, but we also understand that the two directed edges corresponding to any given undirected edge are inverses in the group (so we don't really need to say which is the generator and which is minus the generator). The third one, G_0, is generated by the vertices. For example, a typical element of the face group will have the form \sum_{i=1}^na_iF_i, where a_1,\dots,a_n are integers and F_1,\dots,F_n are (oriented) faces of the triangulation.

The boundary map \partial takes elements of the face group to elements of the edge group, and elements of the edge group to elements of the vertex group, and it does so as follows. Given a face F, we define its boundary to be the sum of the three directed edges that go round F anticlockwise (relative to some fixed orientation of the torus itself). We denote this by \partial F. And given a directed edge E from x to y, we define its boundary \partial E to be y-x.

Suppose that F is a face with vertices xyz going round anticlockwise. Then \partial F=xy+yz+zx (where for instance xy denotes the directed edge from x to y). Therefore, \partial^2(F)=y-x+z-y+x-z=0. Thus, \partial^2=0, which is the same as saying that the image I_1=\partial(G_2) is contained in the kernel K_1 of the map G_1\rightarrow G_0. The homology group H_1(\mathbb{T}) is defined to be the quotient K_1/I_1. In other words, it consists of boundaries of collections of faces, with two such boundaries considered to be equivalent if their difference maps to zero under a further application of the boundary map.

This is a bit abstract, but after a little thought one can see that it is very similar to the geometrical quasi-definition of homology given earlier. For instance, the elements of K_1 can be thought of as cycles by our earlier definition: they are sums of directed edges, but in order to belong to the kernel of the boundary map, each vertex must have the same number of directed edges going in as coming out. If this is the case, then a greedy algorithm can be used to decompose the sum of edges into closed paths. One simply starts at a vertex and follows directed edges, removing them when used. Because the number of edges going into a vertex is the same as the number of edges coming out, the only way that one can arrive at a vertex and be unable to leave it is if one arrives back at the initial vertex. If that happens, one has gone along a closed path. Removing that entire closed path, one still has a sum of edges with the number of edges going into each vertex always the same as the number of edges coming out. So by induction we get the desired decomposition.

What about the elements of I_1? Let us start with some small ones. The element \partial F is a triangular path that goes round F anticlockwise, and the element -\partial F is the same path but clockwise. We can make much bigger closed curves in I_1 by taking a triangulated patch of the torus and following its boundary. To see that this longer closed curve is an element of G_1, notice that if you add up the boundaries of all the faces inside it, then any internal edge appears in opposite directions in two adjacent faces and therefore makes a zero contribution. The only directed edges that do not cancel out like this are the ones on the boundary of the triangulated patch. Of course, we could have taken two triangulated patches and ended up with two closed curves, or we could take the same triangulated patch but attach a coefficient of 2 to it, and so on.

All these closed curves are homologous to zero. This is true by definition if we take the algebraic definition. But it is also true geometrically: if you have a closed curve that goes along edges of the triangulation, and you add to it the boundary of a triangle that shares one of the edges, but in the opposite direction, then you have effectively replaced that edge by the other two edges of the triangle, and in that way slightly perturbed the curve. By a process of adding triangles, you can do a discrete version of the continuous deformations discussed earlier, including mergers of closed curves, appearances of small closed curves out of nowhere, and so on.

This suggests another way of thinking about the earlier definition. We can regard a (directed) curve as homologous to zero if it is the boundary of some region. So for example, in the torus a small circle will be homologous to zero, because its interior is a patch of the torus. But a circle that loops round the torus will not be homologous to zero because it is not the boundary of a region. (You might think that it was the boundary of the whole of the torus, but that is wrong because the boundary of the torus would consist of two copies of the circle going in opposite directions. These would cancel and you would get a zero boundary, just as you would expect given that the torus is a surface without a boundary.)

Of course, this whole discussion generalizes to higher dimensions in a reasonably straightforward way. One small technicality is that whereas in two dimensions you can define triangulations quite easily using the standard triangular lattice, it is not quite so straightforward to tile three-dimensional space with tetrahedra, or higher-dimensional space with simplexes. However, there is a nice trick for doing this, called barycentric subdivision.

What next?

It is one thing to recognise when homology and cohomology are arising. But what if you want to compute homology and cohomology groups? In the discussion above, we simply stated that the homology groups of the torus were \Z, \Z^2 and \Z, but how can this be justified? Once again, one does not have to do so from first principles, because there are theorems that help you to say what the homology groups of a space are in terms of how it is built up from smaller spaces. See how to compute the (co)homology of a space for more details.


Inline comments

The following comments were made inline in the article. You can click on 'view commented text' to see precisely where they were made.

Do you think that it is worth

Do you think that it is worth mentioning explicitly in this discussion that if your closed curve bounds a disk in the domain under discussion, then it can be shrunk down to a point, and so is null-homologous?

Your discussion is quite geometric, and I can see that you are trying to ilustrate how one might go from certain geometric/function-theoretic observations to the realization that the language of homology is an appropriate to employ; hence, the fact that many apparently non-trivial cycles are in fact homologically trivial is not what you want to emphasize, I would guess. So perhaps what I am really asking is whether it would be worth saying more about how to connect your discussion with the usual technical definitions of homology theory, or should one leave well enough alone?

Actually I was thinking that

Actually I was thinking that I should also talk about quotients of boundary maps and that kind of thing. It could probably be done at the same sort of informal level, and might be useful for people who wanted to relate the above account to what they might have seen in an algebraic topology course.

I do think that it could be

I do think that it could be useful. Perhaps it would belong under a new section heading, so as not to clutter up what you've already written.

Inline comments

The following comments were made inline in the article. You can click on 'view commented text' to see precisely where they were made.

An animation

Download the animation from and insert it here. It is an animated GIF, so all that is needed is insertion of an image.

just a comment

I just want to say that this is a beautiful and very helpful article; I am learning a great deal reading it. Thank you. While at expressing feelings, thanks to everyone for writing these amazing articles. What a great resource tricki is becoming.