Eigenの Transform クラスのドキュメントには、ほぼ同じシグネチャを持つ 2 つのメンバー関数があります。
void computeRotationScaling(RotationMatrixType*, ScalingMatrixType*) const
void computeScalingRotation(ScalingMatrixType*, RotationMatrixType*) const
両方の関数のドキュメントは同じです (乗算順序はrotation * scaling
両方の関数にあります)。
変換の線形部分を回転 x スケーリングの積として分解します。スケーリングは必ずしも正ではありません。
いずれかのポインターがゼロの場合、対応する計算はスキップされます。
これは SVD モジュールで定義されています。
それらの違いは何ですか?