Show that a morphism \(u: C\to D\) of chain complexes preserves boundaries and cycles respectively, hence inducing a map \(H_n(C) \to H_n(D)\) for each \(n\). Prove that $H_n: \mathsf{Ch}( {}{R}{\mathsf{Mod}} ) \to {}{R}{\mathsf{Mod}} $ is a functor.
The chain map \(u\) induces the following welldefined maps: \begin{align*} Z_n(u): Z_n(C) &\to Z_n(D) \\ B_n(u): B_n(C) &\to B_n(D) .\end{align*}
We’ll use the convention that \(Z_n \coloneqq\ker d_n\) and \(B_n \coloneqq\operatorname{im}d_{n+1}\) where we index chain complexes as \(C = \qty{ \cdots \to C_{n+1} \xrightarrow{d_{n+1}^C} C_n \xrightarrow{d_n^C} C_{n1} \to \cdots}\). Unraveling definitions, we would like to show the existence of maps \begin{align*} Z_n(u): \ker d_n^C &\to \ker d_n^D \\ B_n(u): \operatorname{im}d_{n+1}^C &\to \operatorname{im}d_{n+1}^D .\end{align*}
It suffices to show
 \(x\in \ker d_n^C \implies u_n(x) \in \ker d_n^D\), and
 \(y \in \operatorname{im}d_{n+1}^C \implies u_n(y) \in \operatorname{im}d_{n+1}^D\).
Since \(u\) is a morphism of chain complexes, we have a commuting ladder where \(u_{n1} \circ d_n^C = d_n^D \circ u_n\):
To see that (a) holds, we use that fact that \(R{\hbox{}}\)module morphisms send \(0_R\to 0_R\) (using \(R{\hbox{}}\)linearity) to compute \begin{align*} x \in \ker d_n^C &&\leq C_n \\ &\iff d_n^C(x)= 0_R &\in C_{n1} \\ &\iff (u_{n1} \circ d_n^C) (x) = 0_R &\in D_{n1} && \text{since $u_n$ is $R{\hbox{}}$linear}\\ &\implies (d_n^D \circ u_n)(x) = 0_R&\in D_{n1} && \text{commutativity} \\ &\implies x\in \ker (d_n^D \circ u_n) & \leq D_{n1} \\ &\iff u_n(x) \in \ker d_n^D & \leq D_n .\end{align*}
Similarly, for (b) we have \begin{align*} y \in \operatorname{im}d_{n+1}^C &\iff \exists x\in C_{n+1} \text{ such that } d_{n+1}^C(x) = y \\ &\implies u_{n+1}(x) \in D_{n+1} \\ &\implies (d_{n+1}^D \circ u_{n+1})(x) \in \operatorname{im}d_{n+1}^D \leq D_{n} \\ &\implies (u_n \circ d_{n+1}^C)(x) \in \operatorname{im}d_{n+1}^D \leq D_n && \text{commutativity} \\ &\iff u_n(y) \in \operatorname{im}d_{n+1}^D && \text{using } d_{n+1}^C(x) = y .\end{align*}
Weibel 1.1.4
Show that for every $A\in {}_{R}{\mathsf{Mod}} $ and \(C\in \mathsf{Ch}( {}_{R}{\mathsf{Mod}} )\) that \(D_{}\coloneqq\mathop{\mathrm{Hom}}_{ {}_{R}{\mathsf{Mod}} }(A, C_{})\) is a chain complex of abelian groups. Taking \(A \coloneqq Z_n\), show that \(H_n(D_{}) = 0 \implies H_n(C_{}) = 0\). Is the converse true?
We first show that if $A\in {}_{R}{\mathsf{Mod}} $ and \(C \in \mathsf{Ch}( {}_{R}{\mathsf{Mod}} )\), then \begin{align*} D_n \coloneqq\mathop{\mathrm{Hom}}_{ {}_{R}{\mathsf{Mod}} }(A, C_n) .\end{align*} defines a chain complex of abelian groups. Fixing notation, we write
\begin{align*} C \coloneqq( \cdots \to C_{n+1} \xrightarrow{d_{n+1}^C} C_n \xrightarrow{d_n^C} C_{n1} \to \cdots) .\end{align*}

\(D_n\) is an abelian group for all \(n\): Define an operation \begin{align*} +_D: D_n \times D_n &\to D_n \\ (f, g) & \mapsto \left\{ \begin{aligned} f+g: A &\to C_n \\ x &\mapsto f(x) +_C g(x) \end{aligned} \right\}, \end{align*} where \(+_C\) is the addition on \(C_n\) provided by its structure as an \(R{\hbox{}}\)module. We can then check that this operation is commutative: \begin{align*} (f+_D g)(x) &\coloneqq f(x) +_C g(x) \\ &= g(x) +_C f(x) && \text{since the addition on $C_n$ is commutative} \\ &= (g+_D f)(x) ,\end{align*} The additive inverse of \(f\) is \(f\), there is an identity function \(\operatorname{id}_{C_n}(x) \coloneqq x\), and the sum of two functions \(A\to C_n\) is again a function \(A\to C_n\), making \(D_n\) an abelian group for all \(n\).

