The Stacks project

12.13 Complexes

Of course the notions of a chain complex and a cochain complex are dual and you only have to read one of the two parts of this section. So pick the one you like. (Actually, this doesn't quite work right since the conventions on numbering things are not adapted to an easy transition between chain and cochain complexes.)

A chain complex $A_\bullet $ in an additive category $\mathcal{A}$ is a complex

\[ \ldots \to A_{n + 1} \xrightarrow {d_{n + 1}} A_ n \xrightarrow {d_ n} A_{n - 1} \to \ldots \]

of $\mathcal{A}$. In other words, we are given an object $A_ i$ of $\mathcal{A}$ for all $i \in \mathbf{Z}$ and for all $i \in \mathbf{Z}$ a morphism $d_ i : A_ i \to A_{i - 1}$ such that $d_{i - 1} \circ d_ i = 0$ for all $i$. A morphism of chain complexes $f : A_\bullet \to B_\bullet $ is given by a family of morphisms $f_ i : A_ i \to B_ i$ such that all the diagrams

\[ \xymatrix{ A_ i \ar[r]_{d_ i} \ar[d]_{f_ i} & A_{i - 1} \ar[d]^{f_{i - 1}} \\ B_ i \ar[r]^{d_ i} & B_{i - 1} } \]

commute. The category of chain complexes of $\mathcal{A}$ is denoted $\text{Ch}(\mathcal{A})$. The full subcategory consisting of objects of the form

\[ \ldots \to A_2 \to A_1 \to A_0 \to 0 \to 0 \to \ldots \]

is denoted $\text{Ch}_{\geq 0}(\mathcal{A})$. In other words, a chain complex $A_\bullet $ belongs to $\text{Ch}_{\geq 0}(\mathcal{A})$ if and only if $A_ i = 0$ for all $i < 0$.

Given an additive category $\mathcal{A}$ we identify $\mathcal{A}$ with the full subcategory of $\text{Ch}(\mathcal{A})$ consisting of chain complexes zero except in degree $0$ by the functor

\[ \mathcal{A} \longrightarrow \text{Ch}(\mathcal{A}),\quad A \longmapsto (\ldots \to 0 \to A \to 0 \to \ldots ) \]

By abuse of notation we often denote the object on the right hand side simply $A$. If we want to stress that we are viewing $A$ as a chain complex we may sometimes use the notation $A[0]$, see Section 12.14.

A homotopy $h$ between a pair of morphisms of chain complexes $f, g : A_\bullet \to B_\bullet $ is a collection of morphisms $h_ i : A_ i \to B_{i + 1}$ such that we have

\[ f_ i - g_ i = d_{i + 1} \circ h_ i + h_{i - 1} \circ d_ i \]

for all $i$. Two morphisms $f, g : A_\bullet \to B_\bullet $ are said to be homotopic if a homotopy between $f$ and $g$ exists. Clearly, the notions of chain complex, morphism of chain complexes, and homotopies between morphisms of chain complexes make sense even in a preadditive category.

slogan

Lemma 12.13.1. Let $\mathcal{A}$ be an additive category. Let $f, g : B_\bullet \to C_\bullet $ be morphisms of chain complexes. Suppose given morphisms of chain complexes $a : A_\bullet \to B_\bullet $, and $c : C_\bullet \to D_\bullet $. If $\{ h_ i : B_ i \to C_{i + 1}\} $ defines a homotopy between $f$ and $g$, then $\{ c_{i + 1} \circ h_ i \circ a_ i\} $ defines a homotopy between $c \circ f \circ a$ and $c \circ g \circ a$.

Proof. Omitted. $\square$

In particular this means that it makes sense to define the category of chain complexes with maps up to homotopy. We'll return to this later.

Definition 12.13.2. Let $\mathcal{A}$ be an additive category. We say a morphism $a : A_\bullet \to B_\bullet $ is a homotopy equivalence if there exists a morphism $b : B_\bullet \to A_\bullet $ such that there exists a homotopy between $a \circ b$ and $\text{id}_ A$ and there exists a homotopy between $b \circ a$ and $\text{id}_ B$. If there exists such a morphism between $A_\bullet $ and $B_\bullet $, then we say that $A_\bullet $ and $B_\bullet $ are homotopy equivalent.

In other words, two complexes are homotopy equivalent if they become isomorphic in the category of complexes up to homotopy.

Lemma 12.13.3. Let $\mathcal{A}$ be an abelian category.

  1. The category of chain complexes in $\mathcal{A}$ is abelian.

  2. A morphism of complexes $f : A_\bullet \to B_\bullet $ is injective if and only if each $f_ n : A_ n \to B_ n$ is injective.

  3. A morphism of complexes $f : A_\bullet \to B_\bullet $ is surjective if and only if each $f_ n : A_ n \to B_ n$ is surjective.

  4. A sequence of chain complexes

    \[ A_\bullet \xrightarrow {f} B_\bullet \xrightarrow {g} C_\bullet \]

    is exact at $B_\bullet $ if and only if each sequence

    \[ A_ i \xrightarrow {f_ i} B_ i \xrightarrow {g_ i} C_ i \]

    is exact at $B_ i$.

Proof. Omitted. $\square$

For any $i \in \mathbf{Z}$ the $i$th homology group of a chain complex $A_\bullet $ in an abelian category is defined by the following formula

\[ H_ i(A_\bullet ) = \mathop{\mathrm{Ker}}(d_ i)/\mathop{\mathrm{Im}}(d_{i + 1}). \]

If $f : A_\bullet \to B_\bullet $ is a morphism of chain complexes of $\mathcal{A}$ then we get an induced morphism $H_ i(f) : H_ i(A_\bullet ) \to H_ i(B_\bullet )$ because clearly $f_ i(\mathop{\mathrm{Ker}}(d_ i : A_ i \to A_{i - 1})) \subset \mathop{\mathrm{Ker}}(d_ i : B_ i \to B_{i - 1})$, and similarly for $\mathop{\mathrm{Im}}(d_{i + 1})$. Thus we obtain a functor

\[ H_ i : \text{Ch}(\mathcal{A}) \longrightarrow \mathcal{A}. \]

Definition 12.13.4. Let $\mathcal{A}$ be an abelian category.

  1. A morphism of chain complexes $f : A_\bullet \to B_\bullet $ is called a quasi-isomorphism if the induced map $H_ i(f) : H_ i(A_\bullet ) \to H_ i(B_\bullet )$ is an isomorphism for all $i \in \mathbf{Z}$.

  2. A chain complex $A_\bullet $ is called acyclic if all of its homology objects $H_ i(A_\bullet )$ are zero.

Lemma 12.13.5. Let $\mathcal{A}$ be an abelian category.

  1. If the maps $f, g : A_\bullet \to B_\bullet $ are homotopic, then the induced maps $H_ i(f)$ and $H_ i(g)$ are equal.

  2. If the map $f : A_\bullet \to B_\bullet $ is a homotopy equivalence, then $f$ is a quasi-isomorphism.

Proof. Omitted. $\square$

Lemma 12.13.6. Let $\mathcal{A}$ be an abelian category. Suppose that

\[ 0 \to A_\bullet \to B_\bullet \to C_\bullet \to 0 \]

is a short exact sequence of chain complexes of $\mathcal{A}$. Then there is a canonical long exact homology sequence

\[ \xymatrix{ \ldots & \ldots & \ldots \ar[lld] \\ H_ i(A_\bullet ) \ar[r] & H_ i(B_\bullet ) \ar[r] & H_ i(C_\bullet ) \ar[lld] \\ H_{i - 1}(A_\bullet ) \ar[r] & H_{i - 1}(B_\bullet ) \ar[r] & H_{i - 1}(C_\bullet ) \ar[lld] \\ \ldots & \ldots & \ldots \\ } \]

Proof. Omitted. The maps come from the Snake Lemma 12.5.17 applied to the diagrams

\[ \xymatrix{ & A_ i/\mathop{\mathrm{Im}}(d_{A, i + 1}) \ar[r] \ar[d]^{d_{A, i}} & B_ i/\mathop{\mathrm{Im}}(d_{B, i + 1}) \ar[r] \ar[d]^{d_{B, i}} & C_ i/\mathop{\mathrm{Im}}(d_{C, i + 1}) \ar[r] \ar[d]^{d_{C, i}} & 0 \\ 0 \ar[r] & \mathop{\mathrm{Ker}}(d_{A, i - 1}) \ar[r] & \mathop{\mathrm{Ker}}(d_{B, i - 1}) \ar[r] & \mathop{\mathrm{Ker}}(d_{C, i - 1}) & } \]
$\square$

A cochain complex $A^\bullet $ in an additive category $\mathcal{A}$ is a complex

\[ \ldots \to A^{n - 1} \xrightarrow {d^{n - 1}} A^ n \xrightarrow {d^ n} A^{n + 1} \to \ldots \]

of $\mathcal{A}$. In other words, we are given an object $A^ i$ of $\mathcal{A}$ for all $i \in \mathbf{Z}$ and for all $i \in \mathbf{Z}$ a morphism $d^ i : A^ i \to A^{i + 1}$ such that $d^{i + 1} \circ d^ i = 0$ for all $i$. A morphism of cochain complexes $f : A^\bullet \to B^\bullet $ is given by a family of morphisms $f^ i : A^ i \to B^ i$ such that all the diagrams

\[ \xymatrix{ A^ i \ar[r]_{d^ i} \ar[d]_{f^ i} & A^{i + 1} \ar[d]^{f^{i + 1}} \\ B^ i \ar[r]^{d^ i} & B^{i + 1} } \]

commute. The category of cochain complexes of $\mathcal{A}$ is denoted $\text{CoCh}(\mathcal{A})$. The full subcategory consisting of objects of the form

\[ \ldots \to 0 \to 0 \to A^0 \to A^1 \to A^2 \to \ldots \]

is denoted $\text{CoCh}_{\geq 0}(\mathcal{A})$. In other words, a cochain complex $A^\bullet $ belongs to the subcategory $\text{CoCh}_{\geq 0}(\mathcal{A})$ if and only if $A^ i = 0$ for all $i < 0$.

Given an additive category $\mathcal{A}$ we identify $\mathcal{A}$ with the full subcategory of $\text{CoCh}(\mathcal{A})$ consisting of cochain complexes zero except in degree $0$ by the functor

\[ \mathcal{A} \longrightarrow \text{CoCh}(\mathcal{A}),\quad A \longmapsto (\ldots \to 0 \to A \to 0 \to \ldots ) \]

By abuse of notation we often denote the object on the right hand side simply $A$. If we want to stress that we are viewing $A$ as a cochain complex we may sometimes use the notation $A[0]$, see Section 12.14.

A homotopy $h$ between a pair of morphisms of cochain complexes $f, g : A^\bullet \to B^\bullet $ is a collection of morphisms $h^ i : A^ i \to B^{i - 1}$ such that we have

\[ f^ i - g^ i = d^{i - 1} \circ h^ i + h^{i + 1} \circ d^ i \]

for all $i$. Two morphisms $f, g : A^\bullet \to B^\bullet $ are said to be homotopic if a homotopy between $f$ and $g$ exists. Clearly, the notions of cochain complex, morphism of cochain complexes, and homotopies between morphisms of cochain complexes make sense even in a preadditive category.

Lemma 12.13.7. Let $\mathcal{A}$ be an additive category. Let $f, g : B^\bullet \to C^\bullet $ be morphisms of cochain complexes. Suppose given morphisms of cochain complexes $a : A^\bullet \to B^\bullet $, and $c : C^\bullet \to D^\bullet $. If $\{ h^ i : B^ i \to C^{i - 1}\} $ defines a homotopy between $f$ and $g$, then $\{ c^{i - 1} \circ h^ i \circ a^ i\} $ defines a homotopy between $c \circ f \circ a$ and $c \circ g \circ a$.

Proof. Omitted. $\square$

In particular this means that it makes sense to define the category of cochain complexes with maps up to homotopy. We'll return to this later.

Definition 12.13.8. Let $\mathcal{A}$ be an additive category. We say a morphism $a : A^\bullet \to B^\bullet $ is a homotopy equivalence if there exists a morphism $b : B^\bullet \to A^\bullet $ such that there exists a homotopy between $a \circ b$ and $\text{id}_ A$ and there exists a homotopy between $b \circ a$ and $\text{id}_ B$. If there exists such a morphism between $A^\bullet $ and $B^\bullet $, then we say that $A^\bullet $ and $B^\bullet $ are homotopy equivalent.

In other words, two complexes are homotopy equivalent if they become isomorphic in the category of complexes up to homotopy.

Lemma 12.13.9. Let $\mathcal{A}$ be an abelian category.

  1. The category of cochain complexes in $\mathcal{A}$ is abelian.

  2. A morphism of cochain complexes $f : A^\bullet \to B^\bullet $ is injective if and only if each $f^ n : A^ n \to B^ n$ is injective.

  3. A morphism of cochain complexes $f : A^\bullet \to B^\bullet $ is surjective if and only if each $f^ n : A^ n \to B^ n$ is surjective.

  4. A sequence of cochain complexes

    \[ A^\bullet \xrightarrow {f} B^\bullet \xrightarrow {g} C^\bullet \]

    is exact at $B^\bullet $ if and only if each sequence

    \[ A^ i \xrightarrow {f^ i} B^ i \xrightarrow {g^ i} C^ i \]

    is exact at $B^ i$.

Proof. Omitted. $\square$

For any $i \in \mathbf{Z}$ the $i$th cohomology group of a cochain complex $A^\bullet $ is defined by the following formula

\[ H^ i(A^\bullet ) = \mathop{\mathrm{Ker}}(d^ i)/\mathop{\mathrm{Im}}(d^{i - 1}). \]

If $f : A^\bullet \to B^\bullet $ is a morphism of cochain complexes of $\mathcal{A}$ then we get an induced morphism $H^ i(f) : H^ i(A^\bullet ) \to H^ i(B^\bullet )$ because clearly $f^ i(\mathop{\mathrm{Ker}}(d^ i : A^ i \to A^{i + 1})) \subset \mathop{\mathrm{Ker}}(d^ i : B^ i \to B^{i + 1})$, and similarly for $\mathop{\mathrm{Im}}(d^{i - 1})$. Thus we obtain a functor

\[ H^ i : \text{CoCh}(\mathcal{A}) \longrightarrow \mathcal{A}. \]

Definition 12.13.10. Let $\mathcal{A}$ be an abelian category.

  1. A morphism of cochain complexes $f : A^\bullet \to B^\bullet $ of $\mathcal{A}$ is called a quasi-isomorphism if the induced maps $H^ i(f) : H^ i(A^\bullet ) \to H^ i(B^\bullet )$ is an isomorphism for all $i \in \mathbf{Z}$.

  2. A cochain complex $A^\bullet $ is called acyclic if all of its cohomology objects $H^ i(A^\bullet )$ are zero.

Lemma 12.13.11. Let $\mathcal{A}$ be an abelian category.

  1. If the maps $f, g : A^\bullet \to B^\bullet $ are homotopic, then the induced maps $H^ i(f)$ and $H^ i(g)$ are equal.

  2. If $f : A^\bullet \to B^\bullet $ is a homotopy equivalence, then $f$ is a quasi-isomorphism.

Proof. Omitted. $\square$

slogan

Lemma 12.13.12. Let $\mathcal{A}$ be an abelian category. Suppose that

\[ 0 \to A^\bullet \to B^\bullet \to C^\bullet \to 0 \]

is a short exact sequence of cochain complexes of $\mathcal{A}$. Then there is a long exact cohomology sequence

\[ \xymatrix{ \ldots & \ldots & \ldots \ar[lld] \\ H^ i(A^\bullet ) \ar[r] & H^ i(B^\bullet ) \ar[r] & H^ i(C^\bullet ) \ar[lld] \\ H^{i + 1}(A^\bullet ) \ar[r] & H^{i + 1}(B^\bullet ) \ar[r] & H^{i + 1}(C^\bullet ) \ar[lld] \\ \ldots & \ldots & \ldots \\ } \]

The construction produces long exact cohomology sequences which are functorial in the short exact sequence and compatible with shifts as in Definition 12.14.8.

Proof. For the horizontal maps $H^ i(A^\bullet ) \to H^ i(B^\bullet )$ and $H^ i(B^\bullet ) \to H^ i(C^\bullet )$ we use the fact that $H^ i$ is a functor, see above. For the “boundary map” $H^ i(C^\bullet ) \to H^{i + 1}(A^\bullet )$ we use the map $\delta $ of the Snake Lemma 12.5.17 applied to the diagram

\[ \xymatrix{ & A^ i/\mathop{\mathrm{Im}}(d_ A^{i - 1}) \ar[r] \ar[d]^{d_ A^ i} & B^ i/\mathop{\mathrm{Im}}(d_ B^{i - 1}) \ar[r] \ar[d]^{d_ B^ i} & C^ i/\mathop{\mathrm{Im}}(d_ C^{i - 1}) \ar[r] \ar[d]^{d_ C^ i} & 0 \\ 0 \ar[r] & \mathop{\mathrm{Ker}}(d_ A^{i + 1}) \ar[r] & \mathop{\mathrm{Ker}}(d_ B^{i + 1}) \ar[r] & \mathop{\mathrm{Ker}}(d_ C^{i + 1}) & } \]

This works as the kernel of the right vertical map is equal to $H^ i(C^\bullet )$ and the cokernel of the left vertical map is $H^{i + 1}(A^\bullet )$. The exactness of the long sequence is the exactnesss in part (2) of Lemma 12.5.17. The functoriality is Lemma 12.5.18. Compatibility with shifts is immediate from the definitions. $\square$


Comments (5)

Comment #1800 by FelixBB on

In Lemma 12.12.12 it should be: Then there is a canonical long exact COhomology sequence

Comment #5997 by on

Lemma 0117 should be about COchain complexes, right? And is there any reason why 0117 gets to be a "slogan" but 0111 does not? Of course I'm also interested in what the heck the word "canonical" means in this context (is there a precise list of properties which you are claiming, for example? Is it just "functorial for morphisms of short exact sequences" or is it more?) but I am not sure I want to just continually bug you about this matter.

Comment #6000 by on

Yes, about the COchain thing. Thanks!

Short answer to the "canonical" question: I don't mean it to be equivalent to "functorial for morphisms of short exact sequences of complexes", but that will do for now. In future uses of this lemma in proofs we might assume you use the same long exact cohomology sequence as the one given in the proof.

The long answer follows. Don't take it seriously.

There are more than 2000 occurences of the word canonical in the Stacks project. So it would take a very long time for you to comment on all of them! Canonical long exact sequence means here the long exact sequence that a human would come up with according to good practices. Looking up the word canonical in the dictionary confirms that this is actually pretty close to how the word canonical is used in the English language.

However, I will admit this use of the word canonical is worse than the one you found before (in your comment on Lemma 6.21.8). Namely, I conjecture that humans fall into 3 groups: the first group is those people who never end up looking at Lemma 12.13.12 or they do but never actually figure out what the maps in the long exact sequence are because they are too confused by the word "canonical" or, more seriously, they find the proof insufficient to actually tell them there really is a long exact sequence like this, the second group is those humans who read the proof and grok it, the third group is those humans who prove it for themselves. A person in the third group will allmost surely end up with the same arrows as I do for the maps and but a nonzero percentage of them will end up with the negative of the arrows from the one I use.

To indicate which sign the Stacks project uses for this lemma we could say "the boundary maps are defined by diagram chasing without the intervention of signs". See the construction of the map in the Snake Lemma 12.5.17. For people interested in sign issues, please check out Section 15.72.

Yes, the rule that assigns the long exact sequence to the short exact sequence of complexes is functorial for short exact sequences of complexes. Having said this, the obvious mathematical question is whether besides changing the sign of the arrow (and the sign might depend on the degree of the cohomology we're looking at), there is anything else that a person might mischieviously do but preserve functoriality wrt maps of ses of complexes. Well, of course, if is the category of modules over a ring , then we could multiply the boundary maps by a (fixed) unit of . But I imagine if is the category of abelian groups for example, then the functorialy wrt maps of short exact sequences of complexes determines the boundary maps up to sign. However, I didn't check this statement. You could also ask for a compatibility of the boundary map with exact functors between abelian categories... that would be even more canonical!

Comment #6001 by on

PS: Canonical might include that the construction of the long exact sequence is compatible with shifts; this would further pin down the sign of the boundary maps all up to one uniform sign. This requires you to choose an identification of with ; there is a sign hidden here but I believe every text including the Stacks project uses the same one, namely the isomorphism defined without the intervention of signs, see Definition 12.14.8.


Post a comment

Your email address will not be published. Required fields are marked.

In your comment you can use Markdown and LaTeX style mathematics (enclose it like $\pi$). A preview option is available if you wish to see how it works out (just click on the eye in the toolbar).

Unfortunately JavaScript is disabled in your browser, so the comment preview function will not work.

All contributions are licensed under the GNU Free Documentation License.




In order to prevent bots from posting comments, we would like you to prove that you are human. You can do this by filling in the name of the current tag in the following input field. As a reminder, this is tag 010V. Beware of the difference between the letter 'O' and the digit '0'.