The Winding Number via de Rham Cohomology
Why dθ is closed but not exact, and what that has to do with winding.
The winding number of a closed curve about the origin is an integer assigned to the curve that, well, measures how many times it winds around the origin. This integer can be computed in various ways, but perhaps the most recognizable arises from complex analysis: when is a smooth map into avoiding the origin, then
At first glance this looks crazy: why should we ever expect this integral to be integer valued? And how in the world is its value sensitive to the number of times the curve wraps around the origin, but not to any other details of the curve itself? Initially this may be chalked up to the ‘magic of complex analysis’, but upon a deeper dive one realizes the magic is actually on loan to from the world of differential forms, who in turn acquired this magic from algebraic topology: specifically, homology and cohomology.
Topology of Maps
Topology is the art of blurring out the details of a problem that do not matter, while being careful not to blur so many details that the information you are interested in vanishes alongside them. In our case, we are interested in a map of the circle into the plane that misses the origin, so the set of objects we care about is the funtion space of continuous maps of the circle into the punctured plane.
The details we do not care about are things like speed at which traverses its image, or even the or small continuous deformations of (of course, with it still avoiding the origin). This type of imprecision is exactly captured by the notion of homotopy: two functions are called homotopic if there is a continuous map where and .
If two curves are homotopic, then one can continuously wiggle (via a homotopy ) until it turns into , all while avoiding the origin. We use this to define an equivalence relation on where if and only if they are homotopic. Blurring our vision to disregard continuous deformation is then rigorously encoded by taking the quotient space of with respect to this equivalence relation. We denote this space by and denote the homotopy class of a map as .
This space represents a precise distillation of the information of a curve in the punctured plane, up to continuous deformations, and so represents the abstract solution to our problem: all possible topological data of a curve is encoded by its image in this space. But how do we work with abstract data like ? This is what algebraic topology is all about.
Homology
Algebraic topology is a collection of techniques for assigning algebraic data (groups, rings, modules, etc) to topological spaces in a coherent and homotopy invariant way. Precisely, algebraic topology provides a collection of functors from the homotopy category to various algebraic categories: things that assign an algebraic gadget to each space , and an algebraic map to each continuous map . With the right tools, one may hope to extract the topological data stored in a homotopy class like and unpack it as a collection of algebraic data, that is much easier to work with. In our case, the algebraic gadget involved is going to be the abelian group , and the topological data of a homotopy class will be encoded by an element of , that is, a number!
The tool of algebraic topology important to our work here is homology. To fix notation we write for the singular homology group of with coefficients in the ring . When we shorten the notation to , and when we wish to speak of the set of homologies for all we write . When another homology theory (simplicial, de Rahm, etc) is known to agree with singular homology, we abuse notation and use to represent these as well, making the interpretation of elements clear from the context. Like for the homotopy groups, every continuous function induces a map on homology Thus, each element is assigned to an element , defining a map Since homology is a homotopy invariant, any two homotopic maps are assigned to the same group homomorphism . Thus, this assignment factors through the quotient by homotopy to a well-defined map
Explicitly, this assignment sends a homotopy class to a sequence of group homomorphisms
Though, since if are manifolds of dimension then all homologies above are trivial, so the induced maps beyond some finite stage are all the zero map from the trivial group to itself. This situation leaves us with the same question to answer: we’ve managed to use homology as a tool to assign a homotopy class to a (finite) list of group homomorphisms. How much information have we lost in doing so? Like the homotopy case, this is a difficult question in general, but for the case of winding number the algebraic data gleaned from homology provides a complete homotopy invariant.
The Homology of
For convenience, we will work with the reduced homology groups of the spaces in question (as the zeroth homology plays no essential role.) The homological story starts similar to that of homotopy groups: the zeroth homology of is zero as the circle is connected, the first homology is (as its oriented, and 1-dimensional), and its higher homologies are zero as they are larger in dimension than the space itself. And, as deformation retracts onto the circle, it has the same sequene of homology groups.
Thus given an immersion of the circle into the punctured plane, capturing the homotopy information of amounts to but a single nontrivial homomorphism between first the first homologies:
As the only nonzero map, on first homology stores all of the topological data of .
Like in the case of homotopy, if we choose identifications of and with (in homology, this is precisely the same as choosing an orientation of each),
then is an endomorphism of , which is naturally identified with an integer.
The problem of course is the same - how are we to access this integer associated to the map!
More directly, if we had chosen generators of and ,
respectively we could compute of the generator of the domain, and decompose this as some integer number of copies of
the generator of the target.
This sounds good in theory, but the objects involved are still too abstract, and are defined as equivalence classes. We need a tool for converting abstract groups like to concrete things: before the solution was covering spaces, now the solution is cohomology.
Cohomology and Computation
The definition of homology is given by some complex of chains with boundary maps , and the computes the homology of this complex . Cohomology is a dualization of this at the level of chains: that is, we build the the dual chain complex with the dual boundary maps defined so that if then is the map . The homology of this co-chain complex is the cohomology of the underlying space . Phew!
What does this all mean for us in practice? Well, we are interested in computing the invariant stored by
as a map between two first homologies. The elements of these homology groups are (equivalence
classes of) chains, and an element of cohomology is an equivalence class of functions on chains.
Thus, an element of cohomolgy determines a map as follows:
if is a homology class, choose a representation for some chain , and also choose a
representation of the cohomology class by some function . Then we define
This requires some well-definedness checks (choosing different representatives does not affect the final value, etc)
but the important part for our overall story is we are able to take some abstract thing (a homology class) and
compute a very concrete thing (an element of the ring ) using a cohomology class.
While we will need the flexibility of general coefficients shortly, let’s discuss the situation over . Since is one-dimensional, if we could find a cohomology class which sets up an isomorphism (that is, sends a generator of to ) Then we could directly implement the program sketched above, and remove the difficult-to-deal-with equivalence classes from the story at the same time! More precisely, we would know by our abstract reasoning that if we choose a fundamental class for , apply , and then apply the isomorphism given by the cohomology class , we get the topological invariant
But, by the definition of the action of on homology, we can pick an explicit representative with and an explicit chain representing the fundamental class , where we can then compute as
This final equation is defined in terms of three concrete things: an actual choice of chain representing a fundamental class, the actual map , and an actual linear map on chains: no more equivalence classes in sight! So, if we know how to compute with , we can directly access our hidden integer invariant.
Clearly, we will have little to no hope doing this explicitly in singular homology, as the cochain complex is full of very-difficult-to-describe things. But when things are smooth we can switch to a much easier-to understand theory of cohomology, de Rham cohomology
De Rham Cohomology
The de Rham complex is populated by differential forms of each degree on the base smooth manifold , and the co-boundary map is the exterior derivative:
Differential forms are smooth, real valued multilinear functions on the tangent space, and so to work with them we necessarily have to take coefficients in (which will not be an issue, since we will be able to recover our integer invariant by restriction at the end of the day). A differential form is called closed if , and exact if for some othe form . Thus, the homology of the de Rham complex records the closed forms modulo the addition of exact forms. This is a very different cohomology theory than the one’s we are used to involving simplices, but like many algebraic topological invariants, it turns out to be just another way of accessing the same abstract data:
de Rham’s Theorem The homology of the de Rham complex of a smooth manifold agrees with the homology of the singular cochain complex.
Thus, we can use differential forms to compute the homological invariant following the outline above, with one big if: how do we know there actually are any nonzero cohomology classes to use to set up an isomorphism? This is just a computation: as the two spaces are homotopy equivalent, and by Poincare duality: finally because it is connected: thus, there is a 1-dimensional space of closed 1-forms on after modding out by exact ones.
Indeed, to construct such a form, we can take inspiration from the deformation retraction realizing the homotopy equivalence between these two spaces. The circle has a 1-dimensional space of closed-mod-exact 1-forms (these are top- dimensional forms for the circle, so they are possible volume forms). A cannonical choice is , which can be explicitly defined as the form whose pullback under the universal covering is the differential of the identity function sending to .
It’s easy to verify that in the coordinates of the plane, this form is the restriction of to the unit circle via a quick computation: under the trigonometric parameterization , this pulls back to
Now, we need to transport this form, which generates to a form which generates . The isomorphism between these spaces is induced by the homotopy equivalence arising from the deformation retract Thus, a generator of is given by (this computation is much easier in polar coordinates, but to avoid any potential confusion involving coordinates being a covering space; I’ll do it with here). Where is computed with the quotient rule: Running the analogous computation of and substituting in, we get
Thus, this form is closed but not exact on (whcih we can also verify directly: we may compute its exterior derivative to see we get zero, but then compute its integral over the circle and see we get , which is not zero, even though the circle has no boundary. Thus, it cannot be the derivative of a function by stokes theorem.) Treating this form as a representative of a cohomology class, this realizes an isomorphism from to . However, as at the end of the day we would like to recover a fact about homology with integer coefficients, so we need to do some normalization. We would like to make it so that the cannonical generator of , that is, the unit circle, is sent to . But right now, this is sent to All we need to do is divide by this number, producing a new 1-form (still closed but not exact) which will set up an isomorphism between homology with coefficients over , that restricts to an isomorphism over . To get some notation into this coordinate-heavy game, call this thing
Thus, finally our means of computing the integer stored by explicity is made available to us! Given a map We take itself (with our choice of orientation) as a boundaryless chain representing the fundamental class in and compute the winding number of via
The last step to make contact with the formula given in the introduction is to relate to the form . A confusing thing when first dealing with homology and cohomology: these two things are not equal or even scalar multiples of one another, but simply cohomologous: they are two representatives of the same cohomology class, and so give the same value when integrated against any chain representing a homology class.
To see this, we begin by writing out : Thus, dividng by ,
This form is in the same cohomology class as since the additional term, is exact! To show this explicitly we just need to construct a real valued function on the punctured plane for which this is the derivative: but this is straightforward using the chain rule.
Thus we see that
and so, integrating over the boundaryless immersed manifold yields