A dynamical system is a space X, together with an action (g,x) \mapsto gx of some group G = (G,\cdot).  [In practice, one often places topological or measure-theoretic structure on X or G, but this will not be relevant for the current discussion.  In most applications, G is an abelian (additive) group such as the integers {\Bbb Z} or the reals {\Bbb R}, but I prefer to use multiplicative notation here.]  A useful notion in the subject is that of an (abelian) cocycle; this is a function \rho: G \times X \to U taking values in an abelian group U = (U,+) that obeys the cocycle equation

\rho(gh, x) = \rho(h,x) + \rho(g,hx) (1)

for all g,h \in G and x \in X.  [Again, if one is placing topological or measure-theoretic structure on the system, one would want \rho to be continuous or measurable, but we will ignore these issues.] The significance of cocycles in the subject is that they allow one to construct (abelian) extensions or skew products X \times_\rho U of the original dynamical system X, defined as the Cartesian product \{ (x,u): x \in X, u \in U \} with the group action g(x,u) := (gx,u + \rho(g,x)).  (The cocycle equation (1) is needed to ensure that one indeed has a group action, and in particular that (gh)(x,u) = g(h(x,u)).)  This turns out to be a useful means to build complex dynamical systems out of simpler ones.  (For instance, one can build nilsystems by starting with a point and taking a finite number of abelian extensions of that point by a certain type of cocycle.)

A special type of cocycle is a coboundary; this is a cocycle \rho: G \times X \to U that takes the form \rho(g,x) := F(gx) - F(x) for some function F: X \to U.  (Note that the cocycle equation (1) is automaticaly satisfied if \rho is of this form.)  An extension X \times_\rho U of a dynamical system by a coboundary \rho(g,x) := F(gx) - F(x) can be conjugated to the trivial extension X \times_0 U by the change of variables (x,u) \mapsto (x,u-F(x)).

While every coboundary is a cocycle, the converse is not always true.  (For instance, if X is a point, the only coboundary is the zero function, whereas a cocycle is essentially the same thing as a homomorphism from G to U, so in many cases there will be more cocycles than coboundaries.  For a contrasting example, if X and G are finite (for simplicity) and G acts freely on X, it is not difficult to see that every cocycle is a coboundary.)  One can measure the extent to which this converse fails by introducing the first cohomology group H^1(G,X,U) := Z^1(G,X,U) / B^1(G,X,U), where Z^1(G,X,U) is the space of cocycles \rho: G \times X \to U and B^1(G,X,U) is the space of coboundaries (note that both spaces are abelian groups).  In my forthcoming paper with Vitaly Bergelson and Tamar Ziegler on the ergodic inverse Gowers conjecture (which should be available shortly), we make substantial use of some basic facts about this cohomology group (in the category of measure-preserving systems) that were established in a paper of Host and Kra.

The above terminology of cocycles, coboundaries, and cohomology groups of course comes from the theory of cohomology in algebraic topology.  Comparing the formal definitions of cohomology groups in that theory with the ones given above, there is certainly quite a bit of similarity, but in the dynamical systems literature the precise connection does not seem to be heavily emphasised.   The purpose of this post is to record the precise fashion in which dynamical systems cohomology is a special case of cochain complex cohomology from algebraic topology, and more specifically is analogous to singular cohomology (and can also be viewed as the group cohomology of the space of scalar-valued functions on X, when viewed as a G-module); this is not particularly difficult, but I found it an instructive exercise (especially given that my algebraic topology is extremely rusty), though perhaps this post is more for my own benefit that for anyone else.

— Chains —

Throughout this discussion, the dynamical system X, the group G, and the group U will be fixed.

For any n \geq 0, we define an n-chain to be a formal integer linear combination of n+1-tuples (g_1,\ldots,g_n,x), where x \in X and g_1,\ldots,g_n \in G.  One may wish to think of each such tuple as an “oriented simplex” connecting the n+1 points x, g_n x, g_{n-1} g_n x, \ldots, g_1 \ldots g_n x.  Thus, a 0-chain is a formal combination \sum_{i=1}^m c_i x_i of points, a 1-chain is a formal combination \sum_{i=1}^m c_i (g_i,x_i) of “line segments” from x_i to g_i x_i, and so forth.  Let C_n(G,X) be the space of n-chains; this is an abelian group.  We also adopt the convention that C_n(G,X) is trivial for n  0, we define the boundary map \partial: C_n(G,X) \to C_{n-1}(G,X) to be the unique homomorphism such that

\displaystyle \partial (g_1,\ldots,g_n,x) = (g_1,\ldots,g_{n-1},g_n x)

\displaystyle + \sum_{i=1}^{n-1} (-1)^{n-i} (g_1,\ldots,g_{i-1},g_i g_{i+1}, g_{i+2},\ldots,g_n, x)

+ (-1)^n (g_2,\ldots,g_n,x)

thus for instance

\partial (g,x) = gx - x

