nLab tensor product of chain complexes



Homological algebra

homological algebra

(also nonabelian homological algebra)



Basic definitions

Stable homotopy theory notions



diagram chasing

Schanuel's lemma

Homology theories


Monoidal categories

monoidal categories

With braiding

With duals for objects

With duals for morphisms

With traces

Closed structure

Special sorts of products



Internal monoids



In higher category theory



A natural tensor product of chain complexes that makes the category of chain complexes into a closed monoidal category.


Let RR be a commutative ring and 𝒜=R\mathcal{A} = RMod the category of modules over RR. Write Ch (𝒜)Ch_\bullet(\mathcal{A}) for the category of chain complexes of RR-modules.


For X,YCh (𝒜)X, Y \in Ch_\bullet(\mathcal{A}) write (XY) Ch (𝒜)(X \otimes Y)_\bullet \in Ch_\bullet(\mathcal{A}) for the chain complex whose component in degree nn is given by the direct sum (the coproduct) of tensor products of modules whose degrees adds to nn:

(XY) n i+j=nX i RY j (X \otimes Y)_n \;\coloneqq\; \bigoplus_{i + j = n} X_i \otimes_R Y_j

and whose differential is given on elements (x,y)(x,y) of homogeneous degree by the following formula:

XY(x,y)( Xx,y)+(1) deg(x)(x, Yy). \partial^{X \otimes Y} (x, y) \;\coloneqq\; \big(\partial^X x, y\big) \,+\, (-1)^{deg(x)} \big(x, \partial^Y y\big) \,.

Its tensor unit 1 Ch1_{Ch} is RR considered as a chain complex concentrated in degree 0.


As a total complex of a double complex

The tensor product of chain complexes is equivalently the total complex of the double complex which is the objectwise tensor product:


For X,YCh (𝒜)X, Y \in Ch_\bullet(\mathcal{A}) write X Y Ch (Ch (𝒜))X_\bullet \otimes Y_\bullet \in Ch_\bullet(Ch_\bullet(\mathcal{A})) for the double complex whose component in degree (n 1,n 2)(n_1, n_2) is given by the tensor product

X n 1Y n 2𝒜 X_{n_1} \otimes Y_{n_2} \in \mathcal{A}

whose horizontal differential is hor Xid Y\partial^{hor} \coloneqq \partial^X \otimes id_Y and whose vertical differential is vertid X Y\partial^{vert} \coloneqq id_{X} \otimes \partial^Y.


The tensor product of chain complexes, def. is isomorphic to the total complex of the double complex of def. :

Tot (X Y )(XY) . Tot_\bullet (X_\bullet \otimes Y_\bullet) \simeq (X \otimes Y)_\bullet \,.

By direct unwinding of the definitions.

As Day convolution

The following section is copied form an answer by Alexander Campbell on MathOverflow.

The tensor product of chain complexes is a Day convolution product. The important thing to note is that, to define a Day convolution monoidal structure on the 𝒱\mathcal{V}-enriched functor category [𝒞,𝒱][\mathcal{C},\mathcal{V}] (where 𝒱\mathcal{V} is a complete and cocomplete symmetric monoidal closed category, e.g. Ab\mathbf{Ab}), we needn’t demand 𝒞\mathcal{C} to be a monoidal 𝒱\mathcal{V}-category: it suffices for 𝒞\mathcal{C} to be a promonoidal? 𝒱\mathcal{V}-category. This is the generality at which Day convolution was originally defined in Day’s thesis (see also his earlier paper in the Reports of the Midwest Category Seminar IV, where the word “premonoidal” was used).

A promonoidal structure on a small 𝒱\mathcal{V}-category 𝒞\mathcal{C} consists of tensor product and unit “profunctors”, i.e. 𝒱\mathcal{V}-functors P:𝒞 op×𝒞 op×𝒞𝒱P \colon \mathcal{C}^\mathrm{op}\times\mathcal{C}^\mathrm{op} \times \mathcal{C} \to \mathcal{V} and J:𝒞𝒱J \colon \mathcal{C} \to \mathcal{V}, together with associativity and unit constraints subject to the usual two “pentagon” and “triangle” axioms. Given a promonoidal structure on 𝒞\mathcal{C}, we may construct the Day convolution monoidal structure on [𝒞,𝒱][\mathcal{C},\mathcal{V}], whose tensor product is given at a pair of 𝒱\mathcal{V}-functors F,G[𝒞,𝒱]F,G \in [\mathcal{C},\mathcal{V}] by the coend

