Integer matrices which are not a power $\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.
 A: 
I actually even struggle to find examples of primitives matrices in these groups.

Here is a relatively easy sufficient condition. If $M \in SL_n(\mathbb{Z})$ is the $k^{th}$ power of some other matrix $N$ then every eigenvalue $\lambda$ of $N$ has the property that $\lambda^k$ is an eigenvalue of $M$, and conversely. If we can choose $M$ and an eigenvalue $\mu$ of $M$ such that every $k^{th}$ root of $\mu$ has the property that its minimal polynomial has degree larger than $n$, then $N$ cannot exist.
For this to work $\mu$ can't be a root of unity. As an explicit example we'll take $M = \left[ \begin{array}{ccc} 1 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & -1 \end{array} \right]$, the Fibonacci matrix augmented by a $-1$ to live in $SL_3(\mathbb{Z})$, whose eigenvalues are $-1$ and the golden ratios $\phi, \varphi = \frac{1 \pm \sqrt{5}}{2}$. Any $\lambda$ such that $\lambda^k = \phi, \varphi$ for $k \ge 2$ generates an extension of $\mathbb{Q}$ which contains $\mathbb{Q}(\sqrt{5})$ and hence is either equal to $\mathbb{Q}(\sqrt{5})$ or else has even degree greater than $2$ and so at least $4$. Moreover $\lambda$ is an algebraic integer and a unit.
But $\phi, \varphi$ each generate the unit group of $\mathcal{O}_{\mathbb{Q}(\sqrt{5})} = \mathbb{Z}[\phi]$ (up to signs). So if $\mathbb{Q}(\lambda) = \mathbb{Q}(\sqrt{5})$ then $\lambda$ must be $\pm \phi$ or $\pm \varphi$, but this is ruled out by taking the absolute value. So the minimal polynomial of $\lambda$ must have degree at least $4$, which means $\lambda$ can't be an eigenvalue of a matrix in $SL_3(\mathbb{Z})$.
