本文的閱讀等級:初級
給定 階矩陣 ,如果存在一個同階矩陣 使得 ( 表示 階單位矩陣),則 稱為可逆 (invertible) 或非奇異 (nonsingular) 矩陣。在這個情況下, 由 唯一決定[1],稱為 的逆矩陣或反矩陣 (inverse),記作 。矩陣 是可逆矩陣的一個充要條件為 的行列式不等於零,。若 階矩陣 是可逆的,則 (反之亦然),逆矩陣公式如下:
。
你可能好奇 階可逆矩陣的逆矩陣公式為何?本文介紹三個逆矩陣算法:
- 高斯─約當法 (Gauss-Jordan method),
- 伴隨矩陣 (adjugate) 衍生的行列式表達式,
- Cayley-Hamilton 定理導出的矩陣多項式。
我們先用這些方法推導 階逆矩陣公式,隨後再推廣至 階矩陣。
1. 高斯─約當法
令 為一個 階矩陣。寫出 階增廣矩陣 ,高斯─約當法運用基本列運算 (elementary row operation) 將增廣矩陣化簡為簡約列梯形式 (reduced row echelon form) (見“高斯─約當法”)。這個運算程序等同於連續左乘基本矩陣 (見“特殊矩陣(10):基本矩陣”) 使得
。
乘開後比較等號兩邊的分塊, 和 ,可得 ,因此 即為逆矩陣 。下面是 階矩陣的基本列運算過程 (第一個步驟的算法原理請見“利用行列式計算矩陣秩”):
理論上, 階矩陣 也可以如法炮製,不過實際上大概沒有多少人願意以代數運算化簡增廣矩陣
,
從而推導出逆矩陣公式。即便高斯─約當法沒有給出逆矩陣的一般公式,但就所耗用的計算量而言 (文末將詳細說明),它確實是一個相當有效的演算法。
2. 伴隨矩陣
假設 為 的逆矩陣,則 ,明確地表示為
。
將上式拆開,可得兩個線性方程組:
。
利用克拉瑪公式 (見“克拉瑪公式的證明”),第一個線性方程組的解為
,
第二個線性方程組的解為
。
使用同樣方法亦可推得 階矩陣的逆矩陣公式。底下我採用另一個較為便捷的推導方式。考慮 階矩陣 的伴隨矩陣 (adjugate 或 classical adjoint) ,各元定義為 ,其中 代表移除 的第 列與第 行之後得到的 階子陣, 稱為餘子式 (minor), 稱為 的餘因子 (cofactor)。使用伴隨矩陣的關鍵等式 (見“伴隨矩陣”)
,
等號兩邊同時左乘 ,即得到以伴隨矩陣表示的逆矩陣公式
。
以 階矩陣為例,
。
下面是 階逆矩陣的行列式表達式:
。
3. Cayley-Hamilton 定理
令 為一個 階矩陣,且 的特徵多項式為 。Cayley-Hamilton 定理聲明 被其特徵多項式所消滅,即 (見“Cayley-Hamilton 定理”)。對於 階矩陣 ,寫出特徵多項式
,
其中 定義為 的主對角元之和,稱為跡數。Cayley-Hamilton 定理指出
。
上式乘以 ,逆矩陣 可表示為 和 的線性組合,如下:
沿用相同方法,寫出 階矩陣 的特徵多項式
令 為 的特徵值。因為特徵值是特徵多項式 的根,就有
使用關係式 (見“特徵多項式蘊藏的訊息”) 與 ,改寫上式 的係數,如下:
。
再者,,Cayley-Hamilton 定理給出
。
上式通乘 ,即得到 階逆矩陣的矩陣多項式,以 , 和 的線性組合表示:
。
這個公式同時也說明 階矩陣 的伴隨矩陣為
。
底下我用一個例子展示三種逆矩陣算法的計算過程,請你自行判斷哪一種方法的計算量較少且有較為簡潔的簿記。見下例:
。
1. 高斯─約當法使用基本列運算的化簡步驟如下:
逆矩陣 即為簡約列梯形式右邊的 階分塊。
2. 以伴隨矩陣表示的逆矩陣公式須計算 ,由高斯─約當法第二個步驟得到的上三角矩陣可知
,
寫出伴隨矩陣後再計算 9 個二階行列式,結果如下:
。
3. Cayley-Hamilton 定理演繹的逆矩陣公式必須計算 ,如下:
。
接著算出 ,。代入逆矩陣的矩陣多項式,
最後我們討論三種逆矩陣算法的計算量。對於一個 階可逆矩陣 ,應用高斯─約當法計算 的計算量[2]為 ,這與兩個 階矩陣相乘的計算量相同。利用伴隨矩陣計算逆矩陣則須計算一個 階行列式以及 個 階行列式。若以高斯消去法計算 階行列式 (如上例),計算量為 ,故總計算量為 。至於Cayley-Hamilton 定理給出的逆矩陣公式,除了計算一個 階行列式,還要計算冪矩陣 ,即便忽略組合係數,總計算量仍達 。以上分析解釋了何以線性代數教科書鮮少列舉 階或更高階矩陣的逆矩陣公式──雖然它們的外型簡單,但計算卻所耗不菲。
註解
[1] 假設 且 。寫出 和 ,因此 ,證明 的右逆等於左逆。假設 且 。後者等價於 ,故得 ,證明右逆是唯一的。
[2] 一個加法與一個乘法合稱為一個計算。