Es una manera de proceder de forma recursiva, considerando a los subgrupos de $\mathbb{Z}^k$ $k$ aumenta.
Para $k=1$, se están considerando los subgrupos de $\mathbb{Z}$, que son sencillas: son generados por los menos un elemento positivo en el subgrupo (si es que la hay; de lo contrario, ellos son el cero subgrupo).
Ahora, para los subgrupos de $\mathbb{Z}^{k+1}$, dado un subgrupo $H$, considere la posibilidad de
$$\begin{align*}
H_1 &= \{ a\in H \mid a = (a_1,\ldots,a_k,0)\text{ for some }a_i\in\mathbb{Z}\};\\
H_2 &= \{ (0,0,\ldots,0,a_{k+1})\mid (a_1,\ldots,a_k,a_{k+1})\in H\text{ for some }a_i\in\mathbb{Z}\}.
\end{align*}$$
Ambos son subgrupos; $H_2$ es isomorfo a un subgrupo de $\mathbb{Z}$, e $H_1$ es isomorfo a un subgrupo de $\mathbb{Z}^{k}$. Suponiendo que usted ya sabe cómo encontrar bases para subgrupos de $\mathbb{Z}^k$, vamos a $\beta$ ser una base para $H_1$; si $H_1$ es trivial, $\beta=\emptyset$. Desde $H_2$ es isomorfo a un subgrupo de $\mathbb{Z}$ existe $a\geq 0$ tal que $H_2 = \langle(0,0,\ldots,0,a)\rangle$. Si $a=0$, $H=H_1$ y hemos terminado, con base $\beta$. Si $a\neq 0$, encontramos $h\in H$, $h=(a_1,\ldots,a_{k},a)$.
A continuación, $\beta\cup\{h\}$ es una base para $H$. De hecho, si $(b_1,\ldots,b_k,b_{k+1})\in H$,$(0,0,\ldots,0,b_{k+1})\in H_2$, de modo que existe $\alpha\in\mathbb{Z}$ tal que $(b_1,\ldots,b_k,b_{k+1})-\alpha h\in H_1$, y por lo tanto podemos expresar $(b_1,\ldots,b_{k},b_{k+1})-\alpha h$ en términos de $\beta$. Por lo $\beta\cup\{h\}$ genera. Para demostrar que es linealmente independiente, supongamos que
$$\alpha_1 v_1+\cdots+\alpha_k v_k + \alpha h = \mathbf{0}$$
con $v_i\in\beta$. Esto requiere de $\alpha=0$ observando la última coordinar, y así desde $\beta$ es linealmente independiente, $\alpha_1+\cdots+\alpha_k = 0$.
Para ver esto en acción por su ejemplo, usted está buscando para el núcleo de la matriz. El núcleo de la matriz, se $K$, se compone de todos los elementos $(a,b,c)\in\mathbb{Z}^3$ tal que $a\equiv b\pmod{2}$ $b\equiv c\pmod{2}$ (la lectura de la matriz); es decir, todos los vectores en la que los tres componentes son impares, o los tres componentes son incluso.
El conjunto de todos los vectores de la forma $(a,b,0)$ que están en $K$ son los vectores que han $a$ $b$ ambos inclusive. El conjunto de números enteros que puede ser la última de coordenadas de un vector en $K$ es de $\mathbb{Z}$. Así
$$\begin{align*}
K_1 &= \{(a,b,0)\in \mathbb{Z}^3 \mid a\equiv b\equiv 0\pmod{2}\},\\
K_2 &=\{0\}\times\{0\}\times \mathbb{Z}
\end{align*}
$$
$K_2$ es generado por $(0,0,1)$, por lo que tomamos un vector de $K$ que ha pasado coordinar igual a $1$. Uno de estos es $k=(1,1,1)$.
Así que ahora queremos encontrar una base para $K_1$. Tenga en cuenta que ya tenemos todos los componentes para ser congruentes, y el último es congruente a $0$ modulo $2$, entonces, en el hecho de
$$K_1 = \{ (a,b,0)\in\mathbb{Z}^3\mid a,b\in 2\mathbb{Z}\}.$$
En este punto es fácil encontrar una base (por ejemplo, $(2,0,0)$$(0,2,0)$), pero vamos a continuar con el proceso. Buscar en el subgrupo de $H$ $\mathbb{Z}^2$ isomorfo a $K_1$,
$$H = \{ (a,b)\in\mathbb{Z}^2 \mid a,b\in2\mathbb{Z}\}.$$
Tenemos
$$\begin{align*}
H_1 &= \{ (a,0)\in \mathbb{Z}^2\mid a\in 2\mathbb{Z}\},\\
H_2 &= \{(0,b)\in H\}.
\end{align*}$$
Los elementos de $\mathbb{Z}$ que pueden ser las segundas coordenadas de los vectores en $H$$2\mathbb{Z}$. El ideal generado por a $2$, por lo que nos encontramos con un vector $h\in H$ con la segunda coordenada igual a $2$. Uno de estos vectores es $h=(0,2)$ (que corresponde a $(0,2,0)$$K$).
Y luego queremos una base para $H_1$. Una base es claramente dado por $h_1=(2,0)$ (que corresponde a $(2,0,0)$$K$). Esto le da a $\{(2,0), (0,2)\}$ como base para $H$.
Volviendo a $K$,$\beta=\{(2,0,0), (0,2,0)\}$, e $k=(1,1,1)$.
Así una base para $K$$\bigl\{(2,0,0), (0,2,0), (1,1,1)\bigr\}$.
El proceso anterior es, de hecho, la prueba de que un submódulo de un finitely libres generados por el módulo a través de cualquier PID es libre, aplicado al caso de $\mathbb{Z}$. Hay otros métodos, por supuesto.
Añadido. La Forma Normal de Smith, citado por lhf, es una manera de hacer lo anterior sin primero tratando de averiguar el núcleo; se requiere que usted mantenga un registro de las operaciones en cuestión.
Aquí, se inicia como con la costumbre de Gauss-Jordan reducción, pero sin multiplicar una fila por otra cosa que $1$ o $-1$. En primer lugar, queremos restar la segunda fila de la primera a través de la multiplicación por la izquierda, por una primaria de la matriz:
$$\left(\begin{array}{rr}
1& -1\\0&1\end{array}\right)\left(\begin{array}{ccc}1&1&0\\0&1&1\end{array}\right) = \left(\begin{array}{ccr}1 & 0 & -1\\0 & 1 & 1\end{array}\right).$$
A continuación, eliminamos el distinto de cero las entradas en las columnas a la derecha de los pivotes, a través de la multiplicación por la derecha: queremos añadir la primera columna a la tercera, y restar la segunda columna de la tercera. Este es el mismo como:
$$\left(\begin{array}{ccr}1 & 0 & -1\\0 & 1 & 1\end{array}\right)\left(\begin{array}{rrr}1 & 0 & 1\\0 & 1 & -1\\0 & 0 & 1\end{array}\right) = \left(\begin{array}{ccc}1 & 0 & 0\\0 & 1 & 0
\end{array}\right).$$
Poniendo todo junto, se tiene:
$$\left(\begin{array}{ccc}
1 & 0 & 0\\
0 & 1 & 0
\end{array}\right) = \left(\begin{array}{cr} 1&-1\\0 & 1\end{array}\right)\left(\begin{array}{ccc}1 & 1 &0\\0 & 1 & 1\end{array}\right)\left(\begin{array}{rrr}1 & 0 & 1\\0 & 1 & -1\\0 & 0 & 1\end{array}\right).$$
Ahora usted quiere interpretar esto como transformaciones lineales y el cambio de las bases de la matriz. La matriz de la extrema derecha que le dice que usted tome la base de $\mathbb{Z}^3$ dado por sus columnas, $(1,0,0)$, $(0, 1, 0)$, y $(1,-1,1)$; la matriz en el extremo izquierdo de la mano derecha le dice que tome la base para $\mathbb{Z}^2$ dado por las columnas de su inversa
$$\left(\begin{array}{cr}1& -1\\0 & 1\end{array}\right)^{-1} = \left(\begin{array}{cc}1 & 1\\0 & 1\end{array}\right),$$
que es, $(1,0)$, $(1,1)$. A continuación, $A$ es la transformación lineal $\mathbb{Z}^3\to\mathbb{Z}^2$ que envía a $(1,0,0)$ a $(1,0)$; $(0,1,0)$ a $(1,1)$; y $(1,-1,1)$$(0,0)$. De modo que el núcleo se genera por $(1,-1,1)$.
Ahora mira el mapa de $\mathbb{Z}^2\to(\mathbb{Z}/2\mathbb{Z})^2$ dado por la reducción de las coordenadas. El kernel es $2\mathbb{Z}^2$, por lo que tiene de base dado por $2(1,0) = (2,0)$$2(1,1)=(2,2)$. Tirando de ellos a $\mathbb{Z}^3$ a lo largo de $A$ da $2(1,0,0) = (2,0,0)$ (preimagen de $(2,0)$ en la base), $2(0,1,0)= (0,2,0)$ (preimagen de $(2,2)$ en la base), más el núcleo. Así tenemos que el núcleo del compuesto mapa base $(2,0,0)$, $(0,2,0)$, y $(1,-1,1)$.
Así que otra base para el kernel es $(2,0,0)$, $(0,2,0)$, y $(1,-1,1)$.