三階逆矩陣公式

本文的閱讀等級:初級

給定 n\times n 階矩陣 A,如果存在一個同階矩陣 B 使得 AB=BA=I_n (I_n 表示 n\times n 階單位矩陣),則 A 稱為可逆 (invertible) 或非奇異 (nonsingular) 矩陣。在這個情況下,BA 唯一決定[1],稱為 A 的逆矩陣或反矩陣 (inverse),記作 A^{-1}。矩陣 A 是可逆矩陣的一個充要條件為 A 的行列式不等於零,\det A\neq 0。若 2\times 2 階矩陣 A=\begin{bmatrix}  a&b\\  c&d  \end{bmatrix} 是可逆的,則 \det A=ad-bc\neq 0 (反之亦然),逆矩陣公式如下:

\displaystyle   A^{-1}=\frac{1}{ad-bc}\left[\!\!\begin{array}{rr}  d&-b\\  -c&a  \end{array}\!\!\right]

你可能好奇 3\times 3 階可逆矩陣的逆矩陣公式為何?本文介紹三個逆矩陣算法:

  1. 高斯─約當法 (Gauss-Jordan method),
  2. 伴隨矩陣 (adjugate) 衍生的行列式表達式,
  3. Cayley-Hamilton 定理導出的矩陣多項式。

我們先用這些方法推導 2\times 2 階逆矩陣公式,隨後再推廣至 3\times 3 階矩陣。

 
1. 高斯─約當法

A 為一個 n\times n 階矩陣。寫出 n\times 2n 階增廣矩陣 \begin{bmatrix}  A&I_n  \end{bmatrix},高斯─約當法運用基本列運算 (elementary row operation) 將增廣矩陣化簡為簡約列梯形式 (reduced row echelon form) \begin{bmatrix}  I&X  \end{bmatrix} (見“高斯─約當法”)。這個運算程序等同於連續左乘基本矩陣 (見“特殊矩陣(10):基本矩陣”) E_1,\ldots,E_k 使得

E_k\cdots E_1\begin{bmatrix}  A&I_n  \end{bmatrix}=\begin{bmatrix}  I_n&X  \end{bmatrix}

乘開後比較等號兩邊的分塊,(E_k\cdots E_1)A=I_nE_k\cdots E_1=X,可得 XA=I_n,因此 X 即為逆矩陣 A^{-1}。下面是 2\times 2 階矩陣的基本列運算過程 (第一個步驟的算法原理請見“利用行列式計算矩陣秩”):

\begin{aligned}  \begin{bmatrix}  a&b&\vline&1&0\\  c&d&\vline&0&1  \end{bmatrix}&\to\left[\!\!\begin{array}{cccrc}  a&b&\vline&1&0\\  0&ad-bc&\vline&-c&a  \end{array}\!\!\right]\to\begin{bmatrix}  a&b&\vline&1&0\\[0.3em]  0&1&\vline&\displaystyle\frac{-c}{ad-bc}&\displaystyle\frac{a}{ad-bc}  \end{bmatrix}\\  &\to\begin{bmatrix}  a&0&\vline&\displaystyle\frac{ad}{ad-bc}&\displaystyle\frac{-ab}{ad-bc}\\[0.5em]  0&1&\vline&\displaystyle\frac{-c}{ad-bc}&\displaystyle\frac{a}{ad-bc}  \end{bmatrix}\to\begin{bmatrix}  1&0&\vline&\displaystyle\frac{d}{ad-bc}&\displaystyle\frac{-b}{ad-bc}\\[0.5em]  0&1&\vline&\displaystyle\frac{-c}{ad-bc}&\displaystyle\frac{a}{ad-bc}  \end{bmatrix}\end{aligned}

理論上,3\times 3 階矩陣 A=[a_{ij}] 也可以如法炮製,不過實際上大概沒有多少人願意以代數運算化簡增廣矩陣

\begin{bmatrix}  A&I_3  \end{bmatrix}=\begin{bmatrix}  a_{11}&a_{12}&a_{13}&\vline&1&0&0\\  a_{21}&a_{22}&a_{23}&\vline&0&1&0\\  a_{31}&a_{32}&a_{33}&\vline&0&0&1  \end{bmatrix}

從而推導出逆矩陣公式。即便高斯─約當法沒有給出逆矩陣的一般公式,但就所耗用的計算量而言 (文末將詳細說明),它確實是一個相當有效的演算法。

 
2. 伴隨矩陣