F*G= A,B𝒞P(A,B;)FAGBF\ast G = \int^{A,B \in \mathcal{C}} P(A,B;-) \otimes FA \otimes GB

in 𝒱\mathcal{V}, and whose unit object is the 𝒱\mathcal{V}-functor J[𝒞,𝒱]J \in [\mathcal{C},\mathcal{V}], and so on. This monoidal structure on [𝒞,𝒱][\mathcal{C},\mathcal{V}] is biclosed (i.e., the tensor product 𝒱\mathcal{V}-functor has a right 𝒱\mathcal{V}-adjoint – equivalently, preserves (weighted) colimits – in each variable). In fact, every biclosed monoidal structure? on [𝒞,𝒱][\mathcal{C},\mathcal{V}] arises in this way from some promonoidal structure on 𝒞\mathcal{C}. (For instance, one recovers the 𝒱\mathcal{V}-functor PP from the tensor product *\ast by P(A,B;C)=(𝒞(A,)*𝒞(B,))CP(A,B;C) = (\mathcal{C}(A,-) \ast \mathcal{C}(B,-))C.)

So, since the Ab\mathbf{Ab}-category Ch\mathbf{Ch} of chain complexes is (equivalent to) an Ab\mathbf{Ab}-enriched functor category [𝒞,Ab][\mathcal{C},\mathbf{Ab}] (for the Ab\mathbf{Ab}-category 𝒞\mathcal{C} described in the question to which you linked), and since the standard monoidal structure on Ch\mathbf{Ch} is Ab\mathbf{Ab}-enriched and biclosed, this monoidal structure must be the Day convolution monoidal structure for some promonoidal? structure on 𝒞\mathcal{C}. And it isn’t too hard to describe that promonoidal? structure. For instance, (presuming I haven’t bungled the calculation) the functor PP is defined on objects by

