This is insanely frustrating to me, as I know I must be described somewhere, but I just cannot seem to find any references. I know that simplicial homology (or thus Betti numbers) is commonly computed through the Smith normal form using the following theorem.
Let $A$ be an $m\times n$ integer matrix, and $B$ be an $l\times m$ integer matrix such that $BA=0$. Then \begin{equation} \mathrm{Ker}(B)/\mathrm{Im}(A)\cong\bigoplus^r_{i=1}\mathbb{Z}/(\alpha_i)\oplus\mathbb{Z}^{m-r-s}, \end{equation} Where $r=\mathrm{rank}(A)$, $s=\mathrm{rank}(B)$, and $\alpha_1, \ldots, \alpha_r$ are the non-zero elements on the diagonal of the Smith normal form of $A$.
It seems to me that almost everywhere they use this result to describe how simplicial homology is computed for integer coefficients. Yet in practice, homology is often computed for coefficients over finite fields. Is there a similar result as above but for finite fields, that explains how simplicial homology is obtained in practice for these? Or is it obtained from the result above with integer coefficients and then transformed somehow (say using the Universal coefficient theorem)?
In summary, my question could be interpreted as "how are Betti numbers computed over finite fields? Is there a more general theorem that allows us to obtain it through the Smith normal form (which exists for fields as well) as above?"
I was really hoping someone could point me to the appropriate references...