任何人都可以为以下最小二乘问题推荐一种方法:
寻找最小化:, 在哪里是一个酉(旋转)矩阵。
我可以通过最小化得到一个近似的解决方案(随意的),取矩阵和:
- 计算 SVD:, 下降和近似
- 计算极分解:,删除仅比例对称(在我的情况下是正定的)和近似
我也可以使用 QR 分解,但它不是等距的(取决于坐标系的选择)。
有谁知道这样做的方法,至少是近似的,但比上述两种方法更接近?
任何人都可以为以下最小二乘问题推荐一种方法:
寻找最小化:, 在哪里是一个酉(旋转)矩阵。
我可以通过最小化得到一个近似的解决方案(随意的),取矩阵和:
我也可以使用 QR 分解,但它不是等距的(取决于坐标系的选择)。
有谁知道这样做的方法,至少是近似的,但比上述两种方法更接近?
该问题称为Wahba问题,其中一种算法称为Kabsch 算法,后来更流行的称为Davenport q 方法。它显然在航空学中用于确定飞行器方向。有很多关于方法的评论。
请注意,最适合的可能包括反射。
Kabsch 方法计算 3x3 协方差矩阵 SVD 并丢弃术语(模一个反射,通常通过否定最后一列来解释在 SVD 中)。推广到其他数量的维度非常简单。
Davenport q 方法经常被吹捧为第一个实用算法,也许有人可以评论为什么。它还构造了一个 3x3 协方差矩阵,然后将旋转矩阵参数化为四元数的函数,问题就变成了计算对称 4x4 矩阵的最大特征值特征向量的问题。
(一些)最流行的数值实现称为QUEST 和 FOMA。这些方法通常是通过写出和优化特征多项式(四次)来计算最大特征值的主题的变体,或者解析求解(相当复杂的计算,通过卡达诺公式),或者使用牛顿迭代。
Schuster还开发和分析了一些迭代算法变体。