Orthogonal Procrustes problem

The orthogonal Procrustes problem is a matrix approximation problem in linear algebra. In its classical form, one is given two matrices formula_1 and formula_2 and asked to find an orthogonal matrix formula_3 which most closely maps formula_1 to formula_2. Specifically,
where formula_7 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. A proof appeared in 1998. 
This problem is equivalent to finding the nearest orthogonal matrix to a given matrix formula_8. To find this orthogonal matrix formula_9, one uses the singular value decomposition (for which the entries of formula_10 are non negative)
to write
Proof.
One proof depends on basic properties of the matrix inner product that induces the Frobenius norm:
where formula_18 is the solution for the optimal value of formula_19 that minimizes the norm squared formula_20.
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. 
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 formula_21)
where formula_23 is a modified formula_24, with the smallest singular value replaced by formula_25 (+1 or -1), and the other singular values replaced by 1, so that the determinant of R is guaranteed to be positive. For more information, see the Kabsch algorithm. 