Lecture 25: a taste of (co)homology

Complex analysis, lecture 2
(April 29, 2026)

We are done with the official material of the class! Today, to wrap up, we’ll talk a little bit about how some of the ideas we’ve seen in this class generalize to tools used across geometry and topology.

Recall that if D is a domain and f:D a smooth function, we can study the differential ω=f(z)dz. There are two properties we often look for: ω is closed if dω:=fz¯=0,111Strictly speaking, this is not right: dω should be not a function but a “2-form,” an element of a vector space of dimension 1 with basis vector dzdz¯, so dω=fz¯dzdz¯. We’ll ignore such things, at least for now. so equivalently if f is analytic; and exact if there exists some function F:D such that ω=dF=F(z). Note that in order for the former to make sense we need F analytic, in which case F is also analytic; this is a version of our statement that exact implies closed, i.e. any exact differential is also closed (but not necessarily vice versa).

We first introduced the idea of exact differentials to study when line integrals are independent of the choice of path; more directly, looking at the definition, a differential is exact if and only if it can be integrated in a well-defined way. (If it is not exact, we have seen we can still compute its integrals, but they depend very strongly on the auxiliary choice of the path!)

We next introduced the idea of closed differentials as a more testable property that mostly detects being exact: we know that exact differentials are closed, and in many cases that’s enough. In particular we saw that on many domains, closed and exact are actually equivalent:

Theorem.

If D is a star-shaped domain, a differential ω on D is closed if and only if it is exact.

But this is not true on every domain. For example, on {0}, we have differentials like dzz, which are closed but not exact: the integral of this differential would be logz, which cannot be made analytic on all of {0}.

Intuitively, what goes wrong here is that this domain has a “hole”: we can loop around the origin in a nontrivial way. (More precisely, the domain is not simply connected.) It turns out that this “hole” can be quantified: there is an algebrao-topological gadget called the homology of the domain which can be thought of as measuring “how many holes” a domain has. This homology should be zero if and only if the domain is simply connected.222But note this is somewhat special to subspaces of , and is not true for arbitrary topological spaces.

Homology is purely topological: deforming our space does not affect the result. (This is closely related to our deformation theorems!) However, this means it cannot capture analytic information, such as the differentials.

However, it turns out that differentials can be studied via a very similar gadget, called the cohomology of the domain D. As the name implies, this turns out to have a very close relationship to the homology: this is de Rham’s theorem.

A quick note: some of the objects and results I’ll mention are most naturally phrased in the language of linear or abstract algebra. However if you’re not familiar with these it should still be possible to follow, the statements will just be a little less precise.

1.  Homology

Let D be a domain. (We could even think of a more general topological space, if desired.) We are interested in cycles on D.333Here and in what follows cycles means 1-cycles, and so on.

What is a cycle? First, we could take all paths in D. We only really care about their images, so we may as well restrict to simple paths, i.e. paths which don’t intersect themselves. A cycle is then just a simple closed path in D.

Actually this is not quite true: if we have two different simple closed paths γ1, γ2, we also want to be able to take their sum γ1+γ2, or their difference γ1γ2. This is actually something we’re already familiar with from taking boundaries of spaces: for example, an annulus has boundary γRγr where γR is the outer boundary circle and γr the inner boundary circle. More generally, we’ll allow formal sums of paths, with arbitrary coefficients; so e.g. (3+i)γ14γ2+γ3, etc.

Here is one easy way of generating cycles: let ED be some bounded subset, say open (so either a subdomain or a union of subdomains). Then its boundary E is a cycle: it is either a simple closed path or a formal sum of such things. In fact, we could also allow linear combinations of subsets: if we have subsets E1,,En, then we could study the cycle iciEi for any complex numbers c1,,cn. Since these are cycles that arise as boundaries of subsets of D, we refer to them as boundaries. So associated to D we have a set of cycles, and inside it a set of boundaries. (In fact, the space of cycles is a -vector space, and the space of boundaries is a subspace.)

In some cases, every cycle is actually a boundary. For example, let D be the open unit disk; then every simple closed path γ is essentially a circle (or some deformation thereof), and has a well-defined interior E, so γ=E. (The same thing for linear combinations then follows, since iciγi=iciEi=(iciEi).)

However, in general there do exist cycles which are not boundaries. For example, consider an annulus D={z:1<|z|<3}, and the circular path γ={z:|z|=2}. In , this path does have an interior, given by the disk of radius 2. But this disk is not a subset of the annulus D! So on D, γ is not a boundary.

So the question of which cycles are or are not boundaries, or whether or not there even exist any cycles that are not boundaries, depends strongly on the domain D in question. We make the following definition: the set of cycles modulo boundaries, meaning cycles where we consider a boundary to be equivalent to zero, is called H1(D), the (first) homology of D.444The subscript 1 is due to the fact that the cycles in question are all one-dimensional; these are really the only interesting ones when working with subsets of , but for general topological spaces one studies homology in all degrees. For those familiar with linear algebra, this is the quotient of the space of cycles by the subspace of boundaries; for those unfamiliar, the idea is that we think of two cycles γ1, γ2 as being equivalent if γ1γ2 is a boundary, and then H1(D) is the set of equivalence classes. (We sometimes say that γ1 and γ2 are homologous if they are equivalent in H1(D).)

