Let $A$ be a real matrix with integer entries, and suppose $z$ is a complex eigenvalue of $A$ with $|z| = 1$. Is it true that $z$ is either an odd or even root of unity? That is, must there exist an $m$ such that $z^m = 1$?
Another way of asking the same thing is (I think) whether complex units with an irrational argument are algebraic numbers.
EDIT: The accepted answer shows this is not true. However, I'm still interested under what conditions can this be claimed about $A$.
No. Consider the companion matrix of the polynomial $p(x)=x^4-2x^3-2x+1$. Its eigenvalues are the roots of $p(x)$, two of which are complex (non-real) numbers with absolute value $1$, none of which is a root of unity.