The orthogonal Procrustes problem can be stated as finding the orthogonal matrix $\Omega$ that maps $A$ most closely to $B$

$$\arg\min_{\Omega}\|A\Omega - B\|_F \quad\mathrm{subject\ to}\quad \Omega^T \Omega=I$$

The solution is well known and found by computing $M = A^TB$ and $M =U \Sigma V^T$, from which $\Omega = UV^T$.

See: http://nemo.nic.uoregon.edu/wiki/images/0/07/Psychometrika_1966_Sch%C3%B6nemann_A_generalized_solution_of_the.pdf or https://en.wikipedia.org/wiki/Orthogonal_Procrustes_problem (for a slightly different variant)

As far as I understand this is valid for real matrices. I cannot find much information about the same problem for complex matrices. So my question is if the same solution is valid for complex matrices?

In other words if for the problem

$$\arg\min_{\Omega}\|A\Omega - B\|_F \quad\mathrm{subject\ to}\quad \Omega^* \Omega=I$$

$\Omega=UV^*$ from $M=A^*B$ and $M=U \Sigma V^*$ is a solution for complex matrices $A$ and $B$, with $^*$ the conjugate transpose?


Following the comments I tried (numerically on a small example) using the standard form of a complex number. I tried with just a complex vector $a \in \mathrm{C}^{n \times 1}$, which I transformed into a real valued matrix $A \in \mathrm{R}^{2n \times 2}$. Using $a$ or $A$ gave me exactly the same results. However, I'd still like to find a proof or some reference explicitly stating that complex matrices can be used.

Update 2

I've borrowed the book Procrustes Problems by J. C. Gower and G. B. Dijksterhuis in which they write in chapter 14 (page 188):

Two-dimensional configurations may be represented in complex space ... Some find the complex representation 'elegant' but it has its counterpart in terms of $N \times 2$ and $2 \times 2$ matrices. Complex variable representations do not generalise to three or more dimensions ...

I take this to mean that complex vectors can be treated with the equations above (as they can be represented as $N \times 2$ matrices (should it not be $2N$?)), but complex matrices cannot.

  • $\begingroup$ It seems that, as long as you settle on a suitable norm, it should be valid for complex spaces too. Some additional translation may be necessary, but all the machinery still should work. $\endgroup$
    – rschwieb
    Commented Jun 27, 2019 at 13:45
  • $\begingroup$ What do you mean by "$\arg\min \|\cdot\|$"? When I first read it, I thought it meant to minimize the arg of a complex number, but aren't you working with real-valued norms? $\endgroup$
    – rschwieb
    Commented Jun 27, 2019 at 13:45
  • $\begingroup$ Another question: can you just translate the problem from complex matrices to real matrices by representing $\mathbb C$ with $2\times 2$ real matrices? $\endgroup$
    – rschwieb
    Commented Jun 27, 2019 at 13:46
  • $\begingroup$ I don't have a good reference book for this type of problems, and took the problem formulation and solution from the link. $\endgroup$
    – zilver
    Commented Jun 27, 2019 at 13:52
  • 1
    $\begingroup$ I would first check whether or not representing the complex matrices as real matrices works. And decide what norms you are using for sure (since it sounds like you haven't.) $\endgroup$
    – rschwieb
    Commented Jun 27, 2019 at 13:55

1 Answer 1


Yes and the proof is easy. Since $\|A\Omega-B\|_F^2$ is the sum of $2\Re\operatorname{tr}(B^\ast A\Omega)$ plus a constant, if $A^\ast B=U\Sigma V^\ast$ is a SVD, you are essentially maximising $\Re\operatorname{tr}(V\Sigma U^\ast\Omega)=\Re\operatorname{tr}(\Sigma (U^\ast\Omega V))$. Let $\Sigma=S\oplus0$ where $S$ is a positive diagonal submatrix of size $k$. Since all diagonal entries of $U^\ast\Omega V$ have moduli $\le1$, $\Re\operatorname{tr}(\Sigma (U^\ast\Omega V))$ is maximised if and only if the first $k$ diagonal entries of $U^\ast\Omega V$ are equal to $1$, i.e. the set of all maximisers are given by $U^\ast\Omega V=I_k\oplus W$, i.e. $\Omega=U(I_k\oplus W)V$ for some unitary matrix $W$. In particular, $\Omega=UV^\ast$ is always a global maximiser and it is the unique maximiser if and only if all singular values of $A^\ast B$ are nonzero.

E.g. When $U=V=I$ and $\Sigma=\operatorname{diag}(\sigma_1,\ldots,\sigma_{n-1},0)$, then $\Omega=\operatorname{diag}(1,\ldots,1,e^{i\theta})$ gives the same maximum possible objective function value for every $\theta\in\mathbb R$.

  • $\begingroup$ Does this imply that $\Omega$ is unique, i.e. only $\Omega = U^*V$, or is it one possible matrix of many? I guess what I'm asking is why we know $U^*\Omega V$ is diagonal and has bounded diagonal values by 1? $\endgroup$
    – zilver
    Commented Jun 28, 2019 at 12:33
  • $\begingroup$ But one solution is still $\Omega= U V^*$? Because I think the solution above for the real case also holds for when $A$ and $B$ don't have full column rank, which implies that $A^TB$ can have multiple zero singular values, but I guess the solution is not unique then either. $\endgroup$
    – zilver
    Commented Jun 28, 2019 at 12:53
  • $\begingroup$ @zilver Yes, $UV^\ast$ is always a global maximiser, but there will be others if the some singular values of $A^ast B$ are zero. (And I was wrong in the previous comment: even if $A^\ast B$ has repeated singular values, as long as they are nonzero, the maximiser is still unique.) $\endgroup$
    – user1551
    Commented Jun 28, 2019 at 12:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .