Lemma. Let $U, V \in U(n)$ be unitary matrices. If $UU^T = VV^T$, then there exists a real orthogonal matrix $O$ such that $UO = V$.
Proof. Define $O = U^*V = \bar{U}^T V$. We need to show that $O$ is real orthogonal and $UO = V$.
First, note that $O$ is unitary as a product of unitary matrices.
To show $O$ is real orthogonal, we compute:
$$OO^T = U^*V(U^*V)^T = U^*VV^T(U^*)^T = U^*VV^T\bar U$$
Since $UU^T = VV^T$ by hypothesis, we have:
$$OO^T = U^*(UU^T)\bar U = (U^*U)(U^T\bar U) = I \cdot I = I$$
Thus $O^T = O^{-1}$. But since $O$ is unitary, we also have $O^* = O^{-1}$. Therefore:
$$O^* = O^T \implies \bar{O}^T = O^T \implies \bar{O} = O$$
Hence $O$ is real. Combined with $OO^T = I$, this shows $O$ is real orthogonal.
Finally, $UO = U(U^*V) = (UU^*)V = IV = V$, completing the proof. $\square$
Lemma. Let $U \in U(n) \cap S(n)$ where $S(n)$ denotes the set of complex symmetric matrices. Then $U$ can be real orthogonally diagonalized.
Proof. Write $U = A + iB$ where $A, B$ are real matrices. Since $U$ is symmetric, $U = U^T$, which gives:
$$A + iB = (A + iB)^T = A^T + iB^T$$
Therefore $A = A^T$ and $B = B^T$, so $A$ and $B$ are real symmetric matrices.
Since $U$ is unitary, $U^*U = I$. We have $U^* = \overline{U}^T = (A - iB)^T = A - iB$ (using symmetry). Thus:
$$U^*U = (A - iB)(A + iB) = A^2 + B^2 + i(AB - BA) = I$$
Comparing real and imaginary parts:
\begin{align}
A^2 + B^2 &= I\\
AB - BA &= 0
\end{align}
The second equation shows that $A$ and $B$ commute. Since $A$ and $B$ are real symmetric matrices that commute, they can be simultaneously diagonalized by a real orthogonal matrix $P$:
$$P^TAP = D_A, \quad P^TBP = D_B$$
where $D_A, D_B$ are real diagonal matrices.
Therefore:
$$P^TUP = P^T(A + iB)P = D_A + iD_B$$
is diagonal, completing the proof. $\square$
Corollary. Every matrix $U \in U(n) \cap S(n)$ has a square root in $U(n) \cap S(n)$.
Proof. From the previous lemma, $U$ can be real orthogonally diagonalized:
$$U = PDP^T$$
where $P$ is real orthogonal and $D = \text{diag}(\lambda_1, \ldots, \lambda_n)$ is diagonal.
Since $U$ is unitary, all eigenvalues satisfy $|\lambda_j| = 1$. We can write $\lambda_j = e^{i\theta_j}$ for some $\theta_j \in \mathbb{R}$.
Choose a branch of the square root and define:
$$\sqrt{D} = \text{diag}(\sqrt{\lambda_1}, \ldots, \sqrt{\lambda_n})$$
where $\sqrt{\lambda_j} = e^{i\theta_j/2}$ (using the principal branch, for instance).
Define $V = P\sqrt{D}P^T$. Then:
$$V^2 = P\sqrt{D}P^T \cdot P\sqrt{D}P^T = P\sqrt{D} \cdot \sqrt{D}P^T = PDP^T = U$$
Moreover, $V$ inherits the following properties:
Symmetric: $V^T = (P\sqrt{D}P^T)^T = P\sqrt{D}^TP^T = P\sqrt{D}P^T = V$ (since $\sqrt{D}$ is diagonal)
Unitary: $V^*V = P\overline{\sqrt{D}}P^T \cdot P\sqrt{D}P^T = P\overline{\sqrt{D}}\sqrt{D}P^T = P\cdot I \cdot P^T = I$
(since $|\sqrt{\lambda_j}| = 1$ for all $j$)
Therefore, $V \in U(n) \cap S(n)$ and $V^2 = U$, establishing that $U$ has a square root in $U(n) \cap S(n)$. $\square$
Theorem. For any $U \in U(n)$, there exists a real orthogonal matrix $O$ such that $UO$ is real orthogonally diagonalizable.
Proof. Consider $UU^T$. We first show that $UU^T \in U(n) \cap S(n)$:
- Symmetric: $(UU^T)^T = (U^T)^TU^T = UU^T$ ✓
- Unitary: its a product of unitary matrices hence unitary.
Therefore $UU^T \in U(n) \cap S(n)$.
By the square root corollary, there exists $V \in U(n) \cap S(n)$ such that $V^2 = UU^T$.
Since $V$ is symmetric, $V = V^T$, which gives:
$$UU^T = V^2 = VV = VV^T$$
By the first lemma (with $U$ and $V$ both unitary and $UU^T = VV^T$), there exists a real orthogonal matrix $O$ such that:
$$UO = V$$
Since $V \in U(n) \cap S(n)$, by the diagonalization lemma, $V$ is real orthogonally diagonalizable. Therefore $UO = V$ is real orthogonally diagonalizable. $\square$
We can now complete the proof by using the strategy outline in the question. A more geometric way is when taking the square root pick the branch that has positive imaginary part or real positive if the imaginary part is $0$.