Математика / Линейная алгебра

Ортогональная задача Прокруста: совмещение двух матриц

Ортогональная задача Прокруста ищет преобразование Q, которое лучше всего совмещает A с B в норме Фробениуса. Решение получают через сингулярное разложение AᵀB.

Опубликовано: Обновлено:

Формула

$$\min_{Q^{\mathsf T}Q=I}\|AQ-B\|_F,\qquad A^{\mathsf T}B=U\Sigma V^{\mathsf T}\Longrightarrow Q_*=UV^{\mathsf T}$$
Схема Сравнение двух совмещений
01010Q=I0Q оптим.

Для A=diag(2,1), B=[[0,−2],[1,0]]: квадрат ошибки при I равен 10, при оптимальном Q равен 0.

Обозначения

$A,B$
вещественные матрицы одинакового размера m×n, одинаковые единицы координат
$Q$
искомая ортогональная матрица n×n
$‖·‖_F$
норма Фробениуса, корень суммы квадратов элементов, единицы координат
$U,Σ,V$
множители SVD квадратной матрицы AᵀB

Условия применения

A и B имеют одинаковое число строк и столбцов; соответствующие строки представляют согласованные объекты или точки. Оптимизация проводится по всем ортогональным Q, включая отражения. Приведённая формула даёт минимум для полного SVD AᵀB; при вырождении решение может быть неединственным.

Ограничения

Если разрешены только собственные повороты с detQ=+1, требуется дополнительная коррекция знака в SVD. Формула не ищет соответствие между переставленными точками и не добавляет перенос. Ошибки и выбросы взвешиваются квадратично, поэтому отдельная удалённая точка может сильно повлиять на ответ.

Подробное объяснение

Квадрат нормы раскрывается как ‖A‖_F²+‖B‖_F²−2tr(QᵀAᵀB), потому что ортогональность сохраняет норму A. Первые два члена не зависят от Q. Поэтому минимизация расстояния эквивалентна максимизации следа tr(QᵀAᵀB).

Если AᵀB=UΣVᵀ, выбор Q=UVᵀ совмещает сингулярные направления так, чтобы след достиг суммы сингулярных чисел. Отсюда следует минимальное квадратное расстояние ‖A‖_F²+‖B‖_F²−2Σσ_i. Порядок U и V определяется именно постановкой AQ−B.

Строки матриц здесь трактуются как векторы точек, умножаемые справа. Если в другом источнике точки стоят в столбцах и преобразование действует слева, внешне похожая формула может содержать транспонирование. Чтобы избежать ошибки, нужно раскрыть след из собственной функции потерь.

Для A=diag(2,1), B=[[0,−2],[1,0]] точное совмещение достигается Q=[[0,−1],[1,0]], поскольку AQ=B. Масштабы отдельных точек сохраняются, а угловая ориентация меняется. Сравнение с Q=I даёт квадратную ошибку 10 вместо 0.

Перед геометрическим совмещением часто вычитают центры наборов точек, если нужно учитывать перенос. Это отдельное действие, не скрытое в формуле UVᵀ. Аналогично ограничение detQ=+1 меняет допустимый класс и может увеличить минимум, когда лучшее ортогональное преобразование является отражением.

Как пользоваться формулой

  1. Согласуйте строки объектов A и B, единицы координат и необходимость удаления центров; определите, разрешены ли отражения.
  2. Сформируйте квадратную матрицу AᵀB и найдите её SVD=UΣVᵀ, сохраняя выбранный порядок множителей.
  3. Для задачи по всем ортогональным матрицам составьте Q=UVᵀ и проверьте QᵀQ=I; отдельно проверьте знак определителя.
  4. Вычислите остаток AQ−B и его норму; сравните квадрат нормы с выражением через сумму сингулярных чисел.

Историческая справка

Название задачи Прокруста используется для согласования конфигураций данных с помощью ограниченного класса преобразований. Ортогональный вариант выделяет преобразования, сохраняющие расстояния, и приводит к особенно простой связи с сингулярным разложением.