假設 X=\begin{bmatrix}  x_{11}&x_{12}\\  x_{21}&x_{22}  \end{bmatrix}A=\begin{bmatrix}  a&b\\  c&d  \end{bmatrix} 的逆矩陣,則 AX=I_2,明確地表示為

\begin{bmatrix}  a&b\\  c&d  \end{bmatrix}\begin{bmatrix}  x_{11}&x_{12}\\  x_{21}&x_{22}  \end{bmatrix}=\begin{bmatrix}  1&0\\  0&1  \end{bmatrix}

將上式拆開,可得兩個線性方程組:

\begin{bmatrix}  a&b\\  c&d  \end{bmatrix}\begin{bmatrix}  x_{11}\\  x_{21}  \end{bmatrix}=\begin{bmatrix}  1\\  0  \end{bmatrix},~~\begin{bmatrix}  a&b\\  c&d  \end{bmatrix}\begin{bmatrix}  x_{12}\\  x_{22}  \end{bmatrix}=\begin{bmatrix}  0\\  1  \end{bmatrix}

利用克拉瑪公式 (見“克拉瑪公式的證明”),第一個線性方程組的解為

\displaystyle   x_{11}=\frac{\begin{vmatrix}  1&b\\  0&d  \end{vmatrix}}{\begin{vmatrix}  a&b\\  c&d  \end{vmatrix}}=\frac{d}{ad-bc},~~x_{21}=\frac{\begin{vmatrix}  a&1\\  c&0  \end{vmatrix}}{\begin{vmatrix}  a&b\\  c&d  \end{vmatrix}}=\frac{-c}{ad-bc}

第二個線性方程組的解為

\displaystyle  x_{12}=\frac{\begin{vmatrix}  0&b\\  1&d  \end{vmatrix}}{\begin{vmatrix}  a&b\\  c&d  \end{vmatrix}}=\frac{-b}{ad-bc},~~x_{22}=\frac{\begin{vmatrix}  a&0\\  c&1  \end{vmatrix}}{\begin{vmatrix}  a&b\\  c&d  \end{vmatrix}}=\frac{a}{ad-bc}

 
使用同樣方法亦可推得 3\times 3 階矩陣的逆矩陣公式。底下我採用另一個較為便捷的推導方式。考慮 n\times n 階矩陣 A=[a_{ij}] 的伴隨矩陣 (adjugate 或 classical adjoint) \hbox{adj}A,各元定義為 (\hbox{adj}A)_{ij}=(-1)^{i+j}\det\tilde{A}_{ji},其中 \tilde{A}_{ji} 代表移除 A 的第 j 列與第 i 行之後得到的 (n-1)\times (n-1) 階子陣,\det\tilde{A}_{ji} 稱為餘子式 (minor),(-1)^{i+j}\det\tilde{A}_{ji} 稱為 a_{ji} 的餘因子 (cofactor)。使用伴隨矩陣的關鍵等式 (見“伴隨矩陣”)

A(\hbox{adj}A)=(\det A)I_n

等號兩邊同時左乘 \frac{1}{\det A}A^{-1},即得到以伴隨矩陣表示的逆矩陣公式

\displaystyle  A^{-1}=\frac{1}{\det A}\hbox{adj}A

2\times 2 階矩陣為例,

\displaystyle  A^{-1}=\begin{bmatrix}  a&b\\  c&d  \end{bmatrix}^{-1}=\frac{1}{\det A}\left[\!\!\begin{array}{rr}  \det\tilde{A}_{11}&-\det\tilde{A}_{21}\\  -\det\tilde{A}_{12}&\det\tilde{A}_{22}  \end{array}\!\!\right]=\frac{1}{\det A}\left[\!\!\begin{array}{rr}  d&-b\\  -c&a  \end{array}\!\!\right]

下面是 3\times 3 階逆矩陣的行列式表達式:

