I want to generate a random matrix whose all eigenvalues are equal to one. How can I do it?
I know one method to generate matrices with given eigenvalues is to generate a random orthogonal matrix $Q$ and then construct some diagonal matrix $A$ with desired eigenvalues on the diagonal, then $Q^T A Q$ will be a random matrix with desired eigenvalues. However if I want all eigenvalues equal to 1, then $A$ must be an identity matrix, and then $Q^T A Q$ will also always generate an identity matrix, which is not random at all.
2026-03-28 00:46:34.1774658794
On
Generating a random matrix with all eigenvalues equal to one
1.1k Views Asked by Bumbble Comm https://math.techqa.club/user/bumbble-comm/detail At
2
There are 2 best solutions below
2
On
The orthogonal matrices have nothing to do here.
Let $N$ be the set of nilpotent $n\times n$ matrices. It is not difficult to show that a generic matrix in $N$ (for instance, a randomly chosen nilpotent matrix is almost surely ...) is similar to $J_n$, the nilpotent Jordan matrix of dimension $n$. Thus we can proceed as follows:
Choose randomly $P=[p_{i,j}]\in M_n(\mathbb{R})$ (for instance the $p_{i,j}$ follow the law $\mathcal{N}(0,1)$ and are independent) ; $P$ is almost surely invertible. Finally, an answer to your question is $P(I_n+J_n)P^{-1}$.
Let $A$ be an upper triangular matrix with $1$s along the diagonal.
If you have a complete set of eigenvectors, then $A$ must be the identity matrix. But an upper triangular matrix with $1$s along the diagonal doesn't have a complete set of eigenvectors.
The eigenvalues are all $1$, and that will still be true for $Q^TAQ$ because $$\det(A-\lambda I)=\det(Q^T(A-\lambda I)Q)=\det(Q^TAQ-\lambda I)$$