Is there a way to generate uniformly spaced, or better still, to parametrise Unitary Matrices close to Identity. The solution is required primarily for $SU(3)$, but also in general for $SU(n)$.
It might be relevant that I am trying to optimise a function that takes in a unitary matrix as its argument. I am aware of the fact that $SU(n)$ matrices are exponentiated hermitian traceless generators. But that does not quite help me.
The outline of the problem that I am trying to solve is as follows -

I have an equation for the evolution of some unitary matrix. The evolution is constrained by the unitarity of the matrix - and i have the fixed points of this flow by generating the entire spectrum of $SU(3)$ matrices. But now i also have to find out the stability of these fixed points. I would prefer to use a systematic root finding type algorithm to accomplish this - which is where generating unitary matrices close to the identity comes in.
After the initial brute force search in this space, i would also require increased resolution for bisection or Newton-Ralphson to work. I already have a way to generate a uniform distribution of unitary matrices RANDOMLY - refer here. But I cannot use that for the root finding bit.

Hope the explanation helps! I have heard something about using two Householder transformations to do this, but didnt find anything to back it up! Please cite references if you don't have enough time. I will complete the answers and choose the one that leads me to the correct answer.

  • $\begingroup$ You can try generating an orthonormal base, which will then be the rows or columns of your unitary matrix. $\endgroup$ – akkkk Apr 17 '12 at 13:34
  • $\begingroup$ What do you mean by uniformly spaced? Can't you use $\exp(-i\sum_j c_j H_j)$, where $H_j$ are the Gell-Mann matrices to parametrize your matrices? $\endgroup$ – draks ... Apr 17 '12 at 13:44
  • $\begingroup$ @draks hope the edit answers your question! $\endgroup$ – Debanjan Basu Apr 17 '12 at 16:26
  • $\begingroup$ @auke the problem is to generate an ensemble of unitary matrices for root finding, not just one! $\endgroup$ – Debanjan Basu Apr 17 '12 at 16:27
  • $\begingroup$ @Debanjan This seems to be almost an exact duplicate of your last question (math.stackexchange.com/questions/129911/…), but with emphasis on $SU(3)$. I have posted a modification of my answer from last time below. $\endgroup$ – Jim Belk Apr 17 '12 at 16:29

If you want to generate random elements of $SU(3)$ close to the identity, it seems to me that the most logical approach would be to generate random elements of the Lie algebra $\mathfrak{su}(3)$, and then exponentiate them.

The Lie algebra $\mathfrak{su}(3)$ consists of all $3\times 3$ matrices $A$ with trace $0$ satisfying $A^\dagger = -A$. Such a matrix can be written as $$ A \;=\; \begin{bmatrix}ia_1 & b_1+ic_1 & b_2+ic_2 \\ -b_1+ic_1 & ia_2 & b_3+ic_3 \\ -b_2+ic_2 & -b_3+ic_3 & ia_3\end{bmatrix} $$ where $a_k,b_k,c_k$ are real and $a_1+a_2+a+3 = 0$. Given a matrix $A\in\mathfrak{su}(3)$, the exponential $\exp(tA)$ is a unitary matrix for all $t\in\mathbb{R}$.

There is a standard inner product on $\mathfrak{su}(3)$, namely the negative of the Killing form, which is invariant under the adjoint action. This is given by the formula $$ \langle A, A'\rangle = 12\sum_{k=1}^3 \left(\frac{1}{2}a_ka_k' + b_kb_k' + c_kc_k'\right) $$ If we drop the factor of $12$, then we can easily find an orthonormal basis for $\mathfrak{su}(3)$ with eight elements:

$$ M_1=\begin{bmatrix}1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 0\end{bmatrix}, \quad M_2=\frac{1}{\sqrt{3}}\begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 2\end{bmatrix} $$ $$ M_3=\begin{bmatrix}0 & 1 & 0 \\ -1 & 0 & 0 \\ 0 & 0 & 0\end{bmatrix}, \quad M_4=\begin{bmatrix}0 & 0 & 1 \\ 0 & 0 & 0 \\ -1 & 0 & 0\end{bmatrix}, \quad M_5=\begin{bmatrix}0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & -1 & 0\end{bmatrix}, $$ $$ M_6=\begin{bmatrix}0 & i & 0 \\ i & 0 & 0 \\ 0 & 0 & 0\end{bmatrix}, \quad M_7=\begin{bmatrix}0 & 0 & i \\ 0 & 0 & 0 \\ i & 0 & 0\end{bmatrix}, \quad M_8=\begin{bmatrix}0 & 0 & 0 \\ 0 & 0 & i \\ 0 & i & 0\end{bmatrix}, $$ These are known as the Gell-Mann matrices.