\displaystyle  A^{-1}=\begin{bmatrix}  a_{11}&a_{12}&a_{13}\\  a_{21}&a_{22}&a_{23}\\  a_{31}&a_{32}&a_{33}  \end{bmatrix}^{-1}=\frac{1}{\det A}\left[\!\!\begin{array}{rrr}  \begin{vmatrix}  a_{22}&a_{23}\\  a_{32}&a_{33}  \end{vmatrix}&-\begin{vmatrix}  a_{12}&a_{13}\\  a_{32}&a_{33}  \end{vmatrix}&\begin{vmatrix}  a_{12}&a_{13}\\  a_{22}&a_{23}  \end{vmatrix}\\  &&\\  -\begin{vmatrix}  a_{21}&a_{23}\\  a_{31}&a_{33}  \end{vmatrix}&\begin{vmatrix}  a_{11}&a_{13}\\  a_{31}&a_{33}  \end{vmatrix}&-\begin{vmatrix}  a_{11}&a_{13}\\  a_{21}&a_{23}  \end{vmatrix}\\  &&\\  \begin{vmatrix}  a_{21}&a_{22}\\  a_{31}&a_{32}  \end{vmatrix}&-\begin{vmatrix}  a_{11}&a_{12}\\  a_{31}&a_{32}  \end{vmatrix}&\begin{vmatrix}  a_{11}&a_{12}\\  a_{21}&a_{22}  \end{vmatrix}  \end{array}\!\!\right]

 
3. Cayley-Hamilton 定理

A 為一個 n\times n 階矩陣,且 A 的特徵多項式為 p(t)=\det(A-tI)。Cayley-Hamilton 定理聲明 A 被其特徵多項式所消滅,即 p(A)=0 (見“Cayley-Hamilton 定理”)。對於 2\times 2 階矩陣 A=\begin{bmatrix}  a&b\\  c&d  \end{bmatrix},寫出特徵多項式

p(t)=\begin{vmatrix}  a-t&b\\  c&d-t  \end{vmatrix}=t^2-(a+d)t+(ad-bc)=t^2-(\hbox{trace}A)t+\det A

其中 \hbox{trace}A 定義為 A 的主對角元之和,稱為跡數。Cayley-Hamilton 定理指出

p(A)=A^2-(\hbox{trace}A)A+(\det A)I_2=0

上式乘以 \frac{1}{\det A}A^{-1},逆矩陣 A^{-1} 可表示為 AI_2 的線性組合,如下:

\displaystyle  \begin{aligned}  A^{-1}&=\frac{1}{\det A}\left(-A+(\hbox{trace}A)I_2\right)\\  &=\frac{1}{\det A}\left(-\begin{bmatrix}  a&b\\  c&d  \end{bmatrix}+(a+d)\begin{bmatrix}  1&0\\  0&1  \end{bmatrix}\right)=\frac{1}{\det A}\left[\!\!\begin{array}{rr}  d&-b\\  -c&a  \end{array}\!\!\right].\end{aligned}

沿用相同方法,寫出 3\times 3 階矩陣 A=[a_{ij}] 的特徵多項式

\begin{aligned}  p(t)&=\begin{vmatrix}  a_{11}-t&a_{12}&a_{13}\\  a_{21}&a_{22}-t&a_{23}\\  a_{31}&a_{32}&a_{33}-t  \end{vmatrix}\\  &=-t^3+(a_{11}+a_{22}+a_{33})t^2-\left(\begin{vmatrix}    a_{11}&a_{12}\\    a_{21}&a_{22}    \end{vmatrix}+\begin{vmatrix}    a_{11}&a_{13}\\    a_{31}&a_{33}    \end{vmatrix}+\begin{vmatrix}    a_{22}&a_{23}\\    a_{32}&a_{33}    \end{vmatrix}\right)t+\begin{vmatrix}    a_{11}&a_{12}&a_{13}\\    a_{21}&a_{22}&a_{23}\\    a_{31}&a_{32}&a_{33}    \end{vmatrix}\\  &=-t^3+(\hbox{trace}A)t^2-\left(\begin{vmatrix}    a_{11}&a_{12}\\    a_{21}&a_{22}    \end{vmatrix}+\begin{vmatrix}    a_{11}&a_{13}\\    a_{31}&a_{33}    \end{vmatrix}+\begin{vmatrix}    a_{22}&a_{23}\\    a_{32}&a_{33}    \end{vmatrix}\right)t+\det A.\end{aligned}

\lambda_1,\lambda_2,\lambda_3A 的特徵值。因為特徵值是特徵多項式 p(t) 的根,就有

\begin{aligned}  p(t)&=-(t-\lambda_1)(t-\lambda_2)(t-\lambda_3)\\  &=-t^3+(\lambda_1+\lambda_2+\lambda_3)t^2-(\lambda_1\lambda_2+\lambda_1\lambda_3+\lambda_2\lambda_3)t+\lambda_1\lambda_2\lambda_3.\end{aligned}

