纯旋转最小二乘匹配

计算科学 线性代数 最小二乘 svd
2021-12-04 02:41:06

任何人都可以为以下最小二乘问题推荐一种方法:

寻找RR3×3最小化:i=0N(Rxibi)2min, 在哪里R是一个酉(旋转)矩阵。

我可以通过最小化得到一个近似的解决方案i=0N(Axibi)2min(随意的AR3×3),取矩阵A和:

  • 计算 SVD:A=UΣVT, 下降Σ和近似RUVT
  • 计算极分解:A=UP,删除仅比例对称(在我的情况下是正定的)P和近似RU

我也可以使用 QR 分解,但它不是等距的(取决于坐标系的选择)。

有谁知道这样做的方法,至少是近似的,但比上述两种方法更接近?

1个回答

该问题称为Wahba问题,其中一种算法称为Kabsch 算法,后来更流行的称为Davenport q 方法它显然在航空学中用于确定飞行器方向。很多关于方法的评论。

请注意,最适合的可能包括反射。

Kabsch 方法计算 3x3 协方差矩阵 SVD 并丢弃Σ术语(模一个反射,通常通过否定最后一列来解释U在 SVD 中)。推广到其他数量的维度非常简单。

Davenport q 方法经常被吹捧为第一个实用算法,也许有人可以评论为什么。它还构造了一个 3x3 协方差矩阵,然后将旋转矩阵参数化为四元数的函数,问题就变成了计算对称 4x4 矩阵的最大特征值特征向量的问题。

(一些)最流行的数值实现称为QUEST 和 FOMA这些方法通常是通过写出和优化特征多项式(四次)来计算最大特征值的主题的变体,或者解析求解(相当复杂的计算,通过卡达诺公式),或者使用牛顿迭代。

Schuster还开发和分析了一些迭代算法变体。