Обзор Хайэма «Matrix Nearness Problems and Applications»1989 года включает ортогональную задачу Прокруста и обсуждает её приложения и варианты ограничений. Важная историческая линия здесь — переход от геометрического согласования к матричным задачам близости. Современная постановка явно указывает норму, сторону умножения и допустимость отражения; без этих условий одно и то же название может относиться к разным оптимизационным задачам.

Историческая линия формулы

Термин Прокруста обозначает класс задач совмещения и не является именем математика, открывшего конкретную формулу. Здесь используется ортогональная постановка в норме Фробениуса; обзор Хайэма служит источником её матричного анализа и связи с SVD.

Пример

Возьмём A=[[2,0],[0,1]], B=[[0,−2],[1,0]]. Матрица Q=[[0,−1],[1,0]] ортогональна: её столбцы единичны и взаимно перпендикулярны. Умножение даёт AQ=[[0,−2],[1,0]]=B. Поэтому минимальная ошибка равна 0: отрицательной норма быть не может, а нуль уже достигнут. Проверка через след: AᵀB=[[0,−4],[1,0]] имеет сингулярные числа 4 и 1. Нормы ‖A‖_F²=5, ‖B‖_F²=5, значит минимум квадрата ошибки 5+5−2(4+1)=0. Ответ: Q — указанный ортогональный поворот, минимум 0. При Q=I разность A−B=[[2,2],[−1,1]], её квадрат нормы равен 4+4+1+1=10. Этот контроль показывает, что решение сравнивает всю матрицу, а не только отдельный угол или норму одной строки.

Частая ошибка

Не используйте BᵀA вместо AᵀB без изменения конечной формулы. Не путайте совмещение с поиском перестановки точек. Не забывайте ограничение detQ=+1, если отражения недопустимы. Не приписывайте формуле автоматическое удаление центра и масштаба: эти параметры относятся к другим вариантам задачи.

Практика

Задачи с решением

Отражение разрешено

Условие. A=I₂, B=diag(2,−3). Найдите ближайшую к B ортогональную Q и квадрат ошибки.

Решение. Q=diag(1,−1). Разность Q−B=diag(−1,2), квадрат нормы 1+4=5.

Ответ. Q=diag(1,−1), ошибка²=5.

Точное совпадение

Условие. Если B=A и AᵀA положительно определена, какой Q даёт минимум?

Решение. Q=I, тогда AQ−B=0. Положительная определённость AᵀA исключает иной ортогональный Q с тем же нулевым остатком.

Ответ. Q=I, минимум 0.

Дополнительные источники

  • https://nhigham.com/wp-content/uploads/2023/10/high89n.pdf
  • https://tminka.github.io/papers/matrix/minka-matrix.pdf

Связанные формулы

Математика

Полярное разложение матрицы: поворот и растяжение

$A=QH,\qquad H=(A^{\mathsf T}A)^{1/2},\qquad Q=AH^{-1}$

Невырожденная вещественная матрица раскладывается в произведение ортогональной Q и симметричной положительно определённой H. Первый множитель сохраняет длины, второй описывает растяжение.

Математика

Сингулярное разложение матрицы

$A=U\Sigma V^T,\quad U^TU=I,\quad V^TV=I$

Сингулярное разложение представляет матрицу как произведение двух ортогональных матриц и диагональной матрицы сингулярных чисел. Это универсальная форма разложения, которая работает для прямоугольных матриц и показывает главные направления действия линейного отображения.

Математика

Норма Фробениуса через след и сингулярные числа

$\|A\|_F^2=\operatorname{tr}(A^TA)=\sum_{i,j}a_{ij}^2=\sum_k\sigma_k^2$

Квадрат нормы Фробениуса равен следу матрицы A^T A, сумме квадратов всех элементов и сумме квадратов сингулярных чисел. Это удобная мера общего размера матрицы.