\partial (g,h,x) = (g,hx) - (gh,x) + (h,x)

\partial (g,h,k,x) = (g,h,kx) - (g,hk,x) + (gh,k,x) - (h,k,x)

and so forth.  Note that this is analogous to the boundary map in singular homology, if one views the n+1-tuple (x,g_1,\ldots,g_n) as a simplex as discussed earlier.  We also define the boundary maps \partial: C_n(G,X) \to C_{n-1}(G,X) for n \leq 0 to be the trivial map, thus for instance \partial x = 0.  It is not hard to verify the fundamental relation

\partial^2 = 0

thus turning the sequence of groups C_n(G,X) into a chain complex.

An n-chain with vanishing boundary is called an n-cycle, while an n-chain which is the boundary of an (n+1)-chain is called an n-boundary; the spaces of n-cycles and n-boundaries are denoted Z_n(G,X) and B_n(G,X) respectively.  Thus for instance (gh,x) - (h,x) - (g,hx) is both a 1-cycle and a 1-boundary.  However, if g is a non-trivial group element that fixes x and G is abelian, one can show that (g,x) is a 1-cycle but not a 1-boundary.

We define the homology groups H_n(G,X) := Z_n(G,X)/B_n(G,X) for all n.  It is a nice exercise to compute these groups in some simple cases, e.g.

  • If G acts transitively on X, then H_0(G,X) \equiv {\Bbb Z}.
  • If G acts freely on X, then H_n(G,X) is trivial for n > 0.
  • If X is a point, then H_1(G,X) \equiv G/[G,G] is the abelianisation of G.  [Question: Is there a nice description of the higher homology groups H_n(G,X), n > 1 in this case?]

However, I don’t know of any application of these homology groups to the theory of dynamical systems.

— Cochains —

An n-cochain is a homomorphism from the space C_n(G,X) of n-chains to U.  Since C_n(G,X) is a free abelian group generated by the simplices (x,g_1,\ldots,g_n), we can view an n-cochain as a function F: (x,g_1,\ldots,g_n) \to F(x,g_1,\ldots,g_n) from G \times \ldots \times G \times X to U.  (Again, we are ignoring all measure-theoretic or topological considerations here.)  The space of all n-cochains is denoted C^n(G,X,U) := \hbox{Hom}(C_n(G,X),U); this is an abelian group.

The boundary map \partial: C_n(G,X) \to C_{n-1}(G,X) defines by duality a coboundary map \delta: C^{n-1}(G,X,U) \to C^n(G,X,U), defined by the formula

\delta F( c ) := F( \partial c )

for all F \in C^{n-1}(G,X,U) and c \in C_n(G,X); viewing F as a function on simplices, we thus have

\displaystyle \delta F(g_1,\ldots,g_n,x) = F(g_1,\ldots,g_{n-1},g_n x)

\displaystyle + \sum_{i=1}^{n-1} (-1)^{n-i} F( g_1,\ldots,g_{i-1},g_i g_{i+1},\ldots,g_n,x)

+ (-1)^n F(g_2,\ldots,g_n,x).

Thus for instance

\delta F(g,x) = F(gx) - F(x)

for 0-cochains F:X \to U,

\delta \rho(g,h,x) = \rho(g,hx) - \rho(gh,x) + \rho(h,x)

for 1-cochains \rho: G \times X \to U, and so forth.

Because \partial^2 = 0, we have \delta^2 = 0, and so C^n(G,X,U) becomes a cochain complex.  n-cochains whose coboundary vanishes are known as n-cocycles, and n-cochains which are the coboundary of an (n-1)-cochain are known as n-coboundaries.  The spaces of n-cocycles and n-coboundaries are denoted Z^n(G,X,U) and B^n(G,X,U) respectively, allowing us to define the n^{th} cohomology group H^n(G,X,U) := Z^n(G,X,U)/B^n(G,X,U).

When n=0, and if the action of G is transitive (in the discrete category), minimal (in the topological category), or ergodic (in the measure-theoretic category), the only 0-cocycles are the constants, and the only 0-coboundary is the zero function, so H^0(G,X,U) \equiv U.  When n=1, it is not hard to see that the notion of 1-cocycle and 1-coboundary correspond to the notion of cocycle and coboundary discussed at the beginning of this post.

This whole theory raises the obvious question as to whether the higher cocycles, coboundaries, and cohomology groups have any relevance in dynamical systems.  For instance, a 2-cocycle is (after minor notational changes) a function \psi: G \times G \times X \to U that obeys the 2-cocycle equation

\psi(g,h,kx) - \psi(g,hk,x) + \psi(gh,k,x) - \psi(h,k,x) = 0

while a 2-coboundary is a function of the form

\psi(g,h,x) := \rho(gh,x) - \rho(h,x) - \rho(g,hx)