Note that if every cycle is a boundary, then γ1γ2 is always a boundary, so any two cycles are equivalent; thus H1(D) only has one element, which is equivalent to the zero cycle 0 (or “null-homologous”). In this case we say H1(D)=0, or more formally {0}. In general, H1(D) is a -vector space, whose dimension informally measures the “number of holes” in D. For example, in the annulus we used above, we saw an example of a cycle γ which was not a boundary, so γ0 in H1(D); but it turns out that this is the “only” nonzero cycle. Of course this is not literally true: if we took radius 2.1 instead of 2 that would work just as well, but the difference between them would then be the boundary of the annulus with radii 2 and 2.1, which is contained in D, so they are homologous. In fact it turns out that every cycle in D is homologous to a scalar multiple of our cycle γ (including the zero cycle, with the scalar being 0): so H1(D) is a one-dimensional vector space, corresponding to the one “hole.”

Note that although the spaces of cycles and boundaries are very very large—we can find infinitely many different simple closed paths even in very small domains, so they have infinite dimension—the space H1(D) is typically much smaller: it is possible to find D with H1(D) infinite-dimensional, by choosing it to have infinitely many “holes,” but for most of the spaces that naturally arise in complex analysis the dimension is finite, which makes H1(D) much easier to work with than these very large spaces.

As claimed above, the homology H1(D) is invariant under deformation: if we deform D, we can likewise deform all the cycles in D and the spaces E corresponding to boundaries, so all the essential information remains the same. In particular, the dimension of H1(D) is invariant under deformations.

2.  Cohomology

These geometric operations of taking boundaries and comparing cycles have very familiar analytic analogues: the boundary operation is like differentiation—the analogy is built into the notation!—which suggests that cycles should be like differentials. In fact we can be a little more specific: we didn’t look at all simple paths in D, which would be like all differentials, but only the cycles, simple closed paths. Again the terminology suggests the analogy: cycles are like closed differentials. Indeed, cycles are the paths whose “boundary” is empty, or zero in general; and closed differentials are those ω whose differential dω is itself zero.

We’ve seen that closed differentials, which are likewise a large -vector space, have a subspace of exact differentials, which are like boundaries: the ω for which there exists some F such that ω=dF, parallel to the cycles γ for which there exists E such that γ=E. We likewise look at closed differentials modulo exact differentials, where we consider exact differentials to be equivalent to zero, and write H1(D) for the set of equivalence classes on D. This is called the cohomology of D.

In fact it turns out that—for somewhat complicated reasons—there are many kinds of cohomology, even though for the most part there’s only one kind of homology. This kind of cohomology is “de Rham cohomology,” so we sometimes write it as HdR1(D).

If every closed differential is exact, then HdR1(D)=0: every closed differential is equivalent to zero. Thus, by our theorem above, we have the following: if D is a star-shaped domain (or more generally simply connected), then HdR1(D)=0. But for more general domains, e.g. {0}, we have seen examples of differentials which are not closed.

Note that this is kind of a weird theorem! We didn’t dwell too much on this at the time, but there is a strange mismatch between the two sides: HdR1(D) is a class derived from studying closed differentials, which come from analytic functions, whose definition involves limits, complex derivatives, the Cauchy–Riemann equations, etc.: in short, these are analytic objects. But the conditions on D are purely topological, which is the sort of thing we’d expect to see on the homology side of things. What’s going on?

3.  De Rham’s theorem

In our situation of interest, we’ve already proven the relevant facts: we can show concretely that when D is star-shaped, all the closed differentials are in fact exact, by integrating along the straight lines. To make this “more topological,” we should allow deformations; and we know this is okay by our deformation theorems. But it turns out this is part of a much bigger and more abstract theory, which can be phrased in terms of the homology and cohomology spaces we defined above.

Here is the idea. Suppose we have some simple closed path γ and a differential form ω. Then we can integrate ω along γ to get a complex number:

(γ,ω)γω.

This makes sense on all cycles, not just the concrete paths, by taking

c1γ1+c2γ2=c1γ1+c2γ2

and so forth.

I claim that this actually gives a map

H1(D)×H1(D),

meaning that it descends on both sides to a function on the equivalence classes. To make sure this makes sense, we need to check that if we put in two equivalent but different cycles γ, γ in the pairing above, we get the same thing. Indeed, suppose γγ=E. Then

γωγω=γγω=Dω=D𝑑ω;

this is precisely Green’s theorem! Then the fact that ω is closed, dω=0, guarantees that in fact this difference is 0, so γω=γω.

Likewise, if we fix γ and take two different ω,ω which are equivalent in H1(D), i.e. ωω=dF, then

γωγω=γ(ωω)=γ𝑑F=0

by the fundamental theorem of calculus. So both sides of the pairing only depend on the homology/cohomology classes.

We can now state de Rham’s theorem:

Theorem.

The integration pairing H1(D)×H1(D) is a perfect pairing. Equivalently, there is a natural isomorphism between H1(D) and H1(D), the dual space to H1(D).

For those not familiar with the linear algebra involved, the key point is that although H1(D) and H1(D) aren’t naturally isomorphic, they do always have the same dimension, and are canonically determined by each other. In particular, we can see the “topological” nature of the apparently analytic HdR1(D): it is the dual space to H1(D), so since the latter is e.g. invariant under deformations, etc., so is H1(D).

Interestingly, this also means we can go the other way: if we understand the theory of differential forms on D, then that tells us about its topology! Related ideas are often used in differential geometry in various ways.

We can also see the connection with the notion of simple connectedness. Strictly speaking, whether a space is simply connected is about whether a different invariant, the fundamental group π1(D), is trivial; but this turns out to be closely related to the first homology group H1(D), and for D it turns out that π1(D) is trivial if and only if H1(D)=0. Combining this with de Rham’s theorem, we recover the following generalization of our starting theorem:

Theorem.

A domain D is simply connected if and only if every closed differential on D is exact.