nLab chain homology and cohomology



Homological algebra

homological algebra

(also nonabelian homological algebra)



Basic definitions

Stable homotopy theory notions



diagram chasing

Schanuel's lemma

Homology theories




Special and general types

Special notions


Extra structure





In the context of homological algebra, for V Ch (𝒜)V_\bullet \in Ch_\bullet(\mathcal{A}) a chain complex, its chain homology group in degree nn is akin to the nn-th homotopy groups of a topological space. It is defined to be the quotient of the nn-cycles by the nn-boundaries in V V_\bullet.

Dually, for V Ch (𝒜)V^\bullet \in Ch^\bullet(\mathcal{A}) a cochain complex, its cochain cohomology group in degree nn is the quotient of the nn-cocycles by the nn-coboundaries.

Basic examples are the singular homology and singular cohomology of a topological space, which are the (co)chain (co)homology of the singular complex.

Chain homology and cochain cohomology constitute the basic invariants of (co)chain complexes. A quasi-isomorphism is a chain map between chain complexes that induces isomorphisms on all chain homology groups, akin to a weak homotopy equivalence. A category of chain complexes equipped with quasi-isomorphisms as weak equivalences is a presentation for the stable (infinity,1)-category of chain complexes.


Let 𝒜\mathcal{A} be an abelian category such as that of RR-modules over a commutative ring RR. For R=R = \mathbb{Z} the integers this is the category Ab of abelian groups. For R=kR = k a field, this is the category Vect of vector spaces over kk.

Write Ch (𝒜)Ch_\bullet(\mathcal{A}) for the category of chain complexes in 𝒜\mathcal{A}. Write Ch (𝒜)Ch^\bullet(\mathcal{A}) for the category of cochain complexes in 𝒜\mathcal{A}.

We label differentials in a chain complex as follows:

V =[V n+1 nV n] V_\bullet = [ \cdots \to V_{n+1} \stackrel{\partial_n}{\to} V_n \to \cdots ]

For V Ch (𝒜)V_\bullet \in Ch_\bullet(\mathcal{A}) a chain complex and nn \in \mathbb{Z}, the chain homology H n(V)H_n(V) of VV in degree nn is the abelian group

H n(V)Z n(V)B n(V)=ker( n1)im( n) H_n(V) \coloneqq \frac{Z_n(V)}{B_n(V)} = \frac{ker(\partial_{n-1})}{im(\partial_n)}

given by the quotient (cokernel) of the group of nn-cycles by that of nn-boundaries in V V_\bullet.




For all nn \in \mathbb{N} forming chain homology extends to a functor from the category of chain complexes in 𝒜\mathcal{A} to 𝒜\mathcal{A} itself

H n():Ch (𝒜)𝒜. H_n(-) : Ch_\bullet(\mathcal{A}) \to \mathcal{A} \,.

One checks that chain homotopy (see there) respects cycles and boundaries.


Chain homology commutes with direct product of chain complexes:

H n( iC (i)) iH n(C (i)). H_n(\prod_i C^{(i)}) \simeq \prod_i H_n(C^{(i)}) \,.

Similarly for direct sum.

Respect for direct sums and filtered colimits


The chain homology functor preserves direct sums:

for A,BCh A,B \in Ch_\bullet and nn \in \mathbb{Z}, the canonical morphism

H n(AB)H n(A)H n(B) H_n(A \oplus B) \to H_n(A) \oplus H_n(B)

is an isomorphism.


The chain homology functor preserves filtered colimits:

for A:ICh A \colon I \to Ch_\bullet a filtered diagram and nn \in \mathbb{Z}, the canonical morphism

H n(lim iA i)lim iH n(A i) H_n(\underset{\to_i}{\lim} A_i) \to \underset{\to_i}{\lim} H_n(A_i)

is an isomorphism.

This is spelled out for instance as (Hopkins-Mathew , prop. 23.1).


In the context of homotopy theory

We discuss here the notion of (co)homology of a chain complex from a more abstract point of view of homotopy theory, using the nPOV on cohomology as discussed there.

A chain complex in non-negative degree is, under the Dold-Kan correspondence a homological algebra model for a particularly nice topological space or ∞-groupoid: namely one with an abelian group structure on it, a simplicial abelian group. Accordingly, an unbounded (arbitrary) chain complex is a model for a spectrum with abelian group structure.

One consequence of this embedding

N:Ch +Grpd N : Ch_+ \to \infty Grpd

induced by the Dold-Kan nerve is that it allows to think of chain complexes as objects in the (∞,1)-topos ∞Grpd or equivalently Top. Every (∞,1)-topos comes with a notion of homotopy and cohomology and so such abstract notions get induced on chain complexes.

