Cohomology ---------- Okay, so I did a little more reading on cohomology. Munkres has most of the interesting results, although it takes quite a bit of work to extract them and put them together. There's a book by Dieudonne called "A History of Algebraic and Differential Topology from 1900 to 1960" that's pretty amazing. But be warned; the mathematicians of the time came at some simple concepts from some pretty complicated angles! The basic duality ideas come out of the idea of dual polyhedra, which can be generalized to compact, orientable, n-manifolds. It should be possible to present algebraic topology from this point of view, but none of the books seem to do it. There's a picture on page 374 of Munkres of how to take the dual of a simplicial complex. Boundary of a boundary ---------------------- Dieudonne has a neat intuition about d^2 = 0 (page 4): "For instance, the points on the frontier of a closed disk in R^2 look different from the interior points, whereas on the frontier any two points look alike." Cochains and Cocycles --------------------- The 1-chains of a simplicial complex are formal linear combinations of edges with coefficients in an abelian group G. The cochains are linear functionals on chains. The edges form a a basis for the group of 1-chains. The dual of this basis are maps e^i: C_i --> G such that e^i(e_i) = 1, and 0 otherwise. In other words, the cochain basis element corresponding to an edge is the projection from a chain to its coefficient for that edge. Let's do an example of the coboundary operator. Here's a complex, with faces F1 and F2 and edge E: ------------- | | | | F1 E F2 | | | | ------------- Usually, everything is oriented. Take a 1-cochain which is 1 on E and 0 on all the other edges. It's the dual basis element corresponding to E. Its coboundary is a 2-cochain which is 1 on F1 and 1 on F2, since E occurs with coefficient 1 in the boundaries of F1 and F2 (or possibly -1, but we were ignoring orientation). But cocycles are strange. The generators for the cohomology of the torus are two "picket fences" which look like --->^ / / / /-->^ / / / /-->^ / / / / Wrap one of these each way around the torus. The strange thing is the orientation of the edges -- they alternate instead of going the same direction. The cycles which generate the homology of the torus all go the same direction. Now these cochains ought to correspond to 1-CYCLES in the HOMOLOGY of the space DUAL to the torus. What space is that? Probably the torus; I'm not sure. To quote Bott and Tu (Differential Forms in Algebraic Topology, page 4), "One of the hallmarks of a topologist is a sound intuition for the coboundary operator." The introduction to their book, if you can understand it, is fantastic. The book itself is a bit too dense. Zero-dimensional homology and cohomology groups ----------------------------------------------- Bott and Tu's first sentence: "The most intuitively evident topological invariant of a space is the number of connected pieces into which it falls. Over the past 100 years or so we have come to realize that this primitive notion admits in some sense two higher-dimensional analogs. The are the homotopy and homology groups of the space in question." This is quite an understatement, but the zero-dimensional homology and cohomology groups are indeed Z^n, where n is the number of connected components. Any vertex is a zero cycle, but two vertices are homologous if they differ by an edge, so that the 0-dimensional homology is generated by any single vertex. Homology counts "cycles which aren't boundaries" by forming quotients of abelian groups. So any two vertices which differ by an edge are put into the same equivalence class in the homology group. The 0-dimensional homology is a product of coefficient groups, one for each connected component of the space. And the 0-cohomology is the same, corresponding to the idea that a connected component is a subspace on which "every locally constant function is globally constant" (Bott and Tu, page 2). Munkres also mentions that H_0 is a direct sum of infinite cyclic groups, where H^0 is a direct product. That would make a difference if the space has an infinite number of connected components. The generators for homology and cohomology ------------------------------------------ Let's take a simple example, a 1-complex. V1 ----E1--> V2 ^ | | E2 E4 | | v V4 <---E3--- V3 We have: Group Isomorphic to Generator(s) ----- ------------- ------------ H_0 Z V1 (or any other vertex) H_1 Z E1 + E2 + E3 + E4 H^0 Z V1* + V2* + V3* + V4* H^1 Z E1* (or the dual of any other edge) V1* = the map which is 1 on V1 and 0 on V2, V3, V4. Imagine the dual complex and you'll see what's going on. This is probably the only concrete example of duality in this note! Duality Theorems ---------------- The duality theorems are for a compact, triangulated manifold of dimension n. If it's orientable, you can anything as a coefficient group. If it's non-orientable, you have to use Z/2, which has the effect of ignoring orientation! * Poincare duality: H_p(X) == H^(n-p)(X) So this comes from the intuitive idea that the cohomology of a complex is the homology of its dual. Munkres uses Poincare duality to compute cohomology rings of manifolds. This leads to proofs of the Borsuk-Ulam and Ham sandwich theorems. Borsuk-Ulam: If h : Sn --> Rn is continuous, then h(x) = h(-x) for some x in Sn. Ham sandwich: Given n bounded measurable sets in Rn, there is an n-1 plane in Rn that bisects each one. * Lefschetz duality: H_p(X,A) == H^(n-p)(X - A) H^p(X,A) == H_(n-p)(X - A) This is the relative version of Poincare duality. It's interesting, because H(X,A) is the homology of X with all points of A identified to a point (modulo that point also, for what difference it makes), whereas H(X - A) is the homology of X with A removed. These are quite different operations! Taking A to be the boundary of the manifold, you get H_p(M, Bd M) == H^(n-p)(M) H^p(M, Bd M) == H_(n-p)(M). So we're talking about removing the boundary of a manifold by shrinking it to a point. * Alexander duality: Let A be a proper, non-empty subset of Sn, with Sn and A triangulable together. Then H^p(A) == H_(n-p-1)(Sn - A) This is about the inside and outside of a subset of Sn. It allows you to show a fairly general version of the Jordan curve theorem: Jordan curve theorem: If (Sn,A) is triangulable and A is homeomorphic to S(n-1), then Sn - A has two path components of which A is the common boundary. How do you compute cohomology from homology? -------------------------------------------- The answer, from pages 277 and 320 of Munkres is that if H_(p-1) is free, then H^p(X) is the dual of H_p(X), i.e. Hom(H_p(X), G), where G is the group of coefficients. The free groups on a finite number of generators are self-dual, so that under these circumstances the homology and cohomology are the same. So for a Torus, with coefficients in Z: H_0 = H^0 = Z H_1 = H^1 = Z*Z H_2 = H^2 = Z But for a Klein bottle, with coefficients in Z: H_0 = Z H^0 = Z H_1 = Z * Z/2 H^1 = Z H_2 = 0 H^2 = Z/2 Notice that since H_0 is free, we expect H^1 to be the dual of H_1. It is: the function (a,b) --> 2a+b generates the space of functions on Z * Z/2 as an additive group. In general, without freeness on H_(p-1), we have the exact sequence k 0 <-- Hom(H_p(X), G) <-- H^p(X) <-- Ext(H_(p-1), G) <-- 0 The Ext functor is 0 on free groups, making the map k an isomorphism. The map k is induced by evaluating cochains on chains, just what you'd expect. Using coefficients from a field ------------------------------- When computing cohomology with differential forms, and in differential geometry in general, it is common to use coefficients from a field, usually the reals. In this case, the homology and cohomology groups can be treated as vector spaces, and Munkres shows (page 323) that there is an isomorphism between HomF(H_p(X), F) and H^p(X), where HomF(A,B) is the vector space of linear transformations between vector spaces A and B. If the homology vector space is finite dimensional, it is isomorphic to its dual, so that homology and cohomology are the same. Munkres remarks, "Needless to say, this can lead to confusion." Self-duality ------------ I have no idea which which manifolds are self-dual, but I'd like to know. Certainly spheres are. The manifolds for which the cohomology and homology groups agree would be good candidates. This happens at least when all homology groups are free and finitely generated. Direct definition of cohomology ------------------------------- Homology and cohomology make sense for any "chain complex", an indexed set of groups C(n) with boundary operators between C(n) and C(n+1). So you can do "homology of groups", etc. For many sets of objects, cohomology can be defined directly, without reference to chains. For manifolds, cohomology can be defined without reference to chains by using differential forms as cochains. These are algebraic objects with the exterior derivative as coboundary operator. Stokes' theorem has geometric content and tells you that the exterior derivative works like a coboundary operator when you consider a differential form as a singular cochain, i.e. a functional on the group of singular chains. The singular cochain is obtained by integrating the form on a given chain. The singular chains are formal linear combinations of maps from the standard simplex into the space. They're called singular because the map doesn't need to be injective (the whole simplex could collapse to a point). The singular cochains are functions from singular chains to the coefficient group. Note that these groups have huge bases (all maps from a simplex into the space!). Singular cochains can also be defined directly, without reference to singular chains. This is due to Alexander and Spanier (from Dieudonne, page 9): "The n-cochains are equivalence classes of mappings f : X^(n+1) --> G (not necessarily continuous), two mappings being equivalent if they coincide on a neighborhood of the diagonal in X^(n+1) (the cartesian product of X with itself n+1 times). The coboundary operator delta(n) associates to the class of such a map the class of the map (x_0, x_1, ..., x_(n+1)) --> sum (j=0, n+1) (-1)^j f(x_0, ..., , ..., x_(n+1))" The notation indicates that x_j is omitted from the sum. It would be nice to figure this out cleanly, but I think it's something like this. Cochains are cohomologous (in the same cohomology class) if they agree on all cycles. If you form equivalence classes of n-cochains by saying that two n-cochains are equivalent if they agree on all simplices with the same vertices (order can matter), then you get functions on X^(n+1). If two functions agree on a neighborhood of the diagonal, they agree for a tiny little cycle based at any point on the space. By linking little cycles together, you can make big cycles. How's that for a non-proof! Orientation ----------- The torsion part of a group is called "torsion" because of the "twisting" involved in non-orientable surfaces. Here's the story about orientation: If X is connected, these three propositions are equivalent (otherwise they hold for each component): (1) X is orientable (2) H_n(X) = H^n(X) = Z (3) H_(n-1)(X) has no torsion These are the other possibility, and are also equivalent: (1) X is non-orientable (2) H_n(X) = 0 H^n(X) = Z/2 (3) H_(n-1) has torsion subgroup Z/2 Why not H_p = H_(n-p) instead of H_p = H^(n-p)? ----------------------------------------------- Poincare duality was almost H_p = H_(n-p), except that there are orientable spaces with torsion (in dimensions lower than n-1, necessarily). They must have some kind of self-wraparound property, but in "two dimensions", so that the orientation comes out right. The simplest such spaces are the Lens spaces L(n,k), which are formed by taking the 3-ball (filled-in sphere) and identifying points on its surface with their images under the map which rotates the ball about the poles by 2pi k/n and sends the upper to the lower hemisphere and vice-versa. Got it? It's not that bad. I forgot to say that n and k have to be relatively prime. For these spaces: H_0 = Z H^0 = Z H_1 = Z/n H^1 = 0 H_2 = 0 H^2 = Z/n H_3 = Z H^3 = Z So we finally have an example of why Poincare duality shouldn't be stated just in terms of homology! That is, H_1 = H^2, not H_1 = H_2. We did have to go to 3-manifolds to get it, though. Ring structure -------------- Cohomology has a natural ring structure where homology doesn't (it has to be carried over from cohomology). You get a cross product in both homology and cohomology: cross* : Hm(X) * Hn(Y) --> H(m+n)(X*Y) But the diagonal map d: X --> X*X induces d_* : H_p(X) --> H_p(X*X) in homology and d^* : H^p(X*X) --> H^p(X) in cohomology. Only the latter is useful for flattening the cross product Hm(X) * Hn(X) back into H(n+m)(X). Conclusion? ----------- Was that fun? I learned a lot. Doesn't really tell much of the story about duality, but only some of it. See Dieudonne if you want more history, perhaps his section on cohomology (page 73). David