Random complex orthogonal matrices

251 Views Asked by At

How can I uniformly extract a random complex orthogonal matrix $\Omega\in O(3,\mathbb{C})$? It is easily found in the literature the uniform measure for unitary and real matrices, but I couldn't find anything about the complex case. Thanks for your help!

2

There are 2 best solutions below

5
On

A complex orthogonal $3 \times 3$ matrix has three unit vectors as its columns. Say one of them is \begin{align} \begin{bmatrix} a_1 + i b_1\\ a_2 + i b_2\\ a_3 + i b_3 \end{bmatrix} \end{align} To say they're unit vectors means that $a_1^2 + a_2^2 + a_3^2 + b_1^2 + b_2^2 + b_3^2 = 1$. So the vector \begin{align} \begin{bmatrix} a_1\\ a_2\\ a_3\\ b_1\\ b_2\\ b_3 \end{bmatrix} \end{align} is a unit vector in $\mathbb R^6$, i.e., a point of $S^5$.

To pick the first column $u_1$ of your matrix, you can just choose uniformly on $S^5$, and then convert from there to $C^3$. Clear?

For your second vector, you can pick any other vector on $S^5$. You can imagine $S^5$ as being like $S^2$, where there's the north-south axis, and then the equatorial circle. Polar coords measure "how far along the NS axis you are" (typically $z = \sin \phi$, at least in math books), with the non-phi part of the polar coords telling you where you are on equatorial circle. Perhaps expressed better: take a point uniformly on the sphere and project along the $z$ axis to a point of hte unit disk, after which you can project "out" to the equator, unless you started at the north or south pole. The resulting distribution on the equatorial circle will be uniform.

Similarly, in $S^5$, we can pick a point uniformly on the sphere, ignore the last coordinate to get a point in the 5-ball, and (unless the original point was the N or S pole), project radially to get a point in $S^4$, uniformly distributed.

There's nothing special about the N/S axis here. We could instead do this using the line in direction $u_1$, and project to the sphere perpendicular to that line. How? Pick $v$ uniformly on $S^5 \subset C^3$. Let $$ w_2 = v - (u_1 \cdot v) u_1\\ u_2 = w_2 / \| w_2 \|. $$ Here the "\cdot" means "the dot product in $C^3$", so that we end up with $u_2 \cdot w_2 = 0$ in $C^3$.

Now $u_2$ is a vector orthogonal to $u_1$, and uniformly distributed among all such vectors (I believe). If when you compute $w_2$, you get the zero vector (a probability zero event!), pick another $v$ and try again.

Finally, pick yet another $v$ uniformly on $S^5$ and then compute $$ w_3 = v - (u_1 \cdot v) u_1 - (u_2 \cdot v) u_2 \\ u_3 = w_3 / \| w_3 \|. $$ The matrix with columns $u_1, u_2, u_3$ will now be uniformly distributed on $O(3, C)$, I believe.

0
On

I tried using the parameterisation of $SO(3)$, $$ R=R_{12}(\phi)R_{13}(\theta)R_{23}(\psi), $$ where $R$ are rotation matrices, which gives the Haar measure $$ d\!\sin(\theta)\, d\phi\, d\psi. $$ In the complex case I tried complexifying the parameterisation, assuming $\phi$, $\theta$ and $\psi$ are complex angles. However, even if I extract complex $\phi$, $\psi$ and $\sin(\theta)$, I get different probability distributions for the different entries of the resulting complex orthogonal matrix. For this reason I think this is not yet the way to extract uniformly on $O(3,\mathbb{C})$.