Of course there is an independent, age-old definition of homology of chain complexes and, by dualization, of cohomology of cochain complexes.

This entry describes how these standard definition of chain homology and cohomology follow from the general (∞,1)-topos nonsense described at cohomology and homotopy.

The main statement is that


Before discussing chain homology and cohomology, we fix some terms and notation.

Eilenberg-MacLane objects

In a given (∞,1)-topos there is a notion of homotopy and cohomology for every (co-)coefficient object AA (BB).

The particular case of chain complex homology is only the special case induced from coefficients given by the corresponding Eilenberg-MacLane objects.

Assume for simplicity here and in the following that we are talking about non-negatively graded chain complexes of vector spaces over some field kk. Then for every nn \in \mathbb{N} write

B nk :=(B nk nB nk 1B nk 0) =(k00) \begin{aligned} \mathbf{B}^n k &:= ( \cdots \to \mathbf{B}^n k_n \to \cdots \to \stackrel{\partial}{\to} \mathbf{B}^n k_1 \stackrel{\partial}{\to} \mathbf{B}^n k_0) \\ &= ( \cdots \to k \to \cdots \to 0 \to 0 ) \end{aligned}

for the nnth Eilenberg-MacLane object.

Notice that this is often also denoted k[n]k[n] or k[n]k[-n] or K(k,n)K(k,n).

Homotopy and cohomology

With the Dold-Kan correspondence understood, embedding chain complexes into ∞-groupoids, for any chain complexes X X_\bullet, A A_\bullet and B B_\bullet we obtain

  • the \infty-groupoid

    H Grpd(X ,A ) \mathbf{H}_{\infty Grpd}(X_\bullet, A_\bullet)

    whose * objects are the AA-valued cocycles on XX; * morphisms are the coboundaries between these cocycles; * 2-morphisms are the coboundaries between coboundaries * etc. and where the elements of π 0H(X ,A )\pi_0 \mathbf{H}(X_\bullet,A_\bullet) are the cohomology classes

  • the \infty-groupoids

    H Grpd(B ,X ) \mathbf{H}_{\infty Grpd}(B_\bullet, X_\bullet)

    whose * objects are the BB-co-valued cycles on XX; * morphisms are the boundaries between these cycles; * 2-morphisms are the boundaries between boundaries * etc. and where the elements of π 0H(B ,X )\pi_0 \mathbf{H}(B_\bullet,X_\bullet) are the homotopy classes

Chain homology as homotopy

For X :=V X_\bullet := V_\bullet any chain complex and H n(V )H_n(V_\bullet) its ordinary chain homology in degree nn, we have

H n(V )π 0H(B nk ,V ). H_n(V_\bullet) \simeq \pi_0 \mathbf{H}(\mathbf{B}^n k_\bullet, V_\bullet) \,.

A cycle c:B nk V c : \mathbf{B}^n k_\bullet \to V_\bullet is a chain map

0 k 0 c n V n+1 V n V n1 \array{ \cdots &\stackrel{\partial}{\to}& 0 &\stackrel{\partial}{\to}& k &\stackrel{\partial}{\to}& 0 &\stackrel{\partial}{\to}& \cdots \\ && \downarrow && \downarrow^{c_n} && \downarrow \\ \cdots &\stackrel{\partial}{\to}& V_{n+1} &\stackrel{\partial}{\to}& V_n &\stackrel{\partial}{\to}& V_{n-1} &\stackrel{\partial}{\to}& \cdots }

Such chain maps are clearly in bijection with those elements c nV nc_n \in V_n that are in the kernel of V nV n1V_n \stackrel{\partial}{\to} V_{n-1} in that c n=0\partial c_n = 0.

A boundary λ:cC\lambda : c \to C' is a chain homotopy

0 k 0 λ n V n+1 V n V n1 \array{ \cdots &\stackrel{\partial}{\to}& 0 &\stackrel{\partial}{\to}& k &\stackrel{\partial}{\to}& 0 &\stackrel{\partial}{\to}& \cdots \\ && & {}^{\lambda_n}\swarrow \\ \cdots &\stackrel{\partial}{\to}& V_{n+1} &\stackrel{\partial}{\to}& V_n &\stackrel{\partial}{\to}& V_{n-1} &\stackrel{\partial}{\to}& \cdots }

such that c=c+λc' = c + \partial \lambda.


Cohomology of cochain complexes

The ordinary notion of cohomology of a cochain complex is the special case of cohomology in the stable (∞,1)- category of chain complexes.

For V V^\bullet a cochain complex let

