\documentclass[12pt,titlepage]{article} \usepackage{amsmath} \usepackage{mathrsfs} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} \usepackage{mathtools} \usepackage{graphicx} \usepackage{color} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{xparse} \usepackage{hyperref} %----Macros---------- % % Unresolved issues: % % \righttoleftarrow % \lefttorightarrow % % \color{} with HTML colorspec % \bgcolor % \array with options (without options, it's equivalent to the matrix environment) % Of the standard HTML named colors, white, black, red, green, blue and yellow % are predefined in the color package. Here are the rest. \definecolor{aqua}{rgb}{0, 1.0, 1.0} \definecolor{fuschia}{rgb}{1.0, 0, 1.0} \definecolor{gray}{rgb}{0.502, 0.502, 0.502} \definecolor{lime}{rgb}{0, 1.0, 0} \definecolor{maroon}{rgb}{0.502, 0, 0} \definecolor{navy}{rgb}{0, 0, 0.502} \definecolor{olive}{rgb}{0.502, 0.502, 0} \definecolor{purple}{rgb}{0.502, 0, 0.502} \definecolor{silver}{rgb}{0.753, 0.753, 0.753} \definecolor{teal}{rgb}{0, 0.502, 0.502} % Because of conflicts, \space and \mathop are converted to % \itexspace and \operatorname during preprocessing. % itex: \space{ht}{dp}{wd} % % Height and baseline depth measurements are in units of tenths of an ex while % the width is measured in tenths of an em. \makeatletter \newdimen\itex@wd% \newdimen\itex@dp% \newdimen\itex@thd% \def\itexspace#1#2#3{\itex@wd=#3em% \itex@wd=0.1\itex@wd% \itex@dp=#2ex% \itex@dp=0.1\itex@dp% \itex@thd=#1ex% \itex@thd=0.1\itex@thd% \advance\itex@thd\the\itex@dp% \makebox[\the\itex@wd]{\rule[-\the\itex@dp]{0cm}{\the\itex@thd}}} \makeatother % \tensor and \multiscript \makeatletter \newif\if@sup \newtoks\@sups \def\append@sup#1{\edef\act{\noexpand\@sups={\the\@sups #1}}\act}% \def\reset@sup{\@supfalse\@sups={}}% \def\mk@scripts#1#2{\if #2/ \if@sup ^{\the\@sups}\fi \else% \ifx #1_ \if@sup ^{\the\@sups}\reset@sup \fi {}_{#2}% \else \append@sup#2 \@suptrue \fi% \expandafter\mk@scripts\fi} \def\tensor#1#2{\reset@sup#1\mk@scripts#2_/} \def\multiscripts#1#2#3{\reset@sup{}\mk@scripts#1_/#2% \reset@sup\mk@scripts#3_/} \makeatother % \slash \makeatletter \newbox\slashbox \setbox\slashbox=\hbox{$/$} \def\itex@pslash#1{\setbox\@tempboxa=\hbox{$#1$} \@tempdima=0.5\wd\slashbox \advance\@tempdima 0.5\wd\@tempboxa \copy\slashbox \kern-\@tempdima \box\@tempboxa} \def\slash{\protect\itex@pslash} \makeatother % math-mode versions of \rlap, etc % from Alexander Perlis, "A complement to \smash, \llap, and lap" % http://math.arizona.edu/~aprl/publications/mathclap/ \def\clap#1{\hbox to 0pt{\hss#1\hss}} \def\mathllap{\mathpalette\mathllapinternal} \def\mathrlap{\mathpalette\mathrlapinternal} \def\mathclap{\mathpalette\mathclapinternal} \def\mathllapinternal#1#2{\llap{$\mathsurround=0pt#1{#2}$}} \def\mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}} \def\mathclapinternal#1#2{\clap{$\mathsurround=0pt#1{#2}$}} % Renames \sqrt as \oldsqrt and redefine root to result in \sqrt[#1]{#2} \let\oldroot\root \def\root#1#2{\oldroot #1 \of{#2}} \renewcommand{\sqrt}[2][]{\oldroot #1 \of{#2}} % Manually declare the txfonts symbolsC font \DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n} \SetSymbolFont{symbolsC}{bold}{U}{txsyc}{bx}{n} \DeclareFontSubstitution{U}{txsyc}{m}{n} % Manually declare the stmaryrd font \DeclareSymbolFont{stmry}{U}{stmry}{m}{n} \SetSymbolFont{stmry}{bold}{U}{stmry}{b}{n} % Manually declare the MnSymbolE font \DeclareFontFamily{OMX}{MnSymbolE}{} \DeclareSymbolFont{mnomx}{OMX}{MnSymbolE}{m}{n} \SetSymbolFont{mnomx}{bold}{OMX}{MnSymbolE}{b}{n} \DeclareFontShape{OMX}{MnSymbolE}{m}{n}{ <-6> MnSymbolE5 <6-7> MnSymbolE6 <7-8> MnSymbolE7 <8-9> MnSymbolE8 <9-10> MnSymbolE9 <10-12> MnSymbolE10 <12-> MnSymbolE12}{} % Declare specific arrows from txfonts without loading the full package \makeatletter \def\re@DeclareMathSymbol#1#2#3#4{% \let#1=\undefined \DeclareMathSymbol{#1}{#2}{#3}{#4}} \re@DeclareMathSymbol{\neArrow}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\neArr}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\seArrow}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\seArr}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\nwArrow}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\nwArr}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\swArrow}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\swArr}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\nequiv}{\mathrel}{symbolsC}{46} \re@DeclareMathSymbol{\Perp}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\Vbar}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\sslash}{\mathrel}{stmry}{12} \re@DeclareMathSymbol{\bigsqcap}{\mathop}{stmry}{"64} \re@DeclareMathSymbol{\biginterleave}{\mathop}{stmry}{"6} \re@DeclareMathSymbol{\invamp}{\mathrel}{symbolsC}{77} \re@DeclareMathSymbol{\parr}{\mathrel}{symbolsC}{77} \makeatother % \llangle, \rrangle, \lmoustache and \rmoustache from MnSymbolE \makeatletter \def\Decl@Mn@Delim#1#2#3#4{% \if\relax\noexpand#1% \let#1\undefined \fi \DeclareMathDelimiter{#1}{#2}{#3}{#4}{#3}{#4}} \def\Decl@Mn@Open#1#2#3{\Decl@Mn@Delim{#1}{\mathopen}{#2}{#3}} \def\Decl@Mn@Close#1#2#3{\Decl@Mn@Delim{#1}{\mathclose}{#2}{#3}} \Decl@Mn@Open{\llangle}{mnomx}{'164} \Decl@Mn@Close{\rrangle}{mnomx}{'171} \Decl@Mn@Open{\lmoustache}{mnomx}{'245} \Decl@Mn@Close{\rmoustache}{mnomx}{'244} \makeatother % Widecheck \makeatletter \DeclareRobustCommand\widecheck[1]{{\mathpalette\@widecheck{#1}}} \def\@widecheck#1#2{% \setbox\z@\hbox{\m@th$#1#2$}% \setbox\tw@\hbox{\m@th$#1% \widehat{% \vrule\@width\z@\@height\ht\z@ \vrule\@height\z@\@width\wd\z@}$}% \dp\tw@-\ht\z@ \@tempdima\ht\z@ \advance\@tempdima2\ht\tw@ \divide\@tempdima\thr@@ \setbox\tw@\hbox{% \raise\@tempdima\hbox{\scalebox{1}[-1]{\lower\@tempdima\box \tw@}}}% {\ooalign{\box\tw@ \cr \box\z@}}} \makeatother % \mathraisebox{voffset}[height][depth]{something} \makeatletter \NewDocumentCommand\mathraisebox{moom}{% \IfNoValueTF{#2}{\def\@temp##1##2{\raisebox{#1}{$\m@th##1##2$}}}{% \IfNoValueTF{#3}{\def\@temp##1##2{\raisebox{#1}[#2]{$\m@th##1##2$}}% }{\def\@temp##1##2{\raisebox{#1}[#2][#3]{$\m@th##1##2$}}}}% \mathpalette\@temp{#4}} \makeatletter % udots (taken from yhmath) \makeatletter \def\udots{\mathinner{\mkern2mu\raise\p@\hbox{.} \mkern2mu\raise4\p@\hbox{.}\mkern1mu \raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}} \makeatother %% Fix array \newcommand{\itexarray}[1]{\begin{matrix}#1\end{matrix}} %% \itexnum is a noop \newcommand{\itexnum}[1]{#1} %% Renaming existing commands \newcommand{\underoverset}[3]{\underset{#1}{\overset{#2}{#3}}} \newcommand{\widevec}{\overrightarrow} \newcommand{\darr}{\downarrow} \newcommand{\nearr}{\nearrow} \newcommand{\nwarr}{\nwarrow} \newcommand{\searr}{\searrow} \newcommand{\swarr}{\swarrow} \newcommand{\curvearrowbotright}{\curvearrowright} \newcommand{\uparr}{\uparrow} \newcommand{\downuparrow}{\updownarrow} \newcommand{\duparr}{\updownarrow} \newcommand{\updarr}{\updownarrow} \newcommand{\gt}{>} \newcommand{\lt}{<} \newcommand{\map}{\mapsto} \newcommand{\embedsin}{\hookrightarrow} \newcommand{\Alpha}{A} \newcommand{\Beta}{B} \newcommand{\Zeta}{Z} \newcommand{\Eta}{H} \newcommand{\Iota}{I} \newcommand{\Kappa}{K} \newcommand{\Mu}{M} \newcommand{\Nu}{N} \newcommand{\Rho}{P} \newcommand{\Tau}{T} \newcommand{\Upsi}{\Upsilon} \newcommand{\omicron}{o} \newcommand{\lang}{\langle} \newcommand{\rang}{\rangle} \newcommand{\Union}{\bigcup} \newcommand{\Intersection}{\bigcap} \newcommand{\Oplus}{\bigoplus} \newcommand{\Otimes}{\bigotimes} \newcommand{\Wedge}{\bigwedge} \newcommand{\Vee}{\bigvee} \newcommand{\coproduct}{\coprod} \newcommand{\product}{\prod} \newcommand{\closure}{\overline} \newcommand{\integral}{\int} \newcommand{\doubleintegral}{\iint} \newcommand{\tripleintegral}{\iiint} \newcommand{\quadrupleintegral}{\iiiint} \newcommand{\conint}{\oint} \newcommand{\contourintegral}{\oint} \newcommand{\infinity}{\infty} \newcommand{\bottom}{\bot} \newcommand{\minusb}{\boxminus} \newcommand{\plusb}{\boxplus} \newcommand{\timesb}{\boxtimes} \newcommand{\intersection}{\cap} \newcommand{\union}{\cup} \newcommand{\Del}{\nabla} \newcommand{\odash}{\circleddash} \newcommand{\negspace}{\!} \newcommand{\widebar}{\overline} \newcommand{\textsize}{\normalsize} \renewcommand{\scriptsize}{\scriptstyle} \newcommand{\scriptscriptsize}{\scriptscriptstyle} \newcommand{\mathfr}{\mathfrak} \newcommand{\statusline}[2]{#2} \newcommand{\tooltip}[2]{#2} \newcommand{\toggle}[2]{#2} % Theorem Environments \theoremstyle{plain} \newtheorem{theorem}{Theorem} \newtheorem{lemma}{Lemma} \newtheorem{prop}{Proposition} \newtheorem{cor}{Corollary} \newtheorem*{utheorem}{Theorem} \newtheorem*{ulemma}{Lemma} \newtheorem*{uprop}{Proposition} \newtheorem*{ucor}{Corollary} \theoremstyle{definition} \newtheorem{defn}{Definition} \newtheorem{example}{Example} \newtheorem*{udefn}{Definition} \newtheorem*{uexample}{Example} \theoremstyle{remark} \newtheorem{remark}{Remark} \newtheorem{note}{Note} \newtheorem*{uremark}{Remark} \newtheorem*{unote}{Note} %------------------------------------------------------------------- \begin{document} %------------------------------------------------------------------- \section*{tensor product of chain complexes} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{homological_algebra}{}\paragraph*{{Homological algebra}}\label{homological_algebra} [[!include homological algebra - contents]] \hypertarget{monoidal_categories}{}\paragraph*{{Monoidal categories}}\label{monoidal_categories} [[!include monoidal categories - contents]] \hypertarget{contents}{}\section*{{Contents}}\label{contents} \noindent\hyperlink{idea}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{definition}{Definition}\dotfill \pageref*{definition} \linebreak \noindent\hyperlink{properties}{Properties}\dotfill \pageref*{properties} \linebreak \noindent\hyperlink{as_a_total_complex_of_a_double_complex}{As a total complex of a double complex}\dotfill \pageref*{as_a_total_complex_of_a_double_complex} \linebreak \noindent\hyperlink{examples}{Examples}\dotfill \pageref*{examples} \linebreak \noindent\hyperlink{SquareAsIntervalSquared}{Square as tensor product of interval with itself}\dotfill \pageref*{SquareAsIntervalSquared} \linebreak \noindent\hyperlink{singular_chain_complex}{Singular chain complex}\dotfill \pageref*{singular_chain_complex} \linebreak \noindent\hyperlink{filtering_and_spectral_sequences}{Filtering and spectral sequences}\dotfill \pageref*{filtering_and_spectral_sequences} \linebreak \noindent\hyperlink{applications}{Applications}\dotfill \pageref*{applications} \linebreak \noindent\hyperlink{related_concepts}{Related concepts}\dotfill \pageref*{related_concepts} \linebreak \noindent\hyperlink{references}{References}\dotfill \pageref*{references} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} A natural [[tensor product]] of [[chain complexes]] that makes the [[category of chain complexes]] into a [[closed monoidal category]]. \hypertarget{definition}{}\subsection*{{Definition}}\label{definition} Let $R$ be a [[commutative ring]] and $\mathcal{A} = R$[[Mod]] the [[category]] of [[modules]] over $R$. Write $Ch_\bullet(\mathcal{A})$ for the [[category of chain complexes]] of $R$-modules. \begin{defn} \label{TheTensorProdComplex}\hypertarget{TheTensorProdComplex}{} For $X, Y \in Ch_\bullet(\mathcal{A})$ write $(X \otimes Y)_\bullet \in Ch_\bullet(\mathcal{A})$ for the [[chain complex]] whose component in degree $n$ is given by the [[direct sum]] \begin{displaymath} (X \otimes Y)_n := \oplus_{i + j = n} X_i \otimes_R Y_j \end{displaymath} over all tensor products of components whose degrees sum to $n$, and whose [[differential]] is given on elements $(x,y)$ of homogeneous degree by \begin{displaymath} \partial^{X \otimes Y} (x, y) = (\partial^X x, y) + (-1)^{deg(x)} (x, \partial^Y y) \,. \end{displaymath} \end{defn} \hypertarget{properties}{}\subsection*{{Properties}}\label{properties} \hypertarget{as_a_total_complex_of_a_double_complex}{}\subsubsection*{{As a total complex of a double complex}}\label{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: \begin{defn} \label{DoubleComplexTensor}\hypertarget{DoubleComplexTensor}{} For $X, Y \in Ch_\bullet(\mathcal{A})$ write $X_\bullet \otimes Y_\bullet \in Ch_\bullet(Ch_\bullet(\mathcal{A}))$ for the [[double complex]] whose component in degree $(n_1, n_2)$ is given by the [[tensor product]] \begin{displaymath} X_{n_1} \otimes Y_{n_2} \in \mathcal{A} \end{displaymath} whose horizontal differential is $\partial^{hor} \coloneqq \partial^X \otimes id_Y$ and whose vertical differential is $\partial^{vert} \coloneqq id_{X} \otimes \partial^Y$. \end{defn} \begin{prop} \label{AsTotalComplex}\hypertarget{AsTotalComplex}{} The tensor product of chain complexes, def. \ref{TheTensorProdComplex} is isomorphic to the [[total complex]] of the [[double complex]] of def. \ref{DoubleComplexTensor}: \begin{displaymath} Tot_\bullet (X_\bullet \otimes Y_\bullet) \simeq (X \otimes Y)_\bullet \,. \end{displaymath} \end{prop} \begin{proof} By direct unwinding of the definitions. \end{proof} \hypertarget{examples}{}\subsection*{{Examples}}\label{examples} \hypertarget{SquareAsIntervalSquared}{}\subsubsection*{{Square as tensor product of interval with itself}}\label{SquareAsIntervalSquared} \begin{example} \label{}\hypertarget{}{} For $R$ some [[ring]], let $I_\bullet \in Ch_\bullet(R Mod)$ be the chain complex given by \begin{displaymath} I_\bullet = \left[ \cdots \to 0 \to 0 \to R \stackrel{\partial^{I}_0}{\to} R \oplus R \right] \,, \end{displaymath} where $\partial^I_0 = (-id, id)$. This is the [[normalized chain complex]] of the [[chain on a simplicial set|simplicial chain complex]] of the standard simplicial interval, the 1-[[simplex]] $\Delta_1$, as follows: we may think of \begin{displaymath} I_0 = R \oplus R \simeq R[ \{(0), (1)\} ] \end{displaymath} as the $R$-[[linear span]] of two [[basis]] elements labelled ``$(0)$'' and ``$(1)$'', to be thought of as the two 0-[[chain on a simplicial set|chains]] on the endpoints of the interval. Similarly we may think of \begin{displaymath} I_1 = R \simeq R[\{(0 \to 1)\}] \end{displaymath} as the free $R$-module on the single basis element which is the unique non-degenerate 1-[[simplex]] $(0 \to 1)$ in $\Delta^1$. Accordingly, the [[differential]] $\partial^I_0$ is the oriented [[boundary]] map of the interval, taking this basis element to \begin{displaymath} \partial^I_0 : (0 \to 1) \mapsto (1) - (0) \end{displaymath} and hence a general element $r\cdot(0 \to 1)$ for some $r \in R$ to \begin{displaymath} \partial^I_0 : r\cdot(0 \to 1) \mapsto r\cdot (1) - r\cdot(0) \,. \end{displaymath} We now write out in full details the tensor product of chain complexes of $I_\bullet$ with itself, according to def. \ref{TheTensorProdComplex}: \begin{displaymath} S_\bullet \coloneqq I_\bullet \otimes I_\bullet \,. \end{displaymath} By definition and using the above choice of [[basis]] element, this is in low degree given as follows: \begin{displaymath} \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} \,, \end{displaymath} 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) \in R\otimes R$ of the previous basis elements. Notice that by the definition of [[tensor product of modules]] we have relations like \begin{displaymath} r ( (0), (1)') = (r(0), (1)') = ((0), r(1)') \end{displaymath} etc. Similarly then, in degree-1 the tensor product chain complex is \begin{displaymath} \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} \,. \end{displaymath} And finally in degree 2 it is \begin{displaymath} \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} \,. \end{displaymath} All other contributions that are potentially present in $(I \otimes I)_\bullet$ vanish (are the [[trivial group|0-module]]) because all higher terms in $I_\bullet$ are. The tensor product basis elements appearing in the above expressions have a clear [[geometry|geometric]] interpretation: we can label a square with them as follows \begin{displaymath} \itexarray{ ((0),(1)') &&\underset{((0\to 1),(0))}{\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)') } \,. \end{displaymath} This diagram indicates a [[cellular complex|cellular]] square and identifies its canonical [[singular chains]] with the elements of $(I \otimes I)_\bullet$. The arrows indicate the orientation. For instance the fact that \begin{displaymath} \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} \end{displaymath} 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_\bullet$ is 0, and hence so is any tensor product with it. Similarly the oriented boundary of the square itself is computed to \begin{displaymath} \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} \,, \end{displaymath} which can be read as saying that the boundary is the evident boundary thought of as oriented by drawing it \emph{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. \end{example} \hypertarget{singular_chain_complex}{}\subsubsection*{{Singular chain complex}}\label{singular_chain_complex} For $X,Y \in$ [[Top]] two [[topological spaces]], the [[Eilenberg-Zilber theorem]] asserts a [[quasi-isomorphism]] \begin{displaymath} C_\bullet(X \times Y) \to (C(X) \otimes C(Y))_\bullet \end{displaymath} between the [[singular chain complex]] of the [[product topological space]] and the tensor product of chain complexes of the separate singular chain complexes. \hypertarget{filtering_and_spectral_sequences}{}\subsubsection*{{Filtering and spectral sequences}}\label{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. \begin{prop} \label{}\hypertarget{}{} Let $R$ be a [[commutative ring]]. For $A, B \in R$[[Mod]], the two ways of computing the [[Tor]] [[left derived functor]] coincide \begin{displaymath} (L_n ((-)\otimes_R B))(A) \simeq (L_n (A \otimes_R (-)))(B) \end{displaymath} and hence we can consistently write $Tor_n(A,B)$ for either. \end{prop} \begin{proof} Let $Q^A_\bullet \stackrel{\simeq_{qi}}{\to} A$ and $Q^B_\bullet \stackrel{\simeq_{qi}}{\to} B$ be [[projective resolutions]] of $A$ and $B$, respectively. The corresponding [[tensor product of chain complexes]] $Tot (Q^A_\bullet\otimes Q^B_\bullet)$, hence by prop. \ref{AsTotalComplex} the [[total complex]] of the degreewise [[tensor product of modules]] [[double complex]] carries the [[filtered chain complex|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 $\{{}^{A}E^r_{p,q}\}_{r,p,q}$ (for the filtering by $A$-degree) and $\{{}^{B}E^r_{p,q}\}_{r,p,q}$ (for the filtering by $B$-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 \emph{\href{spectral+sequence+of+a+double%20complex#LowDegreePages}{spectral sequence of a double complex - low degree pages}}. The 0th page for both is \begin{displaymath} {}^A E^0_{p,q} = {}^B E^0_{p,q} \coloneqq Q^A_p \otimes_R Q^B_q \,. \end{displaymath} For the first page we have \begin{displaymath} \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} \end{displaymath} and \begin{displaymath} \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} \,. \end{displaymath} Now using the [[universal coefficient theorem]] \href{universal%20coefficient%20theorem#InHomology}{in homology} and the fact that $Q^A_\bullet$ and $Q^B_\bullet$ is a [[resolution]] by [[projective objects]], by construction, hence of tensor [[acyclic objects]] for which all [[Tor]]-modules vanish, this simplifies to \begin{displaymath} \begin{aligned} {}^A E^1_{p,q} & \simeq Q^A_p \otimes H_q(Q^B_\bullet) \\ & \simeq \left\{ \itexarray{ Q^A_p \otimes_R B & if\; q = 0 \\ 0 & otherwise } \right. \end{aligned} \end{displaymath} and similarly \begin{displaymath} \begin{aligned} {}^B E^1_{p,q} & \simeq H_q(Q^A_\bullet) \otimes_R Q^B_p \\ & \simeq \left\{ \itexarray{ A \otimes_R Q^B_p & if\; q = 0 \\ 0 & otherwise } \right. \end{aligned} \,. \end{displaymath} It follows for the second pages that \begin{displaymath} \begin{aligned} {}^A E^2_{p,q} & \simeq H_p(H^{vert}_q(Q^A_\bullet \otimes Q^B_\bullet)) \\ & \simeq \left\{ \itexarray{ (L_p( (-)\otimes_R B ))(A) & if \; q = 0 \\ 0 & otherwise } \right. \end{aligned} \end{displaymath} and \begin{displaymath} \begin{aligned} {}^B E^2_{p,q} & \simeq H_p(H^{hor}_q(Q^A_\bullet \otimes Q^B_\bullet)) \\ & \simeq \left\{ \itexarray{ (L_p ( A \otimes_R (-) ))(B) & if \; q = 0 \\ 0 \; otherwise } \right. \end{aligned} \,. \end{displaymath} 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: \begin{displaymath} 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) \,. \end{displaymath} \end{proof} \hypertarget{applications}{}\subsection*{{Applications}}\label{applications} \begin{itemize}% \item A [[monoid]] with respect to the tensor product of chain complexes is a [[differential graded algebra]]. \end{itemize} \hypertarget{related_concepts}{}\subsection*{{Related concepts}}\label{related_concepts} \begin{itemize}% \item [[internal hom of chain complexes]] \item [[tensor product]] \begin{itemize}% \item [[tensor product of abelian groups]] \item [[tensor product of modules]] \end{itemize} \end{itemize} \hypertarget{references}{}\subsection*{{References}}\label{references} For instance section 2.7 of \begin{itemize}% \item [[Charles Weibel]], \emph{[[An Introduction to Homological Algebra]]} \end{itemize} \end{document}