Let $p$ be a prime number and let $G$ be the modular Heisenberg group of order $p^3$ $$ G = \left\{\, \begin{bmatrix} 1 & b & c \\ 0 & 1 & a \\ 0 & 0 & 1 \end{bmatrix} : a, b, c \in \mathbb{Z}/p\mathbb{Z} \,\right\} $$ so that $G$ is the extra-special group of order $p^3$ and exponent $p$ if $p$ is an odd prime. What is the character table of $G$?
When $p = 2$ direct computation shows that the character table of $G$ is the following.
$$ \begin{array}{cccccc} \hline |g^G| & 1 & 1 & 2 & 2 & 2 \\ g & \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} & \begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} & \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 1 \\ 0 & 0 & 1 \end{bmatrix} & \begin{bmatrix} 1 & 1 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} & \begin{bmatrix} 1 & 1 & 0 \\ 0 & 1 & 1 \\ 0 & 0 & 1 \end{bmatrix} \\ \hline \chi_1 & 1 & 1 & 1 & 1 & 1 \\ \chi_2 & 1 & 1 & -1 & 1 & -1 \\ \chi_3 & 1 & 1 & 1 & -1 & -1 \\ \chi_4 & 1 & 1 & -1 & -1 & 1 \\ \chi_5 & 2 & -2 & 0 & 0 & 0 \\ \hline \end{array} $$
The first four linear characters comes from the abelianization $G/D(G) \cong \mathbb{Z}/2\mathbb{Z} \times \mathbb{Z}/2\mathbb{Z}$. The last non-linear character is obtained from the orthogonality relations.
Elements
Let's introduce three matrices $$ x = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 1 \\ 0 & 0 & 1 \end{bmatrix}, \quad y = \begin{bmatrix} 1 & 1 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}, \quad z = \begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}. $$ It's straightforward to check that $x^p = y^p = z^p = 1$, $z = y^{-1}x^{-1}yx$, and $$ x^ay^bz^c = \begin{bmatrix} 1 & b & c \\ 0 & 1 & a \\ 0 & 0 & 1 \end{bmatrix}. $$ In particular, we get $G = \langle x, y \rangle = \{\, x^ay^bz^c : a, b, c \in \mathbb{Z}/p\mathbb{Z} \,\}$.
Conjugacy classes
The center $Z(G)$ of $G$ is simple and is generated by $z$. So $G$ has $p$ central conjugacy classes and they are parametrized by $c \in \mathbb{Z}/p\mathbb{Z}$ as follows. $$ (z^c)^G = \left\{ \begin{bmatrix} 1 & 0 & c \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} \right\}. $$
Take a non-central element $g$ of $G$. Since $$ p = |Z(G)| = |\langle z \rangle| < |\langle g, z \rangle| \le |C(g)| < |G| = p^3, $$ the centralizer $C(g)$ of $g$ has order $p^2$ and the conjugacy class $g^G$ of $g$ has $p = p^3/p^2$ elements. Counting argument proves that $G$ has $(p^3 - p)/p = p^2 - 1$ non-central conjugacy classes and they are parametrized by $(a, b) \in \mathbb{Z}/p\mathbb{Z} \times \mathbb{Z}/p\mathbb{Z} - \{ (0, 0) \}$ as follows. $$ (x^ay^b)^G = \left\{ \begin{bmatrix} 1 & b & c \\ 0 & 1 & a \\ 0 & 0 & 1 \end{bmatrix} : c \in \mathbb{Z}/p\mathbb{Z} \right\}. $$
Irreducible characters
There are $p^2$ linear characters comes from the abelianization $\overline G = G/D(G) \cong \mathbb{Z}/p\mathbb{Z} \times \mathbb{Z}/p\mathbb{Z}$. Since $D(G) = Z(G)$, the quotient is generated by two elements $\overline x$ and $\overline y$. Take a primitive $p$-th root of unity $\zeta = e^{2\pi i/p}$. Then we have $p^2$ linear characters $ \rho_{s, t} \colon \overline G \to \mathbb{C}^\times $ defined by $ \overline x \mapsto \zeta^s $ and $ \overline y \mapsto \zeta^t $ for $(s, t) \in \mathbb{Z}/p\mathbb{Z} \times \mathbb{Z}/p\mathbb{Z}$. These yield $p^2$ linear characters $$\sigma_{s, t} \colon G \to \mathbb{C}^\times, \qquad (s, t) \in \mathbb{Z}/p\mathbb{Z} \times \mathbb{Z}/p\mathbb{Z}$$ of $G$.
To get non-linear characters, we consider characters of a subgroup $H = \langle y, z \rangle$ which is isomorphic to $\mathbb{Z}/p\mathbb{Z} \times \mathbb{Z}/p\mathbb{Z}$ and induce them to $G$. Let $$\theta_u \colon H \to \mathbb{C}^\times, \qquad u \in \mathbb{Z}/p\mathbb{Z} - \{ 0 \}$$ be a linear character of $H$ that is defined by $y \mapsto 1$ and $z \mapsto \zeta^u$.
If $a \neq 0$ then no elements of $(x^a y^b)^G$ lies in $H$ and we have $ \theta_u^G(x^a y^b) = 0 $. If $a = 0$ then $$ \begin{align} \theta_u^G(x^a y^b) &= \theta_u^G(y^b) = \frac{1}{|H|} \sum_{g \in G} \dot\theta_u(g^{-1}y^bg) = \sum_{g \in [G/H]} \dot\theta_u(g^{-1}y^bg) \\ &= \sum_{k = 0}^{p - 1} \dot\theta_u(x^{-k}y^bx^k) = \sum_{k = 0}^{p - 1} \theta_u(y^bz^{bk}) = \sum_{k = 0}^{p - 1} \zeta^{ubk} = 0. \end{align} $$ Finally, $$ \theta_u^G(z^c) = \frac{1}{|H|} \sum_{g \in G} \dot\theta_u(g^{-1}z^cg) = p \theta_u(z^c) = p \zeta^{uc}. $$
Character table
What we get so far is summarized in the next table. $$ \begin{array}{ccc} \hline |g^G| & 1 & p \\ g & z^c & x^ay^b \\ \hline \sigma_{s, t} & 1 & \zeta^{sa + tb} \\ \theta_{u}^G & p\zeta^{uc} & 0 \\ \hline \end{array} $$ From the orthogonality relations, one can check that these characters form all irreducible characters of $G$. Hence this is the character table of $G$ in general.