X :=V =(V ) * =(X n+1X nX n1) :=(V n+1V nV n1) \begin{aligned} X &:= V_\bullet = (V^\bullet)^* \\ &= (\cdots \to X_{n+1} \stackrel{\partial}{\to} X_n \stackrel{\partial}{\to} X_{n-1} \to \cdots) \\ & := (\cdots \to V_{n+1} \stackrel{\partial}{\to} V_n \stackrel{\partial}{\to} V_{n-1} \to \cdots) \end{aligned}

be the corresponding dual chain complex. Let

A :=B nI =(A n+1A nA n1) =(0I0) \begin{aligned} A &:= \mathbf{B}^n I \\ &= (\cdots \to A_{n+1} \to A_n \to A_{n-1} \to \cdots ) \\ & = (\cdots \to 0 \to I \to 0 \to \cdots ) \end{aligned}

be the chain complex with the tensor unit (the ground field, say) in degree nn and trivial elsewhere. Then

H(X,A) =Ch(V ,B nI) \begin{aligned} \mathbf{H}(X,A) &= Ch(V_\bullet, \mathbf{B}^n I) \end{aligned}


  • as objects chain morphisms c:V B nIc : V_\bullet \to \mathbf{B}^n I

    V n+1 V n V n1 c n+1 c n c n1 0 I 0 . \array{ \cdots &\to& V_{n+1} &\stackrel{\partial}{\to}& V_{n} &\stackrel{\partial}{\to}& V_{n-1} &\to& \cdots \\ && \downarrow^{c_{n+1}} && \downarrow^{c_{n}} && \downarrow^{c_{n-1}} \\ \cdots &\to& 0 &\stackrel{\partial}{\to}& I &\stackrel{\partial}{\to}& 0 &\to& \cdots } \,.

    These are in canonical bijection with the elements in the kernel of d nd_{n} of the dual cochain complex V =[V ,I]V^\bullet = [V_\bullet,I].

  • as morphism chain homotopies λ:cc\lambda : c \to c'

    V n+1 V n V n1 λ 0 I 0 . \array{ \cdots &\to& V_{n+1} &\stackrel{\partial}{\to}& V_{n} &\stackrel{\partial}{\to}& V_{n-1} &\to& \cdots \\ && && &{}^{\lambda}\swarrow& \\ \cdots &\to& 0 &\stackrel{\partial}{\to}& I &\stackrel{\partial}{\to}& 0 &\to& \cdots } \,.

Comparing with the general definition of cocycles and coboudnaries from above, one confirms that

  • the cocycles are the chain maps

    V I[n] V_\bullet \to I[n]_\bullet
  • the coboundaries are the chain homotopies between these chain maps.

  • the coboundaries of coboundaries are the second order chain homotopies between these chain homotopies.

  • etc.


Early references on (co)homology

The original references on chain homology/cochain cohomology and ordinary cohomology in the form of cellular cohomology:

  • Andrei Kolmogoroff, Über die Dualität im Aufbau der kombinatorischen Topologie, Recueil Mathématique 1(43) (1936), 97–102. (mathnet)

A footnote on the first page reads as follows, giving attribution to Alexander 35a, 35b:

Die Resultate dieser Arbeit wurden für den Fall gewöhnlicher Komplexe vom Verfasser im Frühling und im Sommer 1934 erhalten und teilweise an der Internationalen Konferenz für Tensoranalysis (Moskau) im Mai 1934 vorgetragen. Die hier dargestellte allgemeinere Theorie bildete den Gegenstand eines Vortrages, den der Verfasser an der Internationalen Topologischen Konferenz (Moskau, September 1935) hielt; bei letzterer Gelegenheit erfuhr er, dass ein grosser Teil dieser Resultate im Falle von Komplexen indessen von Herrn Alexander erhalten worden ist. Vgl. die inzwischen erschienenen Noten von Herrn Alexander in den «Proceedings of the National Academy of Sciences U.S.A.», 21, (1935), 509—512. Herr Alexander trug über seine Resultate ebenfalls an der Moskauer Topologischen Konferenz vor. Verallgemeinerungen für abgeschlossene Mengen und die Konstruktion eines Homologieringes für Komplexe und abgeschlossene Mengen, über welche der Verfasser ebenso an der Tensorkonferenz 1934 vorgetragen hat, werden in einer weiteren Publikation dargestellt. Diese weitere Begriffsbildungen sind übrigens ebenfalls von Herrn Alexander gefunden und teilweise in den erwähnten Noten publiziert.

The term “cohomology” was introduced by Hassler Whitney in

See also

The notion of singular cohomology is due to

The notion of monadic cohomology via canonical resolutions:

The general abstract perspective on cohomology (subsuming sheaf cohomology, hypercohomology, non-abelian cohomology and indications of Whitehead-generalized cohomology) was essentially established in:

Review of basics

Last revised on August 31, 2022 at 01:08:36. See the history of this page for a list of all contributions to it.