Skip to main content

Module procrustes

Module procrustes 

Source
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||_F

Solution 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§

ProcrustesConfig
Configuration for Procrustes alignment.
ProcrustesResult
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.