for some \rho: G \times X \to U.  Is there some dynamical systems interpretation of these objects, much as 1-cocycles and 1-coboundaries can be interpreted as describing abelian extensions and essentially trivial abelian extensions respectively?  I don’t know the answer to this question.  (Perhaps one would have to start introducing the concept of a “2-dynamical system”, whatever that means.)  In my forthcoming paper with Vitaly Bergelson and Tamar Ziegler, we do briefly encounter 2-coboundaries (we have to deal with various “quasi-cocycles” – 1-chains \rho whose 2-coboundary \delta \rho does not vanish completely, as with 1-cocycles, but is still of a relatively simple form, such as a constant or a polynomial) but we do not make systematic use of this concept.  (We also rely heavily in our paper on the cubic complexes {}X^{[k]}{} of Host and Kra, which have some superficial resemblance to the simplex structures appearing here, but I do not know if there is a substantive connection in this regard.)

Another oddity is that homology and cohomology, as it is classically defined, requires the space of chains, cochains, etc. to all be abelian groups; but for dynamical systems one can certainly talk about cocycles and coboundaries taking values in a non-abelian group U by modifying the definitions slightly, leading to the concept of a group extension of a dynamical system.  (In this context, the first cohomology H^1(G,X,U) becomes a quotient space rather than a group; see also my earlier post interpreting these cocycles in the language of gauge theory.)  It seems to me that in this case, the dynamical system concept of a cocycle or coboundary cannot be interpreted in terms of classical cohomology theory (but presumably can be handled by non-abelian group cohomology).

[Update, Dec 22: Some typos and LaTeX anomalies fixed.]

Update, Jan 8: Over at the n-Category Café, Minhyong Kim has provided a nice answer to my question about the relevance of higher order cohomology, such as H^2(G,X,U), to the problem of extending dynamical systems.  Suppose one has a short exact sequence

0 \to V \to \tilde U \to U \to 0

of abelian groups, thus one can view \tilde U as the space of pairs (u,v) with u\in U, v \in V with some group addition law

(u,v) + (u',v') := (u+u', v+v'+B(u,u')) (2)

for some function B: U \times U \to V, that needs to obey a certain set of axioms to make \tilde U an abelian group, which we will not write down here.  We then claim that we have a long exact sequence

\to H^1(G,X,\tilde U) \to H^1(G,X,U) \to H^2(G,X,V) \to,  (3)

thus H^2(G,X,V) is capable of detecting whether a U-extension of a G-system X can be lifted to a \tilde U-extension.

The first map in (3) is obvious: the projection from \tilde U to U induces a projection from 1-cocycles \tilde \rho: G \times X \to \tilde U to 1-cocycles \rho: G \times X \to U which maps 1-coboundaries to 1-coboundaries, and thus maps H^1(G,X,\tilde U) to H^1(G,X,U).  The second map requires a bit more thought.  Suppose one is given a 1-cocycle \rho: G \times X \to U and asks whether it can be lifted to a 1-cocycle \tilde \rho: G \times X \to \tilde U by the above projection.  Writing \tilde \rho = (\rho,\sigma) for some \sigma: G \times X \to V and using (1), (2), we see that the question is equivalent to finding a \sigma that obeys the equation

\sigma(gh, x) = \sigma(h,x) + \sigma(g,hx) + B( \rho(h,x), \rho(g,hx) )

or in other words, to show that the map \Phi(\rho): (g,h,x) \mapsto B(\rho(h,x), \rho(g,hx) ) is a V-valued 2-coboundary.   The same observation (now setting \sigma=0) shows that the map (g,h,x) \mapsto (0,\Phi(\rho)) is a \tilde U-valued 2-coboundary (indeed, it is the coboundary of (\rho,0)), hence a \tilde U-valued 2-cocycle, and thus \Phi(\rho) is a V-valued 2-cocycle, and so the map \rho \mapsto \Phi(\rho) is a map from 1-cocycles \rho: G \times X \to U to 2-cocycles \Phi(\rho): G \times G \times X \to V.  Similarly, given two 1-cocycles \rho, \rho': G \times X \to U, we see that (\rho+\rho',0) differs from (\rho,0)+(\rho',0) by some V-valued 1-cochain, so on taking derivatives we see that \Phi(\rho+\rho') differs from \Phi(\rho)+\Phi(\rho') by some 2-coboundary, thus \Phi is linear modulo 2-coboundaries.  Finally, if \rho is a U-valued 1-coboundary, then (\rho,0) is the sum of a \tilde U-valued 1-coboundary and a V-valued 1-cochain, and so on taking derivatives we see that \Phi maps 1-coboundaries to 2-coboundaries.  (Presumably the above arguments are a special case of one of the standard diagram chasing lemmas in homological algebra, but I don’t know which one it is.  One could also verify these facts from the axioms of B induced from (2) and the abelian group structure on \tilde U, but this turns out to be remarkably tedious.)  Hence it induces a map from H^1(G,X,U) to H^2(G,X,V), and then (3) is exact by the preceding discussion.