----
> [!theorem] Theorem. ([[universal coefficients theorem for homology]])
> Let $X$ be a [[topological space]]. Let $R$ be a [[PID]] (e.g., $\mathbb{Z}$ or a [[field]]). And $M$ an $R$-[[module]].[^2] There is a natural map on [[singular homology]][^1] $\begin{align}
H_{*}(X;R) \otimes_{R} M &\to H_{*}(X ; M) \\
[c] \otimes m & \mapsto [c \otimes m].
\end{align}$
If $H_{n}(X; R)$ is a [[free module|free]] $R$-[[module]] for all $n$, then this map is an [[isomorphism]].
>
'The [[extension of scalars]] functor commutes with the homology functor when the homology is free'.
^theorem
> [!basicexample]
>
> Recall $H_{*}(\mathbb{C}P^{n}; \mathbb{Z})=\begin{cases}\mathbb{Z} & 0 \leq n \leq 2n, * \text{ even} \\ 0 & \text{else.} \end{cases}$
>
> These are all free. Consider the $\mathbb{Z}$-[[module]] $\mathbb{Z}/m\mathbb{Z}$. Then UCT gives $H_{*}(\mathbb{C}P^{n}; \mathbb{Z} / m\mathbb{Z})=H_{*}(\mathbb{C}P^{n}) \otimes _\mathbb{Z}\mathbb{Z} / m\mathbb{Z}=\begin{cases}
> \mathbb{Z} / m \mathbb{Z} & 0 \leq * \leq 2n, n \text{ even } \\
> 0 & \text{else.}
> \end{cases}$
>
> > [!basicnonexample]
> > On the other hand, (for $n \geq 2$) have $H_{2}(\mathbb{R}P^{n}; \mathbb{Z} / 2 )=\mathbb{Z}/2\neq 0=\underbrace{ H_{2}(\mathbb{R}P^{n}; \mathbb{Z}) }_{ 0 } \otimes _\mathbb{Z} \mathbb{Z} / 2$. UCT as above does not apply because $\mathbb{Z} / 2$ is not free.
^nonexample
> [!proof]- Proof. ([[universal coefficients theorem for homology]])
> Homological algebra.
----
####
[^1]: Here, $H_{*}(X; M)$ refers to [[singular homology]] [[(co)homology with coefficients|with coefficients]] *in $M$*, i.e., the [[(co)homology of a complex|homology]] of the [[chain complex of modules|chain complex]] $C_{\bullet}(X) \otimes_{\mathbb{Z}} M$ (see also [[extension of scalars]].)
[^2]: Most common example: $M=\mathbb{Z} / n\mathbb{Z}$ for $n \in \mathbb{N}$. This might not be a [[ring]], but it is always an [[abelian group]] ($\mathbb{Z}$-module).
-----
#### References
> [!backlink]
> ```dataview
> TABLE rows.file.link as "Further Reading"
> FROM [[]]
> FLATTEN file.tags as Tag
> WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom"
> GROUP BY Tag
> ```
> [!frontlink]
> ```dataview
> TABLE rows.file.link as "Further Reading"
> FROM outgoing([[]])
> FLATTEN file.tags as Tag
> WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom"
> GROUP BY Tag
> ```