0

In an excellent answer to this question (Finding the rotation matrix in n-dimensions) an algorithm is described for explicitly constructing a rotation matrix $R \in SO(2n)$ that maps any given unit vector $\textbf{x} \in \mathbb{R}^{2n}$ to any other unit vector $\textbf{y} \in \mathbb{R}^{2n}$. However, there is no reason to expect that the matrix $R$ should also be symplectic (that is, satisfy $R^\intercal \Omega R = \Omega$ with

\begin{align*} \Omega = \left( \begin{matrix} 0 & I \\ -I & 0 \end{matrix} \right), \end{align*} where $I$ denotes the $n \times n$ identity matrix).

In case I want to map the standard basis vector $\textbf{e}_{2n}$ to some other unit vector $\textbf{x} = (x_1, \ldots, x_{2n})$ using an element of $SO(2n) \cap Sp (2n, \mathbb{R})$, how would I go about constructing such a symplectic rotation?

1 Answers1

2

In case somebody stumbles upon this question and needs an answer, I'll write up the solution that comes from the tip Kajelad gave in the comment.

One has the isomorphism \begin{align*} G = SO(2n ) \cap Sp (2n, \mathbb{R}) \ni \left( \begin{matrix} A & B \\ -B & A\end{matrix} \right) \mapsto A + iB \in U(n). \end{align*} Hence, if we want $R \in G$ of the above form with $R \textbf{e}_{2d} = (\textbf{x}, \textbf{y}) = (x_1, \ldots, x_n, y_1, \ldots, y_n )^\intercal$ of norm $1$, the last column of $B$ should be $\textbf{x}$, and the last column of $A$ should be $\textbf{y}$. This corresponds to the last column of $A + iB$ being $\textbf{a} := \textbf{y} + i \textbf{x} = (y_1 + ix_1, \ldots, y_n + i x_n )^\intercal$. In case $y_n + ix_n \neq 0$ (for example), $\lbrace \textbf{a}, \textbf{e}_1, \ldots, \textbf{e}_{n-1} \rbrace$ is a basis for $\mathbb{C}^n$. One can then turn this into an orthonormal basis using the Gram-Schmidt process. The matrix containing these orthonormal basis vectors will then be unitary. Via the inverse of the isomorphism above, one can then map this unitary matrix to an element of $G$ which will have the required property.