Which matrices are conjugate to an integer valued matrix? If I have a matrix $A \in M_{n\times n}(\mathbb{C})$, when does there exist a change of basis $B \in Gl_n(\mathbb{C})$ so that $BAB^{-1} \in M_{n\times n}(\mathbb{Z})$?  
Case $n=1$ is obvious (in this case, $A$ is a number, so $A$ must be an integer). Case $n=2$ already seems impossible to do by brute force. I do know it's not trivial though. Is there a nice characterization of such matrices? 
 A: For $A$ to be conjugate to an integer matrix, it is necessary that the characteristic polynomial of $A$ have integer coefficients. In particular the eigenvalues of $A$ should be algebraic integers, and it is also necessary that in the Jordan normal form for $A$, the sizes of the Jordan blocks with eigenvalue $\lambda_1$ are the same as the sizes of the Jordan blocks with eigenvalue $\lambda_2$ whenever $\lambda_1$ and $\lambda_2$ are algebraic conjugates.
These two conditions are also sufficient for $A$ to be conjugate to an integer matrix. If the conditions hold, $A$ is similar to a block diagonal matrix where for each block $B$, there is a full set $\lambda_1,\ldots,\lambda_k$ of conjugate algebraic integers and an integer $n\geq 1$ such that the Jordan normal form of $B$ has $k$ $n\times n$ Jordan blocks with eigenvalues $\lambda_1,\ldots,\lambda_k$. This $B$ is conjugate to the the companion matrix of $f(x)^n$, where $f(x)$ is the minimal polynomial of the $\lambda_i$. The companion matrix has integer entries because $f$ has integer coefficients.
