行變換最初是矩陣上的操作步驟:交換兩行、把一行乘以非零純量、把一行的倍數
加到另一行。這些操作已經可以用來解方程組,因為它們保留解集。
但同一件事還有一個更有結構的讀法:每一個初等行變換,都等同於左乘某個特別
的方陣。這個觀點很重要,因為它把一串行變換轉成普通的矩陣等式。之後討論
行化簡、可逆性、秩、行列式和基底時,這正是程序性操作和代數結構之間的橋。
核心想法:先把行變換作用在單位矩陣上
假設一個行變換 ρ 作用於有 p 行的矩陣。先從單位矩陣 Ip 開始,
對 Ip 做同一個行變換,所得矩陣記作 Eρ。
定義
行變換矩陣
與 p 行矩陣上的行變換 ρ 對應的 行變換矩陣,就是把 ρ
作用在 Ip 上所得的 p×p 矩陣。
換句話說,
Eρ=ρ(Ip).
這個定義有用,是因為以下定理。
定理
行變換等同於左乘矩陣
設 A 是任何有 p 行的矩陣,並以 ρ(A) 表示對 A 做行變換
ρ 後得到的矩陣。則
ρ(A)=EρA.所以,對 A 做一個行變換,等同於用同一個行變換在 Ip 上得到的
行變換矩陣左乘 A。
這裏必須是左乘。行變換改變的是行,會把新行寫成舊行的線性組合;左乘正是把
A 的新行寫成舊行的線性組合。右乘則會混合列,不是同一件事。
三個基本例子
三種合法行變換,對應三種行變換矩陣。
例題
行加法
對有三行的矩陣,考慮
ρ:R2←R2+3R1.把它作用在 I3 上:
I3=100010001⟼Eρ=130010001.因此,對任何有三行的矩陣 A,
EρA就是把 A 的第 2 行改成「第 2 行加上 3 倍第 1 行」後所得的矩陣。
例題
行倍乘
對
ρ:R3←−2R3,對應的行變換矩陣是
Eρ=10001000−2.行倍乘要求純量非零,這一點在矩陣上也看得出來:如果倍數是 0,所得矩陣會
出現零行,不能反向恢復。
例題
交換兩行
對
ρ:R1↔R3,我們得到
Eρ=001010100.左乘這個矩陣,就會交換任何相容矩陣的第 1 行和第 3 行。
一串行變換就是一個矩陣乘積
真正的用途不只是表示單一步驟,而是把整串行變換寫成一個矩陣乘積。
定理
一串行變換的乘積表示
假設
A1ρ1A2ρ2A3ρ3⋯ρkAk+1.則
Ak+1=EρkEρk−1⋯Eρ2Eρ1A1.
這個公式中的次序很重要。第一個行變換最靠近 A1,因為它最先作用:
A2=Eρ1A1,A3=Eρ2A2=Eρ2Eρ1A1.
例題
合併兩個行變換
令
A=101020110.依次做
ρ1: R2←R2+R1,ρ2: R1←R1+2R2.對應的行變換矩陣是
Eρ1=110010001,Eρ2=100210001.兩個操作完成後,結果就是
Eρ2Eρ1A.若不想直接相乘 Eρ2Eρ1,也可以把同一串行變換按同一次序作用在
I3 上,所得矩陣就是合併後的左乘矩陣。
讀懂較長的行變換乘積
在功課式題目裏,行變換經常會以一長串步驟出現。重點不是盲目相乘很多矩陣,
而是把三種對象分清楚:
- 正在被變換的矩陣 A1,A2,…,Ak+1;
- 每一步對應的行變換矩陣 H1,H2,…,Hk;
- 合併後的單一左乘矩陣 J=Hk⋯H2H1。
以下是一個四行矩陣的典型例子。假設
ρ1ρ2ρ3ρ4ρ5ρ6:R2←−21R2,:R1↔R2,:R3←R3−2R1,:R4←R4−2R3,:R1←R1−R3,:R1←R1−R2.
如果
A1ρ1A2ρ2A3ρ3A4ρ4A5ρ5A6ρ6A7,
那麼
A7=H6H5H4H3H2H1A1.
相應的行變換矩陣是
H1H3H5=10000−210000100001,=10−20010000100001,=10000100−10100001,H2H4H6=0100100000100001,=10000100001−20001,=1000−110000100001.
它們的乘積是
J=H6H5H4H3H2H1=−1100−2301−2−101−20001.
有效率的做法,是把六個行變換依次作用在 I4 上,而不是手動展開六個因子。
矩陣 J 記錄了整串步驟對行的總作用:
A7=JA1.
這個等式也可用來檢查乘積次序。如果把第一步放在最左邊,所得乘積會描述另一
串不同的操作。
快速檢查
在上面六步行變換中,若 K 是由 A7 反向回到 A1 的行變換矩陣乘積,J 和 K 應滿足甚麼等式?
反向行變換與逆矩陣
每個初等行變換都有反向操作:
- Rj←Rj+cRi 的反向操作是
Rj←Rj−cRi;
- Ri←cRi(其中 c=0)的反向操作是
R_i \leftarrow (1/c)R_i;
- 交換兩行的反向操作仍然是同一次交換。
這給出一個乾淨的矩陣敘述。
定理
行變換矩陣都是可逆矩陣
每個行變換矩陣都是可逆的。它的逆矩陣,就是反向行變換所對應的行變換矩陣。
例如,若
E=130010001
表示 R2←R2+3R1,則
E−1=1−30010001
表示 R2←R2−3R1。
這就是行變換可逆的代數原因,也解釋了為甚麼行化簡和可逆矩陣有密切關係。
為甚麼這個觀點之後會有用?
如果 B 與 A 行等價,則存在一串有限的行變換把 A 變成 B。因此存在
某個行變換矩陣的乘積 E,使得
B=EA.
由於每個行變換矩陣都可逆,乘積 E 也可逆。因此行等價既可以用操作步驟來
描述,也可以用左邊乘上一個可逆矩陣的等式來描述。
這個觀點會在多個地方使用:
- 一個方陣若行等價於 In,它就是若干行變換矩陣的乘積;
- 行變換保留齊次方程組的解資訊,因為它等同於左乘可逆矩陣;
- 行列式關於行變換的規則,可以透過初等矩陣來表述;
- 秩和基底的論證可以使用行化簡,同時清楚知道原矩陣的列本身通常已被改變。
常見錯誤
常見錯誤
不要把乘積次序反過來
如果 ρ1 先於 ρ2 作用,合併矩陣是
Eρ2Eρ1,不是 Eρ1Eρ2。
常見錯誤
不能把某一行乘以零
行倍乘要求純量非零。把一行乘以 0 不能反向恢復,也不會產生可逆的
行變換矩陣。
快速檢查
快速檢查
對有三行的矩陣,E=105010001 表示哪個行變換?
快速檢查
R2←R2−4R1 的反向行變換是甚麼?
練習
快速檢查
寫出有三行矩陣上 R1↔R2 的行變換矩陣。
快速檢查
假設 B 由 A 經以下兩步得到:先做 R2←R2+R1,再做 R3←2R3。把 B 寫成涉及 A 的矩陣乘積。
快速檢查
令 β1,β2=0。假設五行矩陣 A 經以下行變換鏈得到 B:先做 α1R1+R3,再做 β1R2,再做 R1↔R4,再做 α2R2+R3,最後做 β2R1。寫出單一矩陣 G,使得 B=GA。
把同一串操作作用在 I5 上,並記住後面的操作使用的是當時的行,不是原來的行。
快速檢查
沿用上一題的矩陣 G,假設 D=GC。寫出矩陣 H,使得 C=HD。
相關筆記
這一頁建立在
2.2 增廣矩陣與行變換
和
3.1 矩陣乘法與單位矩陣
之上。它也準備了
5.1 可逆矩陣
和
7.2 行變換、乘積與可逆性
中使用的行化簡代數觀點。