極分解

本文的閱讀等級:中級

任一 n\times n 階實矩陣 A 都可以被分解為

A=QS

稱為極分解 (polar decomposition),其中 Q 是實正交 (orthogonal) 矩陣,S 是實對稱半正定 (positive semidefinite) 矩陣。若 A 是一個複矩陣,則 Q 是么正 (unitary) 矩陣,S 是 Hermitian (共軛對稱) 半正定矩陣。

 
極分解可由奇異值分解推導出 (見“奇異值分解 (SVD)”)。考慮實矩陣 A 的奇異值分解

A=U\Sigma V^T

因為 A 是一 n\times n 階矩陣,UV\Sigma 全部都是 n\times n 階,其中 VU 是正交矩陣,\Sigma 是對角矩陣且主對角元皆不為負。將 V^TV=I 插入 SVD,

A=U(V^TV)\Sigma V^T=(UV^T)(V\Sigma V^T)

Q=UV^TS=V\Sigma V^T,則 A=QS,其中 Q 是正交矩陣,S 是對稱半正定矩陣。直接計算檢查:

Q^TQ=(UV^T)^T(UV^T)=VU^TUV^T=VV^T=I

因為 \Sigma 是對稱半正定,對於任一 \mathbf{x}\in\mathbb{R}^n,就有

\mathbf{x}^TS\mathbf{x}=\mathbf{x}^TV\Sigma V^T\mathbf{x}=(V^T\mathbf{x})^T\Sigma(V^T\mathbf{x})\ge 0

A 是可逆時,\Sigma 的主對角元皆不為零,這時 S 是正定矩陣。

 
考慮極分解的行列式

\det A=\det(QS)=(\det Q)(\det S)

其中 \det Q 等於 1-1,因為 (\det Q)^2=(\det Q^T)(\det Q)=\det(Q^TQ)=\det I=1。若 A 是複矩陣,將以上轉置運算 (\cdot)^T 替換成共軛轉置 (\cdot)^\ast,則 Q=UV^{\ast} 是么正矩陣,滿足 Q^\ast=Q^{-1},且 S=V\Sigma V^{\ast} 是 Hermitian 半正定矩陣 (見“從實數系到複數系”)。半正定矩陣 S 的特徵值不為負 (見“半正定矩陣的判別方法”),故其行列式也不為負 (行列式是特徵值之積),可設 \det S=r\ge 0。另外,么正矩陣 Q 的特徵值之絕對值等於 1 (見“特殊矩陣 (3):么正矩陣 (酉矩陣)”),故可設 \det Q=e^{i\theta},其中 i=\sqrt{-1}。所以,\det A=(\det S)(\det Q)=re^{i\theta}。類似複數 z 的極座標表達式

z=re^{i\theta}

極分解 A=QS 的半正定矩陣 S 對應 z 的絕對值 (或模) r,么正矩陣 Q 對應 z 的幅角 (或相位) \theta

 
我們也可以寫出反方向的極分解,如下:

A=S^{\prime}Q

上式中,Q 仍為原來的正交 (或么正) 矩陣,利用 QS=S'Q,可知

S^{\prime}=QSQ^T=(UV^T)(V\Sigma V^T)(UV^T)^T=U\Sigma U^T

\det S'=(\det Q)(\det S)(\det Q^T)=(\det S)(\det Q)^2=\det S

 
極分解的應用常見於連續介質力學 (continuum mechanics),它將「形變」 A 分解成「拉伸」和「旋轉」二部分,其中 S 表示拉伸,Q 表示旋轉。機器人學的運動學 (kinematics) 分析也使用極分解。令 \delta\mathbf{q} 表示機器手臂各軸微小轉動量所組成之軸座標空間向量,\delta\mathbf{x} 表示手臂端點於卡氏空間的變動向量,Jacobian 為描述機器手臂各軸轉動率映射至手臂端點之卡氏空間速度的矩陣,此矩陣由軸位置決定故可表示為 J(\mathbf{q}),就有

\delta\mathbf{x}=J(\mathbf{q})\delta\mathbf{q}

考慮手臂端點的變動量

\Vert\delta\mathbf{x}\Vert^2=(J\delta\mathbf{q})^T(J\delta\mathbf{q})=\delta\mathbf{q}^T(J^TJ)\delta\mathbf{q}

機器手臂的靈活度 (manipulability) 由矩陣 J^TJ 決定。對於單位軸變動量,\Vert\delta\mathbf{x}\Vert 愈大表示愈靈活,因此有研究者將機器手臂的靈活度定義為 Jacobian 矩陣 J 的行列式絕對值。下式為 J 的極分解 J=QS

\mu=\vert\det J\vert=\vert\det Q\vert\cdot\vert\det S\vert

由於 \vert\det Q\vert=1,且 \det S\ge 0,所以 \mu=\det S。靈活度其實就是 S 矩陣的特徵值乘積,也等於 Jacobian 矩陣 J 的奇異值乘積。對於二旋轉軸機器手臂,最大的靈活度發生於二臂夾角為 90^\circ,這也是人類最常使用的手臂工作狀態 (如圖左)。另一方面,當二臂完全伸長,這時 J 是不可逆的,故靈活度為 0 (如圖右)。

polar-decomposition

比腕力與搶籃球

This entry was posted in 線性代數專欄, 二次型 and tagged , , , , , , , , . Bookmark the permalink.

5 Responses to 極分解

  1. chang says:

    老师你好,请问一下’請參見“從實數域到複數域”。’紧接着的下一句的公式是怎么得到的?是后面的那些解释吗?这里有些不明白。。

    • ccjou says:

      重讀此文發現確實有幾處推論含糊不清。你現在讀到的是修訂後的版本,如果仍有疑問歡迎再提出來。

  2. 周老师,第四行有个小错误,”其中 Q 是么正矩阵”,应该是 U 吧

  3. zhang says:

    周老师,请问用newton迭代法如何计算polar decomposition呢?

Leave a comment