# How to draw a random normal matrix?

I would like to pick a random real normal (i.e. commuting with its transpose) matrix and I wonder if it can be done easily. I thought whether it would be possible to use a similar trick to drawing a symmetric matrix by first generating an arbitrary matrix A, and then setting $A=(A+A^T)/2$. Is there any similar normalization trick for matrices. I'd be grateful for any help.

• "Random" only makes sense when you specify a probability distribution. Which one do you want? There isn't any canonical choice, AFAIK. – Nate Eldredge Aug 31 '17 at 20:54
• There are many papers about "random normal matrices". Have you googled this? – Marcel Aug 31 '17 at 20:57
• @Marcel --- I presume these papers you are referring to all interpret "normal" as "Gaussian" --- which is a different kettle of fish --- for complex normal matrices I would just draw a random unitary $U$ and a random diagonal matrix $D$ and write $A=UDU^\dagger$ --- no idea how to impose the constraint that $A$ is real... – Carlo Beenakker Aug 31 '17 at 21:07
• @CarloBeenakker What is the distribution of the coefficients of this? – Igor Rivin Aug 31 '17 at 22:00
• @CarloBeenakker no, the papers I mean interpret "normal" in the sense of the question (although I think the ensembles are indeed Gaussian). Also, to make your $A$ real one just draws random orthogonal matrices, no? – Marcel Aug 31 '17 at 22:57

## 1 Answer

Any real normal matrix $M$ can be written as $M=O\,\mathrm{diag}(B_1,\ldots,B_\ell)\,O^t$ where $O$ is orthogonal and where the blocks $B_j$ are either $1\times 1$ real numbers or $2\times2$ matrices of the form: $$\left[\begin{matrix} a & b \\- b& a\end{matrix}\right],\qquad a\in\mathbb R,\qquad b>0.$$ This provides a way to sample a real $n\times n$ normal matrix whose associated measure has the full space of real normal matrices for support:

$\bullet$ Sample $O$ according to the Haar measure on the $n$-orthogonal group

$\bullet$ Randomly pick the number of blocs which will be of size $2\times 2$ between $0$ and $\lfloor \tfrac n2\rfloor$ uniformly

$\bullet$ Sample each free parameter of the blocks the blocks $B_j$'s according to, say, i.i.d standard Gaussian random variables for the real parameters and exponential $\mathcal E(1)$ random variables for the positive parameters.

• Looks great! Could you give some explanation or reference for the representation? – Domin Sep 5 '17 at 9:14
• This is just the spectral theorem for real normal operators. Googling this gave me the link below (see for Theorem 7), but there should be some classical textbook available for better references. math.fau.edu/schonbek/LinearAlgebra/lafa13normalspectra.pdf – Adrien Hardy Sep 5 '17 at 15:32