Homology of a chain complex

Definition
Suppose $$C$$ is a chain complex, i.e., a collection of groups $$C_n, n \in \mathbb{Z}$$, along with boundary maps $$\partial_n: C_n \to C_{n-1}$$ for all $$n \in \mathbb{Z}$$ such that $$\partial_{n-1} \circ \partial_n = 0$$ for all $$n$$. In other words, we have:

$$\dots \stackrel{\partial_{n+1}}{\to} C_n \stackrel{\partial_n}{\to} C_{n-1} \stackrel{\partial_{n-1}}{\to} C_{n-2} \stackrel{\partial_{n-2}}{\to} \dots$$

The homology of $$C$$, denoted $$H_*(C)$$, is a collection of groups $$H_n(C), n \in \mathbb{Z}$$, defined as follows:

$$H_n(C) = \operatorname{Ker}(\partial_n)/\operatorname{Im}(\partial_{n-1})$$.

Note that if $$C$$ is being viewed simply as a chain complex of abelian groups, this is a quotient in the abelian group sense. If $$C$$ is being viewed as a chain complex of modules over a commutative unital ring, the quotient is a quotient module and the homology groups also get module structures over that ring.

Basic statement
Homology is functorial, in the sense that each $$H_n$$ is a covariant functor:


 * For abelian groups: For each fixed $$n$$, the association $$C \mapsto H_n(C)$$ is a functor from the category of chain complexes with chain maps (over abelian groups) to the category of abelian groups with group homomorphisms. In particular, a chain map between chain complexes induces a homomorphism between the corresponding homology groups for each $$n$$.
 * For modules over a commutative unital ring $$R$$: For each fixed $$n$$, the association $$C \mapsto H_n(C)$$ is a functor from the category of chain complexes with chain maps (of $$R$$-modules) to the category of $$R$$-modules with module maps. In particular, a chain map between chain complexes induces a homomorphism between the corresponding homology modules for each $$n$$.

Homotopy invariance
Two chain-homotopic chain maps $$f,g:A \to B$$ between a pair of chain complexes induce identical maps on the corresponding homology groups.

Composition with other functors
A chain complex may itself arise by the application of a functor to a topological, algebraic, or differential construct. For instance, we can associate to any topological space a singular chain complex. This in turn has a homology as defined here. Composing these two functors, we get a bunch of functor from the category of topological spaces to the category of abelian groups with group homomorphisms. Somewhat confusingly, these groups are often called the homology groups of the topological space.