How could I randomly generate a random matrix with all eigenvalues inside the unit circle?

233 Views Asked by At

I want to generate a square matrix for which all eigenvalues lies inside the unit circle. Any simple way to do that in Matlab? I am not sure but such matrix is normally called schur-stable.

P.S. I want eigenvalues to be allowed to be complex because I know how to do it for the case of real eigenvalues.

Edit: I want my matrix to be real.

1

There are 1 best solutions below

0
On BEST ANSWER

There are a number of ways to do what you want, but it is not clear what properties you want the matrix to have. For example, generating $n$ random numbers between $-1$ and $1$ and calling them a diagonal matrix works, generating a random orthogonal matrix (random = uniform with respect to the haar measure on the orthogonal group), generating a random special orthogonal matrix, a random symplectic matrix, a random stochastic matrix (as suggested by Jean Marie in the comments), and the list goes on. Unless you specify what properties you want your "random" matrices tp have, there are too many answers.