实矩阵分解为旋转矩阵与含实特征值矩阵的技术咨询
嘿,我来聊聊你这个关于实矩阵分解的需求——你想把实矩阵$A$里的旋转部分抽离出来,写成$A = BR$或者$A = RB$的形式,其中$R$是旋转矩阵,$B$是只有实特征值的矩阵,还希望$B$在固定坐标变换下能被看作缩放和剪切的组合,这个思路很实用啊。
先说说你提到的Jordan分解:确实,任何实矩阵$A$都能分解为$A = P^{-1}JP$,其中$J$是Jordan标准型——它的对角线上是$A$的特征值(可能是复数),上三角区域只有0或1,其余位置全为0。上三角里的1对应重特征值的Jordan块,但Jordan分解是在复域下的,复数特征值的块里其实就包含了旋转的成分,这正是你想单独拆分出来的部分。
不过如果咱们要在实域里实现你想要的分解,实Schur分解可能是更合适的起点:任何实矩阵$A$都能写成$A = QSQ^T$,其中$Q$是正交矩阵(如果$A$的行列式为正,$Q$可以是行列式为1的旋转矩阵;如果行列式为负,那就是旋转加反射,你可以根据需求调整),$S$是实块上三角矩阵——它的块要么是1×1的实特征值,要么是2×2的实矩阵(对应$A$的一对共轭复特征值)。
接下来,每个2×2的实块(对应复特征值$a\pm bi$)都可以单独分解为旋转矩阵×对角缩放矩阵的形式(这其实是2×2矩阵的极分解变体),比如:
$$\begin{pmatrix}a & -b \ b & a\end{pmatrix} = \begin{pmatrix}\frac{a}{\sqrt{a2+b2}} & -\frac{b}{\sqrt{a2+b2}} \ \frac{b}{\sqrt{a2+b2}} & \frac{a}{\sqrt{a2+b2}}\end{pmatrix} \begin{pmatrix}\sqrt{a2+b2} & 0 \ 0 & \sqrt{a2+b2}\end{pmatrix}$$
左边是带旋转的矩阵,右边第一个是旋转矩阵,第二个是缩放矩阵。
把所有2×2块里的旋转部分提取出来,组合成一个整体的旋转矩阵$R$,剩下的部分(1×1实特征值块加上所有缩放块)就构成了有实特征值的矩阵$B$——而且这个$B$在坐标变换下,确实可以拆分为缩放和剪切的组合(因为块上三角矩阵可以进一步分解为对角缩放矩阵和单位上三角剪切矩阵的乘积)。这样就能得到你想要的$A = BR$或者$A = RB$的分解形式了。
另外补充一点:如果你的矩阵$A$是可逆的,极分解也是一个备选方向——$A = UP$或者$A = PU$,其中$U$是正交矩阵(旋转/反射),$P$是半正定对称矩阵(有实特征值,对应纯缩放),不过这个分解里的$P$没有剪切成分,如果你需要包含剪切的话,还是实Schur分解结合块拆分的方式更贴合你的需求。
备注:内容来源于stack exchange,提问作者Carlos Pinzón

