Abelian plane subgroup of a finite Heisenberg group (source code)

= Abelian plane subgroup of a finite Heisenberg group

Use the coordinate convention
$$
A(a,b,c)=\begin{pmatrix}1&a&b\\0&1&c\\0&0&1\end{pmatrix},\qquad a,b,c\in\mathbb F_p.
$$
In this convention the <Heisenberg group over a prime field> has the product
$$
A(a,b,c)A(a',b',c')=A(a+a',b+b'+ac',c+c').
$$
The subset $H=\{A(t,b,t):t,b\in\mathbb F_p\}$ is an <Abelian subgroup> of order $p^2$: the middle coordinate in a product is $b+b'+tt'$, which is symmetric in the factors. Also $A(t,b,t)^{-1}=A(-t,t^2-b,-t)$ lies in $H$. The map $A(a,b,c)\mapsto a-c$ is a surjective <group homomorphism> to the additive group of $\mathbb F_p$, with <kernel of a group homomorphism> $H$. Hence $H$ is a <normal subgroup> of <subgroup index> $p$, and its left <cosets> are exactly the level sets of $a-c$.

For odd $p$, an explicit <group isomorphism> from $H$ to the additive group $\mathbb F_p^2$ is
$$
A(t,b,t)\longmapsto(t,b-t^2/2).
$$
The term $tt'$ in matrix multiplication cancels the cross term in $(t+t')^2/2$. Thus $H$ is an <elementary abelian group>, isomorphic to $C_p\times C_p$.