使用關係式 \hbox{trace}A=\lambda_1+\lambda_2+\lambda_3 (見“特徵多項式蘊藏的訊息”) 與 \hbox{trace}(A^2)=\lambda_1^2+\lambda_2^2+\lambda_3^2,改寫上式 t 的係數,如下:

\displaystyle   \lambda_1\lambda_2+\lambda_1\lambda_3+\lambda_2\lambda_3=\frac{(\lambda_1+\lambda_2+\lambda_3)^2-(\lambda_1^2+\lambda_2^2+\lambda_3^2)}{2}=\frac{(\hbox{trace}A)^2-\hbox{trace}(A^2)}{2}

再者,\det A=\lambda_1\lambda_2\lambda_3,Cayley-Hamilton 定理給出

\displaystyle  p(A)=-A^3+(\hbox{trace}A)A^2-\frac{(\hbox{trace}A)^2-\hbox{trace}(A^2)}{2}A+(\det A)I_3=0

上式通乘 \frac{1}{\det A}A^{-1},即得到 3\times 3 階逆矩陣的矩陣多項式,以 A^2AI_3 的線性組合表示:

\displaystyle  A^{-1}=\frac{1}{\det A}\left(A^2-(\hbox{trace}A)A+\frac{(\hbox{trace}A)^2-\hbox{trace}(A^2)}{2}I_3\right)

這個公式同時也說明 3\times 3 階矩陣 A 的伴隨矩陣為

\displaystyle  \hbox{adj}A=A^2-(\hbox{trace}A)A+\frac{(\hbox{trace}A)^2-\hbox{trace}(A^2)}{2}I_3

 
底下我用一個例子展示三種逆矩陣算法的計算過程,請你自行判斷哪一種方法的計算量較少且有較為簡潔的簿記。見下例:

A=\left[\!\!\begin{array}{rcc}  2&2&5\\  -2&1&2\\  6&3&9  \end{array}\!\!\right]

1. 高斯─約當法使用基本列運算的化簡步驟如下:

\displaystyle\begin{aligned}  \left[\!\!\begin{array}{rcccccc}  2&2&5&\vline&1&0&0\\  -2&1&2&\vline&0&1&0\\  6&3&9&\vline&0&0&1  \end{array}\!\!\right]&\to\left[\!\!\begin{array}{crrcrcc}  2&2&5&\vline&1&0&0\\  0&3&7&\vline&1&1&0\\  0&-3&-6&\vline&-3&0&1  \end{array}\!\!\right]\to\left[\!\!\begin{array}{ccccrcc}  2&2&5&\vline&1&0&0\\  0&3&7&\vline&1&1&0\\  0&0&1&\vline&-2&1&1  \end{array}\!\!\right]\\  &\to\left[\!\!\begin{array}{ccccrrr}  2&2&0&\vline&11&-5&-5\\  0&3&0&\vline&15&-6&-7\\  0&0&1&\vline&-2&1&1  \end{array}\!\!\right]\to\left[\!\!\begin{array}{ccccrrr}  2&2&0&\vline&11&-5&-5\\ [0.3em]  0&1&0&\vline&5&-2&-\frac{7}{3}\\ [0.3em]  0&0&1&\vline&-2&1&1  \end{array}\!\!\right]\\  &\to\left[\!\!\begin{array}{ccccrrr}  2&0&0&\vline&1&-1&-\frac{1}{3}\\ [0.3em]  0&1&0&\vline&5&-2&-\frac{7}{3}\\ [0.3em]  0&0&1&\vline&-2&1&1  \end{array}\!\!\right]\to\left[\!\!\begin{array}{ccccrrr}  1&0&0&\vline&\frac{1}{2}&-\frac{1}{2}&-\frac{1}{6}\\ [0.3em]  0&1&0&\vline&5&-2&-\frac{7}{3}\\ [0.3em]  0&0&1&\vline&-2&1&1  \end{array}\!\!\right]\end{aligned}

逆矩陣 A^{-1} 即為簡約列梯形式右邊的 3\times 3 階分塊。

 
2. 以伴隨矩陣表示的逆矩陣公式須計算 \det A,由高斯─約當法第二個步驟得到的上三角矩陣可知

\det A=\left|\!\!\begin{array}{rcc}  2&2&5\\  -2&1&2\\  6&3&9  \end{array}\!\!\right|=\begin{vmatrix}  2&2&5\\  0&3&7\\  0&0&1  \end{vmatrix}=2\cdot 3\cdot 1=6

寫出伴隨矩陣後再計算 9 個二階行列式,結果如下:

