$\DeclareMathOperator\SL{SL}\DeclareMathOperator\Sp{Sp}$In a group $G$, an element $g$ is said to be primitive if there is no $h \in G$ and integer $n >1$ such that $g = h^n$. (For clarification, I consider finite order elements to be not primitive)

I was wondering, in the case $G$ is $\SL_n(\mathbb{Z})$ or $\Sp_{2n}(\mathbb{Z})$, if there exists a criterion for primitivity of matrices. I actually even struggle to find examples of primitives matrices in these groups.

In $\Sp_{2}(\mathbb{Z})=\SL_{2}(\mathbb{Z})$, the matrix $\pmatrix{1 & 1 \\ 0 & 1}$ is primitive. (This can be shown by considering its action on $\mathbb{H^2}$, for example.)

But this does not generalize (easily at least) to higher dimension. For example, and quite surprisingly maybe $$ \pmatrix {1 & 0 & 0& 1\\ 0 & 1 & 0 & 0\\ 0 & 1 & -1 & 1\\ 0 & 1& -1 & 0 }^3 = \pmatrix{1 & 1 & 0& 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0& 0 & 1} $$

Anyway, it seems like some things should be known, but it is very hard to find anything on google since primitive matrix usually means something else …. I would appreciate any input.

4more comments