P(i,j;k)={ ifi+j=k, ifi+j=k+1, ifi+j=k+2, 0 else. P(i,j;k) = \begin{cases} \mathbb{Z} & \mathrm{if } \, i+j=k, \\ \mathbb{Z} \oplus \mathbb{Z} & \mathrm{if } \, i+j=k+1, \\ \mathbb{Z} & \mathrm{if } \, i+j=k+2, \\ 0 & \mathrm{else}. \end{cases}

Canonical Forgetful Functor

Every 𝒱\mathcal{V}-enriched monoidal category (𝒞, 𝒞,1 𝒞)(\mathcal{C}, \otimes_{\mathcal{C}}, 1_{\mathcal{C}}) has a canonical forgetful functor

U 𝒞𝒞(1 𝒞,):𝒞𝒱 U_{\mathcal{C}} \;\coloneqq\; \mathcal{C}(1_{\mathcal{C}},-) \;\colon\; \mathcal{C} \longrightarrow \mathcal{V}

given by forming hom-objects out of the tensor unit.

This functor is automatically lax monoidal and if 𝒞\mathcal{C} is closed monoidal with internal hom [,] 𝒞[-,-]_{\mathcal{C}} then we further have U 𝒞[,] 𝒞𝒞(,)U_{\mathcal{C}}[-,-]_{\mathcal{C}} \cong \mathcal{C}(-,-). This functor is particularly important to the theory of enriched categories.


U Ch:Ch (R)RModU_{Ch} \colon Ch_\bullet(R) \longrightarrow R\text{Mod} takes a chain complex to its cycles/closed elements of degree 0.


Since the tensor unit ICh (R)I \,\in\, Ch_\bullet(R) is the chain complex concentrated on RR in degree 0, hence with all differentials being 0, a chain map out of II

  1. is fixed by its value on 1R1 \in R (by RR-linearity)

  2. must take values in elements of degree 0 whose differential also vanishes (by the chain map property).


In particular U ChU_{Ch} does not simply take a chain complex to its term at degree 0. That would of course give a different forgetful functor.


Square as tensor product of interval with itself


For RR some ring, let I Ch (RMod)I_\bullet \in Ch_\bullet(R Mod) be the chain complex given by

I =[00R 0 IRR], I_\bullet = \left[ \cdots \to 0 \to 0 \to R \stackrel{\partial^{I}_0}{\to} R \oplus R \right] \,,

where 0 I=(id,id)\partial^I_0 = (-id, id).

This is the normalized chain complex of the simplicial chain complex of the standard simplicial interval, the 1-simplex Δ 1\Delta_1, as follows: we may think of

I 0=RRR[{(0),(1)}] I_0 = R \oplus R \simeq R[ \{(0), (1)\} ]

as the RR-linear span of two basis elements labelled “(0)(0)” and “(1)(1)”, to be thought of as the two 0-chains on the endpoints of the interval. Similarly we may think of

I 1=RR[{(01)}] I_1 = R \simeq R[\{(0 \to 1)\}]

as the free RR-module on the single basis element which is the unique non-degenerate 1-simplex (01)(0 \to 1) in Δ 1\Delta^1.

Accordingly, the differential 0 I\partial^I_0 is the oriented boundary map of the interval, taking this basis element to

0 I:(01)(1)(0) \partial^I_0 : (0 \to 1) \mapsto (1) - (0)

and hence a general element r(01)r\cdot(0 \to 1) for some rRr \in R to

0 I:r(01)r(1)r(0). \partial^I_0 : r\cdot(0 \to 1) \mapsto r\cdot (1) - r\cdot(0) \,.

We now write out in full details the tensor product of chain complexes of I I_\bullet with itself, according to def. :

S I I . S_\bullet \coloneqq I_\bullet \otimes I_\bullet \,.

By definition and using the above choice of basis element, this is in low degree given as follows:

S 0 =I 0I 0 =(RR)(RR) RRRR ={r 00((0),(0))+r 01((0),(1))+r 10((1),(0))+r 11((1),(1))|r ,R}, \begin{aligned} S_0 &= I_0 \otimes I_0 \\ & = (R \oplus R) \otimes (R \oplus R) \\ & \simeq R \oplus R \oplus R \oplus R \\ & = \left\{ r_{00} \cdot ((0),(0)') + r_{01} \cdot ((0),(1)') + r_{10} \cdot ((1),(0)') + r_{11} \cdot ((1),(1)') | r_{\cdot, \cdot} \in R \right\} \end{aligned} \,,

where in the last line we express a general element as a linear combination of the canonical basis elements which are obtained as tensor products (a,b)RR(a,b) \in R\otimes R of the previous basis elements. Notice that by the definition of tensor product of modules we have relations like

r((0),(1))=(r(0),(1))=((0),r(1)) r ( (0), (1)') = (r(0), (1)') = ((0), r(1)')


Similarly then, in degree-1 the tensor product chain complex is

(II) 1 =(I 0I 1)(I 1I 0) R(RR)(RR)R RRRR {r 0((0),(01))+r 1((1),(01))+r¯ 0((01),(0))+r¯ 1((01),(1))|r ,r¯ R}. \begin{aligned} (I \otimes I)_1 & = (I_0 \otimes I_1) \oplus (I_1 \otimes I_0) \\ & \simeq R \otimes (R \oplus R) \oplus (R \oplus R) \otimes R \\ & \simeq R \oplus R \oplus R \oplus R \\ & \simeq \left\{ r_{0} \cdot ((0),(0\to 1)') + r_{1} \cdot ((1), (0 \to 1)') + \bar r_0 \cdot ((0\to 1), (0)') + \bar r_1 \cdot ((0 \to 1), (1)') | r_{\cdot}, \bar r_{\cdot} \in R \right\} \end{aligned} \,.

And finally in degree 2 it is

(II) 2 I 1I 1 RR R {r((01),(01))|rR}. \begin{aligned} (I \otimes I)_2 & \simeq I_1 \otimes I_1 \\ & \simeq R \otimes R \\ & \simeq R \\ & \simeq \left\{ r\cdot ((0 \to 1), (0 \to 1)') | r \in R \right\} \end{aligned} \,.

All other contributions that are potentially present in (II) (I \otimes I)_\bullet vanish (are the 0-module) because all higher terms in I I_\bullet are.

The tensor product basis elements appearing in the above expressions have a clear geometric interpretation: we can label a square with them as follows

((0),(1)) ((01),(1)) ((1),(1)) ((0),(01)) ((01),(01)) ((1),(01)) ((0),(0)) ((01),(0)) ((1),(0)). \array{ ((0),(1)') &&\underset{((0\to 1),(1)')}{\to}&& ((1),(1)') \\ \\ {}^{\mathllap{((0),(0\to 1)')}}\uparrow &&\righttoleftarrow^{((0 \to 1), (0\to 1)')}&& \uparrow^{\mathrlap{((1),(0 \to 1)')}} \\ \\ ((0),(0)') &&\underset{((0\to 1),(0)')}{\to}&& ((1),(0)') } \,.

This diagram indicates a cellular square and identifies its canonical singular chains with the elements of (II) (I \otimes I)_\bullet. The arrows indicate the orientation. For instance the fact that

II((01),(0)) =( I(01),(0))+(1) 1((01), I(0)) =((1)(0),(0))0 =((1),(0))((0),(0)) \begin{aligned} \partial^{I \otimes I} ((0 \to 1), (0)') & = (\partial^I (0 \to 1), (0)') + (-1)^1 ((0\to 1), \partial^I (0)) \\ & = ( (1) - (0), \;(0)' ) - 0 \\ & = ((1), (0)') - ((0), (0)') \end{aligned}

says that the oriented boundary of the bottom morphism is the bottom right element (its target) minus the bottom left element (its source), as indicated. Here we used that the differential of a degree-0 element in I I_\bullet is 0, and hence so is any tensor product with it.

Similarly the oriented boundary of the square itself is computed to

II((01),(01)) =( I(01),(01))((01), I(01)) =((1)(0),(01))((01),(1)(0)) =((1),(01))((0),(01))((01),(1))+((01),(0)), \begin{aligned} \partial^{I \otimes I} ((0 \to 1), (0 \to 1)') &= (\partial^I (0 \to 1), (0 \to 1)') - ((0 \to 1), \partial^I(0 \to 1)) \\ & = ((1)- (0), (0 \to 1)') - ((0 \to 1), (1)' - (0)') \\ & = ((1), (0 \to 1)') - ((0), (0 \to 1)') - ((0 \to 1), (1)') + ((0 \to 1), (0)') \end{aligned} \,,

which can be read as saying that the boundary is the evident boundary thought of as oriented by drawing it counterclockwise into the plane, so that the right arrow (which points up) contributes with a +1 prefactor, while the left arrow (which also points up) contributes with a -1 prefactor.

Singular chain complex

For X,YX,Y \in Top two topological spaces, the Eilenberg-Zilber theorem asserts a quasi-isomorphism

C (X×Y)(C(X)C(Y)) C_\bullet(X \times Y) \to (C(X) \otimes C(Y))_\bullet

between the singular chain complex of the product topological space and the tensor product of chain complexes of the separate singular chain complexes.

Filtering and spectral sequences

As for any total complex of a double complex, the tensor product of chain complexes is naturally a filtered chain complex, either by the degree of the first of by that of the second chain complex factor.


Let RR be a commutative ring. For A,BRA, B \in RMod, the two ways of computing the Tor left derived functor coincide

(L n(() RB))(A)(L n(A R()))(B) (L_n ((-)\otimes_R B))(A) \simeq (L_n (A \otimes_R (-)))(B)

and hence we can consistently write Tor n(A,B)Tor_n(A,B) for either.


Let Q A qiAQ^A_\bullet \stackrel{\simeq_{qi}}{\to} A and Q B qiBQ^B_\bullet \stackrel{\simeq_{qi}}{\to} B be projective resolutions of AA and BB, respectively. The corresponding tensor product of chain complexes Tot(Q AQ B)Tot (Q^A_\bullet\otimes Q^B_\bullet), hence by prop. the total complex of the degreewise tensor product of modules double complex carries the filtration by horizontal degree as well as that by vertical degree.

Accordingly there are the corresponding two spectral sequences of a double complex, to be denoted here { AE p,q r} r,p,q\{{}^{A}E^r_{p,q}\}_{r,p,q} (for the filtering by AA-degree) and { BE p,q r} r,p,q\{{}^{B}E^r_{p,q}\}_{r,p,q} (for the filtering by BB-degree). By the discussion there, both converge to the chain homology of the total complex.

We find the value of both spectral sequences on low degree pages according to the general discussion at spectral sequence of a double complex - low degree pages.

The 0th page for both is

AE p,q 0= BE p,q 0Q p A RQ q B. {}^A E^0_{p,q} = {}^B E^0_{p,q} \coloneqq Q^A_p \otimes_R Q^B_q \,.

For the first page we have

AE p,q 1 H q(C p,) H q(Q p AQ B) \begin{aligned} {}^A E^1_{p,q} & \simeq H_q(C_{p,\bullet}) \\ & \simeq H_q( Q^A_p \otimes Q^B_\bullet ) \end{aligned}


BE p,q 1 H q(C ,p) H q(Q AQ p B). \begin{aligned} {}^B E^1_{p,q} & \simeq H_q(C_{\bullet,p}) \\ & \simeq H_q( Q^A_\bullet \otimes Q^B_p ) \end{aligned} \,.

Now using the universal coefficient theorem in homology and the fact that Q AQ^A_\bullet and Q BQ^B_\bullet is a resolution by projective objects, by construction, hence of tensor acyclic objects for which all Tor-modules vanish, this simplifies to

AE p,q 1 Q p AH q(Q B) {Q p A RB ifq=0 0 otherwise \begin{aligned} {}^A E^1_{p,q} & \simeq Q^A_p \otimes H_q(Q^B_\bullet) \\ & \simeq \left\{ \array{ Q^A_p \otimes_R B & if\; q = 0 \\ 0 & otherwise } \right. \end{aligned}

and similarly

BE p,q 1 H q(Q A) RQ p B {A RQ p B ifq=0 0 otherwise. \begin{aligned} {}^B E^1_{p,q} & \simeq H_q(Q^A_\bullet) \otimes_R Q^B_p \\ & \simeq \left\{ \array{ A \otimes_R Q^B_p & if\; q = 0 \\ 0 & otherwise } \right. \end{aligned} \,.

It follows for the second pages that

AE p,q 2 H p(H q vert(Q AQ B)) {(L p(() RB))(A) ifq=0 0 otherwise \begin{aligned} {}^A E^2_{p,q} & \simeq H_p(H^{vert}_q(Q^A_\bullet \otimes Q^B_\bullet)) \\ & \simeq \left\{ \array{ (L_p( (-)\otimes_R B ))(A) & if \; q = 0 \\ 0 & otherwise } \right. \end{aligned}


BE p,q 2 H p(H q hor(Q AQ B)) {(L p(A R()))(B) ifq=0 0otherwise. \begin{aligned} {}^B E^2_{p,q} & \simeq H_p(H^{hor}_q(Q^A_\bullet \otimes Q^B_\bullet)) \\ & \simeq \left\{ \array{ (L_p ( A \otimes_R (-) ))(B) & if \; q = 0 \\ 0 \; otherwise } \right. \end{aligned} \,.

Now both of these second pages are concentrated in a single row and hence have converged on that page already. Therefore, since they both converge to the same value:

L p(() RB)(A) AE p,0 2 AE p,0 BE p,0 2L p(A R())(B). L_p((-)\otimes_R B)(A) \simeq {}^A E^2_{p,0} \simeq {}^A E^\infty_{p,0} \simeq {}^B E^2_{p,0} \simeq L_p(A \otimes_R (-))(B) \,.



Early discussion of the tensor product of chain complexes:

and in relation to the closed monoidal-structure that it makes with the internal hom of chain complexes:

Textbook accounts:

Last revised on September 7, 2023 at 03:17:18. See the history of this page for a list of all contributions to it.