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$?

• In general, once you have the elements of $F/G$ it is very easy to describe the elements of $F \setminus G$: they are precisely the elements of the cosets different from the neutral element of $F/G$. – A.P. Jul 7 '15 at 14:49
• I see. But how would I go to find the elements of $\mathbb{Z}^3 / H$ in this particular example? – penguin1364 Jul 7 '15 at 15:38
• With a few operations you can replace the given generating set of $H$ by the simpler set of column vectors $[1~ 0 ~1]^T$, $[0~ 2 ~0]^T$, $[0 ~0~ 2]^T$. Using those generators it is no hard to write down representatives of the four cosets of $H$. – Derek Holt Jul 7 '15 at 16:57

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}$$