There exist differentials \(D_n \xrightarrow{d_n^D} D_{n1}\): Noting that we have differentials \(C_n \xrightarrow{d_n^C} C_{n1}\), we can define \begin{align*} d_n^D: D_n &\to D_{n1} \\ (A \xrightarrow{f} C_n) & \mapsto (A \xrightarrow{f} C_n \xrightarrow{d_n^C} C_{n1}) ,\end{align*} i.e. we send \(f\mapsto d_n^C \circ f\) be precomposing with the differential from \(C_*\).

\((d^D)^2 = 0\): We can explicitly write \begin{align*} (d^D)^2: D_n &\to D_{n2} \\ (A \xrightarrow{f} C_n) &\mapsto (A \xrightarrow{f} C_n \xrightarrow{d_n^C} C_{n1} \xrightarrow{d_{n1}^C} C_{n2}) ,\end{align*} and so \(f \mapsto d_{n1}^C \circ d_n^C \circ f\). The claim is that this is the zero map, which follows from writing this as \((d^C)^2 \circ f = 0\circ f = 0\), using that \(C_*\) is a chain complex.
Thus
\begin{align*} D \coloneqq( \cdots \to D_{n+1} \xrightarrow{d_{n+1}^D} D_n \xrightarrow{d_n^D} D_{n1} \to \cdots) \in \mathsf{Ch}({\mathsf{Ab}}) .\end{align*}
Writing \(Z_n \coloneqq Z_n(C) \coloneqq\ker d_n^C\), we now show the following:
\begin{align*} H_n( \mathop{\mathrm{Hom}}_{ {}_{R}{\mathsf{Mod}} }( Z_n, C) = 0 \implies H_n(C) = 0 .\end{align*}
It suffices to show that \(\ker d_n^C \subseteq \operatorname{im}d_{n+1}^C\), so let \(y\in \ker d_n^C\); we want to produce the following: \begin{align*} x\in C_{n+1}, \quad d_{n+1}^C(x) = y .\end{align*}
We can start with the inclusion map \begin{align*} \iota: \ker d_n^C \hookrightarrow C_n ,\end{align*} which by definition is an element of \(D_n \coloneqq\mathop{\mathrm{Hom}}_{ {}_{R}{\mathsf{Mod}} }(Z_n, C_n)\). By assumption, the following complex is exact at \(n\) since its homology vanishes at position \(n\): \begin{align*} (\cdots \to D_{n+1} \to D_n \to D_{n1} \to \cdots) \coloneqq\\ \cdots \to \mathop{\mathrm{Hom}}_R(Z_n, C_{n+1}) \xrightarrow{d_{n+1}^D} \mathop{\mathrm{Hom}}_R(Z_n, C_{n}) \xrightarrow{d_n^D} \mathop{\mathrm{Hom}}_R(Z_n, C_{n1}) \to \cdots .\end{align*}
\(d_n^D(\iota) = 0\).
This can be seen by writing this out as the composition \begin{align*} d_n^D(\ker d_n^C \xrightarrow{\iota} C_n) = (\ker d_n^C \xrightarrow{\iota} C_n \xrightarrow{d_n^C} C_{n1}) .\end{align*} We can now use the general fact that the \(f(\ker f) = 0\) for any map \(f\), i.e. the image of the kernel is necessarily zero. Taking \(f = d_n^C\) shows that this composition is zero. By exactness, \(\ker d_n^D = \operatorname{im}d_{n+1}^D\) and we can thus pull \(\iota\) back to some \(f \in D_{n+1} \coloneqq\mathop{\mathrm{Hom}}_R(Z_n, C_{n+1})\), and since our original \(y \in \ker d_n^C \coloneqq Z_n\), it makes sense to consider \(x \coloneqq f(y) \in C_{n+1}\) and to identity \(y = \iota(y) \in C_n\):
Importantly, this \(f\) satisfies \(\iota = d_{n+1}^D(f) \coloneqq d_{n+1}^C \circ f\), and so we can write \begin{align*} y = \iota(y) = (d_{n+1}^C \circ f)(y) \coloneqq d_{n+1}(x) ,\end{align*} which is what we wanted to show.
Weibel 1.1.6
Let \(\Gamma\) be a finite graph with vertices \(V \coloneqq\left\{{v_1, \cdots, v_V}\right\}\) and edge \(E \coloneqq\left\{{e_1, \cdots, e_E}\right\}\). Define the incidence matrix of \(\Gamma\) to be the \(V\times E\) matrix \(A\) where \begin{align*} A_{ij} = \begin{cases} 1 & e_j \text{ starts at } v_i, \\ 1 & e_j \text{ ends at } v_i, \\ 0 & \text{else}. \end{cases} \end{align*} Define a chain complex by taking free \(R{\hbox{}}\)modules: \begin{align*} C \coloneqq (\cdots \to 0 \to C_1 \to C_0 \to 0 \to \cdots) = (\cdots \to 0 \to R^E \xrightarrow{A} R^V \to 0 \to \cdots) .\end{align*} If \(\Gamma\) is connected, show that \(H_0(C)\) and \(H_1(C)\) are free \(R{\hbox{}}\)modules of dimensions 1 and \(EV+1\) respectively.
Hint: choose a basis \(\left\{{v_1, v_2  v_1, \cdots, v_V  v_1}\right\}\) and use a path from \(v_1 \leadsto v_i\) to produce an element \(e\in C_1\) with \(d(e) = v_i  v_1\).
We first make the following two observations:

\(H_0(C) = \operatorname{coker}(A) \cong R^V/\operatorname{im}A \implies \operatorname{rank}H_0(C) = V  \operatorname{rank}\operatorname{im}A\), and

\(H_1(C) = \ker(A) \implies \operatorname{rank}H_1 (C) = \operatorname{rank}\ker A\)
\(\operatorname{rank}\operatorname{im}(A) = V1\).
Given this claim, applying observation (1) we immediately obtain \begin{align*} \operatorname{rank}H_0(C) = V  (V1) = 1 ,\end{align*} which is the first equality we want to show. For the second equality, we can use the first isomorphism theorem to get a SES of free \(R{\hbox{}}\)modules \begin{align*} 0 \to \ker(A) \hookrightarrow R^E \to \operatorname{im}(A) \to 0 ,\end{align*} and since \(\operatorname{im}(A)\) is free and thus projective, this sequence splits. So \(R^E \cong \ker(A) \oplus \operatorname{im}(A)\), and taking free ranks yields \begin{align*} E = \operatorname{rank}\ker(A) + (V1) \implies \operatorname{rank}\ker (A) = E  V + 1 ,\end{align*} and this yields the second equality by using observation (2) to identify the LHS with \(\operatorname{rank}H_1(C)\).
Using the fact that \begin{align*} \mathcal{B} \coloneqq\left\{{v_1, \cdots, v_V}\right\} \end{align*} is a basis for \(R^V\) as a free \(R{\hbox{}}\)module, we can make a change of basis to \begin{align*} \mathcal{B}' \coloneqq\left\{{v_1, v_2  v_1, \cdots, v_V  v_1}\right\} .\end{align*} That this is again a basis follows from the fact that the changeofbasis matrix \(M\) is uppertriangular with ones on the diagonal and thus satisfies \(\operatorname{det}M = 1_R\in R^{\times}\) (i.e. it’s a unit), so \(M\) is nonsingular. We can then observe that if \(e_i\) is an edge between two vertices \(v_{i_1} \xrightarrow{e_i} v_{i_2}\), then \(d(e_i) \coloneqq Ae_i = v_{i_2}  v_{i_2}\). By linearity, if \(e_{i_1}, \cdots, e_{i_n}\) is a sequence of edges connecting \(v_{1}\) to \(v_j\) for any \(1\leq j\leq V\), then \begin{align*} d(e_{i_1} + \cdots + e_{i_n}) = v_j  v_1 .\end{align*} Since \(\Gamma\) is connected, there always exists such a sequence of edges connecting each \(v_j\) to \(v_1\), and thus \(v_j  v_1\) is in \(\operatorname{im}(A)\). We can conclude that \begin{align*} V1 \leq {\operatorname{rank}}\operatorname{im}(A) \leq V .\end{align*} To see that \({\operatorname{rank}}\operatorname{im}(A) \neq V\), note that if \(e\) is any sequence of edges connecting \(v_1\) to itself in a loop, then \(d(e_1) = v_1  v_1 = 0\). Any other path \(e'\) must necessarily start or end at some \(v_j\neq v_1\) and satisfies \(d(e') = v_j  v_1 \neq v_1\), and so \(v_1\not\in\operatorname{im}(A)\). Thus \begin{align*} \operatorname{rank}\operatorname{im}(A) = V1 .\end{align*}
Weibel 1.2.3
Let \(\mathcal{A}\) be the category \(\mathsf{Ch}( {}_{R}{\mathsf{Mod}} )\) and let \(f\) be a chain map. Show that the complex \(\ker f\) is a (categorical) kernel of \(f\) and that \(\operatorname{coker}f\) is a (categorical) cokernel of \(f\).
For a fixed map \(f:A\to B\), the kernel of \(f\) is an object \(\ker f\) satisfying the following universal property: for any object \(K\) with a morphism \(K \xrightarrow{g} A\) making the following outer square commute, there is a unique morphism \(u: K\to \ker f\) making the entire diagram commute:
We’ll use without proof that kernels exist in $\mathcal{A} = {}_{R}{\mathsf{Mod}} $ and are given by \(\ker f \coloneqq\left\{{a\in A {~\mathrel{\Big\vert}~}f(a) = 0_B}\right\}\) along with an inclusion map \(\iota^f: \ker f \hookrightarrow A\).
Let \(A, B\in \mathsf{Ch}(\mathcal{A})\) be chain complexes and \(f: A\to B\) be a chain map. We will construct \(\ker f\) as a chain complex and show it satisfies the correct universal property.
There are unique objects $\ker f_n \in {}_{R}{\mathsf{Mod}} $ which can be assembled into a unique chain complex \((\ker f, {{\partial}}^f)\).
Proof of Claim 1:
Let \(u: A\to B\) be a chain map, so that we have a commuting diagram of the following form:
Appealing to the universal property of kernels in ${}_{R}{\mathsf{Mod}} $, we can produce unique objects \(\ker f_n\) and morphisms \(\iota^f_n: \ker f_n \to A_n\) satisfying \((\ker f_n \to A_n \to B_n) = 0\) for every \(n\). We also claim that there are maps \({{\partial}}^f_n: \ker f_n \to \ker f_{n1}\), yielding the following diagram:
Why the \({{\partial}}^f_n\) exist: this follows from the universal property of kernels in \(\mathcal{A}\): Using the commutativity of square 1 we have \begin{align*} 0 = (\ker f_{n+1} \to A_{n+1} \to B_{n+1} \to B_n) = (\ker f_{n+1} \to A_{n+1} \to A_n \to B_n) ,\end{align*} where we’ve also used the fact that \((\ker f_{n+1} \to A_{n+1} \to B_{n+1} = 0)\) from the universal property of \(\ker f_{n+1}\). So we can fit these into an appropriate diagram in \(\mathcal{A}\), which supplies these differentials:
Why the \(\iota^f: \ker f\to A\) assemble into a chain map: Note that everything here commutes, and we can break the northeast corner of this diagram up and rearrange things slightly to form the following diagram:
Here, square 2 is precisely the square 2 appearing in the original diagram, and commutativity of it for each \(n\) is precisely what is required for \(\iota^f\) to be a chain map.
Why \(({{\partial}}^f)^2 = 0\): Using the commutativity of square 3 and the fact that \(({{\partial}}^A)^2 = 0\), we have \begin{align*} \iota_{n1}^f \circ ({{\partial}}^f)^2 &\coloneqq(\ker f_{n+1} \to \ker f_n \to \ker f_{n1} \to A_{n1}) \\ &= (\ker f_{n+1} \to A_{n+1} \to A_n \to A_{n1}) \\ &\coloneqq\iota^f_{n+1} \circ ({{\partial}}^A)^2 \\ &= 0 ,\end{align*} and since \(\iota_{n1}^f\) is not the zero map, this forces \(({{\partial}}^f)^2 = 0\).
\(\hfill\blacksquare\)
The complex \(\ker f\) satisfies the universal property of kernels in \(\mathsf{Ch}( \mathcal{A})\), i.e. if \(g^K: K \to A\) is a chain map satisfying \(K\to A\to B = 0\), there is a unique chain map \(u: K \to \ker f\) making the appropriate diagram commute.
Again using the universal property of kernels in ${}_{R}{\mathsf{Mod}} $, for each \(n\) we have a commutative diagram
This results in a diagram of the following form:
It only remains to check that the \(u_n\) assemble to a chain map \(K\to \ker f\), which would follow from the commutativity of e.g. square (1). However, if (1) were not commutative, then the rectangle formed by (1) and (3) together would not be commutative – but \(g^K\) was assumed to be a chain map, so this rectangle commutes, yielding a contradiction.
Note: a proof of a similar flavor seems to work for the cokernel complex by reversing all of the arrows.
Exactness in the Snake Lemma
Verify exactness in the Snake Lemma in at least two other positions.
This follows from the construction of the complex \(\ker f\) above, specifically using the fact that the constructed differential \({{\partial}}^f\) satisfies \(({{\partial}}^f)^2 = 0\).