Expand description
Procrustes analysis for aligning geometric configurations.
§Overview
Procrustes analysis finds the optimal orthogonal transformation (rotation and optionally reflection and scaling) that maps one matrix onto another in the Frobenius-norm sense.
§Orthogonal Procrustes Problem
Given matrices A (n × d) and B (n × d), find:
min_{R: Rᵀ R = I} ||s · A R + 1 tᵀ − B||_FSolution via SVD of Bᵀ A = U Σ Vᵀ:
- R = V Uᵀ (or V diag(1,…,det(VUᵀ)) Uᵀ to prevent reflections)
- Optimal scale s = trace(Σ) / ||A||_F² (when centering and scaling enabled)
§Generalized Procrustes Analysis
Aligns multiple matrices to a common mean (consensus) shape via iterative pairwise Procrustes alignment, similar to the GPA algorithm of Gower (1975).
§References
- Schönemann (1966): A generalized solution of the orthogonal Procrustes problem
- Gower (1975): Generalized Procrustes analysis
- Golub & Van Loan (1996): Matrix Computations, §12.4
Structs§
- Procrustes
Config - Configuration for Procrustes alignment.
- Procrustes
Result - Result of a Procrustes alignment.
Functions§
- generalized_
procrustes - Generalized Procrustes Analysis (GPA): align multiple matrices to a common mean.
- orthogonal_
procrustes - Solve the orthogonal Procrustes problem.