Deriving the generators of the discrete Heisenberg Group I am pretty new to group theory and having a hard time figuring out how most texts specify the discrete Heisenberg group and simply write the generators as if it is pretty trivial.
Again, I'm pretty new to group theory and much of the terminology is still foreign. Could anyone give a spelled-out version of how this is done? I saw a similar post on here but the explanation was short but still above my head.
Thanks!
 A: In short, for a prime number $p$, the discrete Heisenberg group $H_p$ is the group of all upper unidiagonal $3\times3$-matrices over $\Bbb{F}_p$. What that means is that the elements of $H_p$ are of the form
$$M(a,b,c):=\begin{pmatrix}1&a&b\\0&1&c\\0&0&1\end{pmatrix},$$
where $a$, $b$ and $c$ are elements of $\Bbb{F}_p=\Bbb{Z}/p\Bbb{Z}$, i.e. the integers modulo $p$. Multiplication is the usual matrix multiplication. It doesn't seem too unreasonable that this group is generated by the elements
$$X:=M(1,0,0)=\begin{pmatrix}1&1&0\\0&1&0\\0&0&1\end{pmatrix}
\qquad\text{ and }\qquad
Y:=M(0,0,1)=\begin{pmatrix}1&0&0\\0&1&1\\0&0&1\end{pmatrix},$$
and some quick computations show that
$$X^2=\begin{pmatrix}1&2&0\\0&1&0\\0&0&1\end{pmatrix},
\qquad
XY=\begin{pmatrix}1&1&1\\0&1&1\\0&0&1\end{pmatrix},
\qquad
Y^2=\begin{pmatrix}1&0&0\\0&1&2\\0&0&1\end{pmatrix},$$
which looks promising. In fact we see that
\begin{eqnarray*}
XM(a,b,c)&=&M(a+1,b+c,c),\\
M(a,b,c)X&=&M(a+1,b,c),\\
YM(a,b,c)&=&M(a,b,c+1),\\
M(a,b,c)Y&=&M(a,a+b,c+1).
\end{eqnarray*}
From here it is not hard to see that to get $M(a,b,c)$ for arbitrary $a,b,c\in\Bbb{F}_p$, we can left- and right-multiply by $X$ and $Y$ until we get $M(u,b,v)$ for some $u,v\in\Bbb{F}_p$, and then
$$Y^{v-c}M(u,b,v)X^{u-a}=M(a,b,c).$$
This shows (or illustrates?) that $X$ and $Y$ generate $H_p$.
