Positive matrix with integer eigenvalues Is there any way of creating a positive matrix which has integer eigenvalues? Each entry $a_{ij}$ of the matrix must be strictly greater than $0$. I get how to create a matrix with certain eigenvalues using diagonal matrices, but I do not know how to make sure the matrix is strictly positive

If you are fine with some restrictions on eigenvalues, then this procedure might be helpful:


*

*Generate orthonormal matrix $S$ with the first column being in the direction of $u=(1,1,\ldots 1)$. For example, you can start with the vector $u$ and $d-1$ random vectors and apply Gram-Schmidt process to them.

*Create $J=\begin{pmatrix}\lambda_1&0&\cdots\\0&\lambda_2&\cdots\\\cdots&\cdots&\cdots\end{pmatrix}$. Where all lambdas are positive and $\lambda_1$ is sufficiently large.

*Now matrix $M=SJS^{-1}$ has all positive values (if not, increase $\lambda_1$) and eigenvalues $\lambda_i$.
You can also make matrix $M$ integer by replacing $S$ with its rational approximation ($S_1=\frac1N[NS]$) and multiplying the matrix $M$ by the common denominator of its elements. That will also increase the eigenvalues, but if you don't care what they are, that's fine.
Example:
Start with 
$$
S_0 = \begin{pmatrix}1&0&0&0\\1&1&0&0\\1&0&1&0\\1&0&0&1\end{pmatrix}.
$$
After Gram-Schmidt and rationalization:
$$
S_1 = \begin{pmatrix}0.5&-0.29&-0.41&-0.71\\0.5&0.87&0&0\\0.5&-0.29&0.82&0\\0.5&-0.29&-0.41&0.71\end{pmatrix}.
$$
Take 
$$
M=S_1\begin{pmatrix}5&0&0&0\\0&1&0&0\\0&0&2&0\\0&0&0&3\end{pmatrix}S_1^{-1} = \frac16\begin{pmatrix}19&6&4&1\\6&12&6&6\\4&6&16&4\\1&6&4&19\end{pmatrix}.
$$
Thus, matrix $M'=6M$ is integer and has eigenvalues $(30,6,12,18)$.