These eight matrices are like the standard basis of unit vectors for $\mathfrak{su}(3)$. For example, if you want a random point on the sphere in $\mathfrak{su}(3)$ of radius $0.1$, the thing to do is to choose eight random coordinates $(x_1,\ldots,x_8)$ such that $x_1^2 + \cdots + x_8^2 = 0.1^2$, and then compute $$ M \;=\; x_1M_1 + \cdots + x_8 M_8. $$ This will be a random matrix at a distance of $0.1$ from the zero matrix in $\mathfrak{su}(3)$.

To get a random matrix in $SU(3)$, you simply exponentiate: $$ \exp(M) \;=\; I + M + \frac{1}{2}M^2 + \frac{1}{3!}M^3 + \frac{1}{4!}M^4 + \cdots $$ Then $\exp(M)$ will be a random matrix in $SU(3)$ at a distance of $0.1$ from the identity.

Note: The only part I haven't explained yet is how to pick a random point $(x_1,\ldots,x_8)$ on the sphere of radius $0.1$ in $\mathbb{R}^8$. Here is a standard algorithm:

  1. Pick eight random numbers $(r_1,\ldots,r_8)$ between $-1$ and $1$.

  2. If $r_1^2 + \cdots + r_8^2 > 1$, throw the numbers out and go back to step 1. Keep picking until you choose one that satisfies $r_1^2 + \cdots + r_8^2 \leq 1$

  3. Now we have a randomly chosen tuple $(r_1,\ldots,r_8)$ such that $r_1^2 + \cdots + r_8^2 \leq 1$. Then let $$ (x_1,\ldots,x_8) \;=\; \frac{0.1}{\sqrt{r_1^2+\cdots+r_8^2}}(r_1,\ldots,r_8) $$

  • $\begingroup$ in step 2 of choosing random point in $\mathbb{R}^8$, why do we have to throw out the numbers if the euclidean distance squared is > 1? Infact we wouldn't require step 2 at all. $\endgroup$ – Debanjan Basu Apr 17 '12 at 16:46
  • 1
    $\begingroup$ @Debanjan If you don't throw out the tuples I suggest, the distribution won't be uniform on the sphere -- you will more often select points near the "corners" than near the sides. See the following paper for a discussion of some other algorithms for picking points uniformly on a sphere: www-alg.ist.hokudai.ac.jp/~jan/randsphere.pdf. $\endgroup$ – Jim Belk Apr 17 '12 at 17:59
  • $\begingroup$ @Debanjan By the way, if you want to generate a regular pattern of points on the 8-sphere (instead of random points), one possible method would be to use the vertices of a uniform 8-polytope (see en.wikipedia.org/wiki/Uniform_8-polytope). $\endgroup$ – Jim Belk Apr 17 '12 at 18:09

To parametrise unitary matrices close to the identity, we can use the fact that $SU(n)$ is a Lie group, of Lie algebra $\mathfrak{su}(n)=\{A\in\mathcal{M}_n(\mathbb{C})|A^*+A=0\}$, and that the exponential is a continuous mapping from $\mathfrak{su}(n)$ to $SU(n)$. Then the unitary matrices close to the identity are parametrized by the complex matrices satisfying $A^*+A=0$ that are close to zero.

To clarify, the exponential of a matrix is exactly the same as for a number : if $X$ is a matrix, $\exp(X)=\sum_{n=0}^\infty X^n/n!$. Beware, though, that it is no longer true that $\exp(X+Y)=\exp(X)\exp(Y)$.

  • $\begingroup$ I might've not made myself clear the first time around! Please look at the edited question again. $\endgroup$ – Debanjan Basu Apr 17 '12 at 15:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.