\displaystyle  A^{-1}=\frac{1}{6}\left[\!\!\begin{array}{rrr}  \begin{vmatrix}  1&2\\  3&9  \end{vmatrix}&-\begin{vmatrix}  2&5\\  3&9  \end{vmatrix}&\begin{vmatrix}  2&5\\  1&2  \end{vmatrix}\\  &&\\  -\left|\!\!\begin{array}{rc}  -2&2\\  6&9  \end{array}\!\!\right|&\begin{vmatrix}  2&5\\  6&9  \end{vmatrix}&-\left|\!\!\begin{array}{rc}  2&5\\  -2&2  \end{array}\!\!\right|\\  &&\\  \left|\!\!\begin{array}{rc}  -2&1\\  6&3  \end{array}\!\!\right|&-\begin{vmatrix}  2&2\\  6&3  \end{vmatrix}&\left|\!\!\begin{array}{rc}  2&2\\  -2&1  \end{array}\!\!\right|  \end{array}\!\!\right]=\frac{1}{6}\left[\!\!\begin{array}{rrr}  3&-3&-1\\  30&-12&-14\\  -12&6&6  \end{array}\!\!\right]

 
3. Cayley-Hamilton 定理演繹的逆矩陣公式必須計算 A^2,如下:

A^2=\left[\!\!\begin{array}{rcc}  2&2&5\\  -2&1&2\\  6&3&9  \end{array}\!\!\right]^2=\left[\!\!\begin{array}{rrr}  30&21&59\\  6&3&10\\  60&42&117  \end{array}\!\!\right]

接著算出 \hbox{trace}A=2+1+9=12\hbox{trace}(A^2)=30+3+117=150。代入逆矩陣的矩陣多項式,

\displaystyle\begin{aligned}  A^{-1}&=\frac{1}{6}\left(\left[\!\!\begin{array}{rrr}  30&21&59\\  6&3&10\\  60&42&117  \end{array}\!\!\right]-12\left[\!\!\begin{array}{rcc}  2&2&5\\  -2&1&2\\  6&3&9  \end{array}\!\!\right]+\frac{12\cdot 12-150}{2}\begin{bmatrix}  1&0&0\\  0&1&0\\  0&0&1  \end{bmatrix}\right)\\  &=\frac{1}{6}\left(\left[\!\!\begin{array}{rrr}  30&21&59\\  6&3&10\\  60&42&117  \end{array}\!\!\right]-\left[\!\!\begin{array}{rrr}  24&24&60\\  -24&12&24\\  72&36&108  \end{array}\!\!\right]+\left[\!\!\begin{array}{rrr}  -3&0&0\\  0&-3&0\\  0&0&-3  \end{array}\!\!\right]\right)\\  &=\frac{1}{6}\left[\!\!\begin{array}{rrr}  3&-3&-1\\  30&-12&-14\\  -12&6&6  \end{array}\!\!\right].\end{aligned}

 
最後我們討論三種逆矩陣算法的計算量。對於一個 n\times n 階可逆矩陣 A,應用高斯─約當法計算 A^{-1} 的計算量[2]n^3,這與兩個 n\times n 階矩陣相乘的計算量相同。利用伴隨矩陣計算逆矩陣則須計算一個 n 階行列式以及 n^2(n-1) 階行列式。若以高斯消去法計算 n 階行列式 (如上例),計算量為 \frac{n^3}{3},故總計算量為 \frac{n^3}{3}+\frac{n^2(n-1)^3}{3}\simeq \frac{n^5}{3}。至於Cayley-Hamilton 定理給出的逆矩陣公式,除了計算一個 n 階行列式,還要計算冪矩陣 A^2,\ldots,A^{n-1},即便忽略組合係數,總計算量仍達 \frac{n^3}{3}+(n-2)n^3\simeq n^4。以上分析解釋了何以線性代數教科書鮮少列舉 3\times 3 階或更高階矩陣的逆矩陣公式──雖然它們的外型簡單,但計算卻所耗不菲。

 
註解
[1] 假設 AB=ICA=I。寫出 CAB=C(AB)=CI=CCAB=(CA)B=IB=B,因此 B=C,證明 A 的右逆等於左逆。假設 AB=IAC=I。後者等價於 CA=I,故得 B=C,證明右逆是唯一的。
[2] 一個加法與一個乘法合稱為一個計算。

相關閱讀:
This entry was posted in 線性代數專欄, 行列式 and tagged , , , , . Bookmark the permalink.

Leave a comment