Algorithm to generate normal matrices at random

194 Views Asked by At

I would like to generate normal matrices by an, say python, algorithm, that produces normal matrices distributed evenly in the limit of large n. I would not like to be restricted to Hermitian matrices since I would at some point also need imaginary eigenvalues.

1

There are 1 best solutions below

0
On

Of course, every normal matrix can be written $$ A = UDU^* $$

where $D$ is diagonal (with the eigenvalues), and $U$ is unitary. Maybe it would work to construct your normal matrices starting with the diagonal form - you can choose exactly the eigenvalues you would like, or at least choose them from a user-determined set of numbers, and then you just need to find a way to generate unitary matrices (in a manner that is satisfactorily "random" for your needs).