Orthogonal Procrustes problem

From HandWiki

The orthogonal Procrustes problem[1] is a matrix approximation problem in linear algebra. In its classical form, one is given two matrices [math]\displaystyle{ A }[/math] and [math]\displaystyle{ B }[/math] and asked to find an orthogonal matrix [math]\displaystyle{ \Omega }[/math] which most closely maps [math]\displaystyle{ A }[/math] to [math]\displaystyle{ B }[/math].[2][3] Specifically, the orthogonal Procrustes problem is an optimization problem given by [math]\displaystyle{ \begin{aligned} \underset{\Omega}{\text{minimize}}\quad & \|\Omega A-B\|_F \\ \text{subject to}\quad & \Omega^T \Omega = I, \end{aligned} }[/math]

where [math]\displaystyle{ \|\cdot\|_F }[/math] denotes the Frobenius norm. This is a special case of Wahba's problem (with identical weights; instead of considering two matrices, in Wahba's problem the columns of the matrices are considered as individual vectors). Another difference is that Wahba's problem tries to find a proper rotation matrix instead of just an orthogonal one.

The name Procrustes refers to a bandit from Greek mythology who made his victims fit his bed by either stretching their limbs or cutting them off.

Solution

This problem was originally solved by Peter Schönemann in a 1964 thesis, and shortly after appeared in the journal Psychometrika.[4]

This problem is equivalent to finding the nearest orthogonal matrix to a given matrix [math]\displaystyle{ M=BA^{T} }[/math], i.e. solving the closest orthogonal approximation problem

[math]\displaystyle{ \min_R\|R-M\|_F \quad\mathrm{subject\ to}\quad R^T R=I }[/math].

To find matrix [math]\displaystyle{ R }[/math], one uses the singular value decomposition (for which the entries of [math]\displaystyle{ \Sigma }[/math] are non-negative)

[math]\displaystyle{ M=U\Sigma V^T\,\! }[/math]

to write

[math]\displaystyle{ R=UV^T.\,\! }[/math]

Proof of Solution

One proof depends on the basic properties of the Frobenius inner product that induces the Frobenius norm:

[math]\displaystyle{ \begin{align} R &= \arg\min_\Omega ||\Omega A-B\|_F^2 \\ &= \arg\min_\Omega \langle \Omega A-B, \Omega A-B \rangle_F \\ &= \arg\min_\Omega \|\Omega A\|_F^2 + \|B\|_F^2 - 2 \langle \Omega A , B \rangle_F \\ &= \arg\min_\Omega \|A\|_F^2 + \|B\|_F^2 - 2 \langle \Omega A , B \rangle_F \\ &= \arg\max_\Omega \langle \Omega A , B \rangle_F \\ &= \arg\max_\Omega \langle \Omega , B A^T \rangle_F \\ &= \arg\max_\Omega \langle \Omega, U\Sigma V^T \rangle_F \\ &= \arg\max_\Omega \langle U^T \Omega V , \Sigma \rangle_F \\ &= \arg\max_\Omega \langle S , \Sigma \rangle_F \quad \text{where } S = U^T \Omega V \\ \end{align} }[/math]
This quantity [math]\displaystyle{ S }[/math] is an orthogonal matrix (as it is a product of orthogonal matrices) and thus the expression is maximised when [math]\displaystyle{ S }[/math] equals the identity matrix [math]\displaystyle{ I }[/math]. Thus
[math]\displaystyle{ \begin{align} I &= U^T R V \\ R &= U V^T \\ \end{align} }[/math]

where [math]\displaystyle{ R }[/math] is the solution for the optimal value of [math]\displaystyle{ \Omega }[/math] that minimizes the norm squared [math]\displaystyle{ ||\Omega A-B\|_F^2 }[/math].

Generalized/constrained Procrustes problems

There are a number of related problems to the classical orthogonal Procrustes problem. One might generalize it by seeking the closest matrix in which the columns are orthogonal, but not necessarily orthonormal.[5]

Alternately, one might constrain it by only allowing rotation matrices (i.e. orthogonal matrices with determinant 1, also known as special orthogonal matrices). In this case, one can write (using the above decomposition [math]\displaystyle{ M=U\Sigma V^T }[/math])

[math]\displaystyle{ R=U\Sigma'V^T,\,\! }[/math]

where [math]\displaystyle{ \Sigma'\,\! }[/math] is a modified [math]\displaystyle{ \Sigma\,\! }[/math], with the smallest singular value replaced by [math]\displaystyle{ \det(UV^T) }[/math] (+1 or -1), and the other singular values replaced by 1, so that the determinant of R is guaranteed to be positive.[6] For more information, see the Kabsch algorithm.

The unbalanced Procrustes problem concerns minimizing the norm of [math]\displaystyle{ AU - B }[/math], where [math]\displaystyle{ A \in \mathbb{R}^{m\times \ell}, U \in \mathbb{R}^{\ell \times n} }[/math], and [math]\displaystyle{ B \in \mathbb{R}^{m\times n} }[/math], with [math]\displaystyle{ m \gt \ell \ge n }[/math], or alternately with complex valued matrices. This is a problem over the Stiefel manifold [math]\displaystyle{ U \in U(m,\ell) }[/math], and has no currently known closed form. To distinguish, the standard Procrustes problem ([math]\displaystyle{ A \in \mathbb{R}^{m\times m} }[/math]) is referred to as the balanced problem in these contexts.

See also

References

  1. Gower, J.C; Dijksterhuis, G.B. (2004), Procrustes Problems, Oxford University Press 
  2. Hurley, J.R.; Cattell, R.B. (1962), "Producing direct rotation to test a hypothesized factor structure", Behavioral Science 7 (2): 258–262, doi:10.1002/bs.3830070216 
  3. Golub, G.H.; Van Loan, C. (2013). Matrix Computations (4 ed.). JHU Press. p. 327. ISBN 978-1421407944. 
  4. Schönemann, P.H. (1966), "A generalized solution of the orthogonal Procrustes problem", Psychometrika 31: 1–10, doi:10.1007/BF02289451, https://web.stanford.edu/class/cs273/refs/procrustes.pdf. 
  5. Everson, R (1997), Orthogonal, but not Orthonormal, Procrustes Problems, http://empslocal.ex.ac.uk/people/staff/reverson/uploads/Site/procrustes.pdf 
  6. Eggert, DW; Lorusso, A; Fisher, RB (1997), "Estimating 3-D rigid body transformations: a comparison of four major algorithms", Machine Vision and Applications 9 (5): 272–290, doi:10.1007/s001380050048