Describing all elements in a factor group using the structure theorem for finitely generated abelian groups On an exam I took a couple of weeks ago there was this question, which I would like to review as I did not figure it out during the exam. We were given the matrix $$A = \begin{bmatrix} 1 & 2 & 2 \\ 2 & 2 & 2 \\ 3 & 4 & 2 \end{bmatrix}$$
And the subgroup $H$ of $\mathbb{Z}^3$ generated by the vectors $g_i = \sum^{3}_{j=1} a_{ji}e_j$. So $$H = \mathbb{Z} \begin{bmatrix}1 \\2\\ 3 \end{bmatrix} + \mathbb{Z} \begin{bmatrix}2 \\2\\ 4 \end{bmatrix} + \mathbb{Z} \begin{bmatrix}2 \\2\\ 2\end{bmatrix}$$ The question was to describe all elements in the factor group $\mathbb{Z}^3 / H$ in terms of the complement $\mathbb{Z}^3 \setminus H$.
I found out, using the algorithm for the structure theorem, that $\mathbb{Z}^3/H \cong \mathbb{Z}/2\mathbb{Z} \times \mathbb{Z}/2\mathbb{Z}$, so the factor group contains the neutral element $H$ obviously, and 3 elements of order 2.
Now here is where I get stuck, trying to find these three elements. I'm also having trouble describing the complement $\mathbb{Z}^3 \setminus H$. Is there any way to methodically find the three elements of order 2 in $\mathbb{Z}^3 / H$ or is it best done through trial and error searching? And how can I describe the complement of a subgroup of $\mathbb{Z}^n$?
 A: Suppose that $M$ is an $n \times n$ matrix with coefficients in a PID $R$ and write $\langle M \rangle$ for the $R$-span of the columns of $M$. The standard way to determine $R^n / \langle M \rangle$ and determine its generators is to reduce $M$ to its Smith normal form.
For our purposes, the Smith normal form gives us two invertible matrices $S,T$ such that $SMT$ is diagonal.
This is useful because if $M = (m_{ij})$ is a diagonal matrix, then the vector $e_i$ is a generator of the quotient $R^n / \langle M \rangle$ if and only if $m_{ii}$ is not a unit.
Note that the matrices $S$ and $T$ induce isomorphisms to and from $R^n/\langle SMT \rangle$ and $R^n/\langle M \rangle$.
This is a bit long to compute by hand, although for $3 \times 3$ matrices it is still manageable. For the case at hand we have
$$
\begin{bmatrix}
1 & 0 & 0 \\
0 & 2 & 0 \\
0 & 0 & 2
\end{bmatrix} =
\begin{bmatrix}
0 & 0 & 1 \\
0 & 1 & 0 \\
1 & 0 & -1
\end{bmatrix}
\begin{bmatrix}
1 & 2 & 2 \\
2 & 2 & 2 \\
3 & 4 & 2
\end{bmatrix}
\begin{bmatrix}
-1 & 2 & -2 \\
1 & -2 & 1 \\
0 & 1 & 1
\end{bmatrix}
$$
from which we deduce that the generators of $\Bbb{Z}^3/\langle A \rangle \simeq \Bbb{Z}/2\Bbb{Z} \times \Bbb{Z}/2\Bbb{Z}$ are
$$
\begin{bmatrix}
0 \\
1 \\
0
\end{bmatrix}
\qquad \text{and} \qquad
\begin{bmatrix}
0 \\
0 \\
1
\end{bmatrix}
$$
