I wrote this up for a friend and thought I'd share it with math-fun. It assumes you have some familiarity with * the idea of a manifold (which basically means a topological space that locally looks like Euclidean space R^n for some fixed n). For instance Euclidean space R^n, or any open subset of it, is an n-dimensional manifold. Any surface is a 2-dimensional manifold, and the spatial universe (or at least a snapshot of it at a fixed time) is a 3-dimensional manifold. and * the idea of a k-dimensional homology class (which basically describes a k-dimensional "hole" in a topological space X by something like a k-dimensional manifold S that conforms to the border of the hole). Think for instance of X = the plane R^2 with all the points at a distance of less than 1 from the origin removed, and then S could be the unit circle, which is a 1-dimensional homology class in X. Then H_i(X) is the *group* of i-dimensional homology classes. It's always a finitely generated abelian group if X is a reasonably nice space like a compact manifold. -------------------------------------------------------------------------- Given two *homology* classes, say a ∊ H_p(M), b ∊ H_q(M) where M is an n-dimensional compact connected manifold, imagine that each is represented by a submanifold of M (not always true, but useful for heuristics). Say a = [A] and b = [B] for compact submanifolds A, B of M of dimensions p, q respectively. [X] denotes the homology class of X. Then by a small perturbation we can assume A ⫚ B (transversality). If p + q < n then A ∩ B will be empty. So Assume p + q ≥ n: Assume p + q ≥ n: Then A ∩ B will be of dimension (p+q) - n. This means [A∩B] ∊ H_r(M) where r = (p+q) - n. This defines a *product* on the Poincaré dual* cohomology classes [A]*, [B]*, [A∩B]*: [A]* ∪ [B]* = [A∩B]*, i.e., a product from H^(n-p) ⊗ H^(n-q) —> H^(n-((p+q) - n), i.e. But letting P = n-p, Q = n-q, we see that this is a bilinear product H^P(M) × H^Q(M) —> H^(P+Q)(M). This nice dimension-summing property makes the total cohomology group H*(M) = ⊕ H^j(M) (summed over 0 ≤ j ≤ n) into a graded ring. This beautiful structure encapsulates a great deal of the topology of M. For instance each orientable surface M_g of genus g has H*(M_g) = H^0 ⊕ H^1 ⊕ H^2 = Z ⊕ Z^(2g) ⊕ Z where H^1(M_g) has the 2g generators g_j, h_j, 1 ≤ j ≤ g with g_j ∪ g_k = 0 = h_j ∪ h_k and { 1 if j = k g_j ∪ h_k = -h_k ∪ g_j = { { 0 if j ≠ k, where 1 generates Z = H^2(M_g). —Dan ————— * Think of the Poincaré dual (cohomology class) of a homology class as describing how that class intersects with all the other homology classes (of any dimension). This is extremely analogous to thinking of a vector v (in a vector space with inner product) as how it dot-products (w |—> <v,w>) with all the other vectors.