How to combine Unitary Matrices in a clever way?

235 Views Asked by At

I am trying to implement genetic-type algorithms on unitary matrices. Hopefully I should be able to use this question for the mutation part. But I am having an issue with the cross-over step. So here is my question:

Given two unitary matrices $A$ and $B$(both square matrices with the same size, and their elements belong to $\mathbb C$), what is a clever way of combining them so the result would still be unitary. Where, by clever I mean if the parents $A$ and $B$ are close to each other, the child would also be close to them. I can give a precise notion of what I mean by being close(if necessary), but I think most of the reasonable notions would satisfy me.

Besides the trivial choice of $A^iB^j$, I actually haven't been able to construct any unitary operators from $A$ and $B$ yet; and $A^iB^j$ is not necessarily close to $A$ or $B$.


I don't know if this is asking too much, but since the unitary matrices I'm dealing with would scale like $2^n\times2^n$(where $n>10$), I guess another aspect of being clever, should be the efficiency of the algorithm.


Edit:

So I thought about a way of generating off-springs. I think it satisfies the first requirement of being clever, however I'm not sure how efficient it could be implemented. It is built upon the fact that if $H$ is Hermitian, then $e^{iH}$ would be unitary. So this is how it works: $$A'=e^{i\alpha(B-A+B^\dagger-A^\dagger)}A \\ B'=e^{i\alpha(A-B+A^\dagger-B^\dagger)}B$$ where $\alpha$ is a real number.

I don't think this method is unique or perfect, and I would appreciate any improvements to it.

3

There are 3 best solutions below

2
On

Just a sketch/idea for real-valued (orthonormal) matrices:

1) it's enough to define your operation for $I$ and $Q$. (E.g. we can let $Q = AB^{-1}$ and then multiply the final result by $B$.

2) $Q$ is a rotation matrix. Define $R_a(Q), 0\le a \le 1$, as the rotation performed not the whole way, but only $a$ fraction of the way. If $a=0$, the result is $I$. If $a=1$, the result is $Q$.

0
On

It feels weird to answer your own question; but I found some answers and I think it's good to add them here so if anyone had a similar problem they would not suffer from a similar confusion.

Besides the first one which I wrote in the problem itself, here are some other methods:

  1. $$A'=BAB^{-1} \\B'=ABA^{-1}$$but since $A$ and $B$ are unitary, the inverse is basically conjugate transpose(Hermitian Conjugate) of them.
  2. $$C=e^{\alpha\log(A)+(1-\alpha)\log(B)}$$where $\alpha$ is a real number.
1
On

Here is another one $$C = \begin{bmatrix} A & 0\\ 0 & B\end{bmatrix}$$

And in general $$C = \begin{bmatrix} C_1 & 0 & 0 & \cdots & 0\\ 0 & C_2 & 0 & \cdots & 0\\ 0 & 0 & C_3 & \cdots & 0\\ \vdots & \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & 0 & \cdots & C_k\\ \end{bmatrix}$$ where $C_i \in \{A,B\}$.