若 x 與 xp 都是 Ax=b 的解,則它們的差滿足 A(x−xp)=b−b=0。
因此,描述全部解的問題歸結為:對一個已知解作哪些改變,能夠保持右端不變?
這些改變恰好組成相應齊次方程組的零空間。
為甚麼齊次方程組特別
定義
齊次方程組
齊次線性方程組是形如
Ax=0的線性方程組。
其中 x=0 稱為平凡解。
由於 A0=0,齊次方程組一定一致。需要判斷的是:除了零向量之外,是否還有非平凡解。
零空間把所有齊次解收集起來
定義
零空間
對實 m×n 矩陣 A,其零空間定義為
N(A)={x∈Rn:Ax=0m}.因此 N(A) 就是齊次方程組 Ax=0 的解集。
輸入向量屬於 Rn,輸出向量屬於 Rm。判斷輸入是否屬於 N(A),就是檢查輸出是否為零向量。
例題
零空間成員測試其實很直接
令
A=[101101],x=1−11,z=100.計算得到
Ax=[00],Az=[10].因此 x∈N(A),但 z∈/N(A)。要測試某個向量是否屬於零空間,
最直接的方法就是實際計算 Ax。
行化簡會揭示零空間的形狀
要找 N(A),就是解 Ax=0,也就是對增廣系統 [A∣0] 做行化簡。
主元告訴你哪些變量被決定,自由變量則告訴你剩下多少自由方向。
例題
解一個齊次方程組並描述零空間
令
A=[1224−1−2].要求解 Ax=0,把它行化簡:
[1224−1−200]∼[1020−1000].所以方程變成
x1+2x2−x3=0.令 x2=s、x3=t 為自由變量,則
x1=−2s+t.因此
x=−2s+tst=s−210+t101.所以
N(A)=Span⎩⎨⎧−210,101⎭⎬⎫.
這裏 Span 表示所列向量的全部實線性組合。參數 s 與 t 可以獨立取值,因此公式給出了所有齊次解。相應的集合記號見
4.2 集合語言與解集。
齊次方程組與零空間觀看齊次系統如何產生零空間方向,以及一個特解如何平移這些方向,描述 Ax=b 的全部解。
平凡解
齊次系統永遠一致,因為 x=0 會給出 A0=0。真正問題是是否還有非零解。
零列保持為零
對 [A|0] 做行化簡時,增廣零列仍然是零,因此係數矩陣的 RREF 決定齊次解結構。
自由變量成為方向
主元變量由自由變量決定。每次只設定一個自由變量,便得到一個零空間方向向量。
零空間
N(A)={x:Ax=0} 不是一些例子的清單,而是整個齊次解集,通常寫成方向向量的所有線性組合。
由一個特解平移
若 p 解 Ax=b,則每個 p+q(其中 q 屬於 N(A))也解 Ax=b,而且所有解都如此得到。
自由度與唯一性
若 N(A)={0},一致系統只有一個解。若 N(A) 有非零方向,加入其倍數便得到無限多解。
齊次系統 Ax=0 告訴你方程留下哪些自由方向。若 Ax=b 一致,一個特解會把這些方向放到正確右端的位置,因此完整解集是 p+N(A)。
為甚麼自由變量會產生無限多個齊次解
定理
只要有自由變量,就有無限多解
如果齊次系統 Ax=0 至少有一個自由變量,那麼它就會有無限多個解。
自由變量可以取任意實數。因為它本身就是解向量的一個座標,改變其數值必然改變整個向量。以實際自由座標作為參數時,參數不可能從完整的解向量中消失。
如果變量數目多於主元方程數目,就至少有一個自由變量。同一論證說明,此時齊次方程組有無限多個解。
例題
一個自由變量已經會產生整條解線
假設行化簡後得到
x1−3x2=0.如果令 x2=t,則 x1=3t,所以所有解都可以寫成
[x1x2]=t[31],t∈R.由於 t 可以取無限多個值,而不同的值給出不同的向量,所以解集有無限多個元素。
例題
零空間也可能只剩平凡解
令
A=[1001].則 Ax=0 就只是
x1=0,x2=0.因此唯一解是零向量,所以
N(A)={0}這個例子與前面有自由變量的情形相反。
零空間本身是一個子空間
兩個齊次解相加,或把齊次解乘以一個實純量,仍然得到齊次解。連同零向量的存在,這些正是定義 Rn 的子空間所需的封閉性質。
定理
零空間對線性組合封閉
對任何矩陣 A,N(A) 都是一個子空間。特別是:
- 0∈N(A);
- 若 u,v∈N(A),則 u+v∈N(A);
- 若 u∈N(A) 而 c 是純量,則 cu∈N(A)。
證明
為甚麼零空間是子空間
已知 0∈N(A),因為 A0=0。
而若 u,v∈N(A),則 Au=0、Av=0。由線性性質,
A(u+v)=Au+Av=0+0=0,所以 u+v∈N(A)。
同樣,若 u∈N(A) 而 c 是純量,則
A(cu)=c(Au)=c⋅0=0,因此 cu∈N(A)。
一般的子空間定義與封閉性判別見
6.2 子空間。這裏的計算已經證明了對零空間向量作線性組合所需的性質。
如何由 RREF 讀出零空間基底
基底是一組線性獨立的張成向量。對 N(A),自由座標的描述直接給出這樣一組向量:它們生成每個解,而只有全零係數才能組合出零向量。一般的定義見
6.5 基底與維數。
具體構造如下:
- 先將 A 行化簡;
- 分清楚主元變量與自由變量;
- 每次將一個自由變量設成 1,其餘自由變量設成 0;
- 由方程解回主元變量;
- 對每個自由變量重複一次。
這些向量確實構成一組基底,而不只是候選。設共有 k 個自由座標,vj 是把第 j 個自由座標取一、其餘自由座標取零後得到的解。對任意 x∈N(A),記其自由座標為 t1,…,tk。由封閉性,t1v1+⋯+tkvk 仍是齊次解,其自由座標與 x 完全相同,而化簡後的主元方程唯一確定其餘座標。因此這個組合等於 x,證明了張成。
再證明獨立性:若 c1v1+⋯+ckvk=0,則其第 j 個自由座標恰好為 cj,因為只有 vj 在該位置取一。因此所有 cj=0,無需再次消元便證得線性獨立。這些向量於是構成基底,其數目就是零度。若沒有自由變量,零空間是 {0},其基底為空列表,而不是含有零向量的列表;這與零度為零相符。
零度等於自由座標的數目
剛才構造的基底對每個自由座標恰有一個向量。基底的向量數就是 N(A) 的維數,稱為 A 的零度。若一個 m×n 矩陣的 RREF 有 r 個主元,就有 n−r 個自由變量,因此
nullity(A)=n−r.
主元數 r 稱為秩;這個數不依賴所選的化簡過程,其理由見
5.2 RREF 的唯一性與秩。用秩表示,上式就是
nullity(A)=n−rank(A).
齊次解控制非齊次解的結構
一旦找到 Ax=b 的一個特解 xp,齊次解就給出了保持右端不變的全部改變量。
定理
所有解都等於某個特解加上一個零空間向量
設 xp 是 Ax=b 的一個特解。
則向量 x 是 Ax=b 的解,當且僅當
x=xp+v其中 v∈N(A)。
若把解集記為 S(A,b),定理即為 S(A,b)=xp+N(A)。
證明
為甚麼全部解都具有 xp+N(A) 的形式
先設 x 是 Ax=b 的任意一個解。那麼
Ax=b且Axp=b.相減得
A(x−xp)=0.所以 x−xp∈N(A),即 x=xp+v,其中 v∈N(A)。
反過來,若 v∈N(A),則 Av=0。因此
A(xp+v)=Axp+Av=b+0=b.所以任何形如 xp+v 的向量,也必定是系統的解。
概念視角幾何
把整個零空間作同一個平移
固定一個特解 xp 後,xp+N(A) 表示所有 xp+v 組成的集合,其中 v∈N(A)。加上 xp 就是讓零空間的每個點作同一個位移。這建立了齊次解與非齊次解之間的一一對應,逆過程是減去 xp。前面的證明分別說明了平移後的每個點都有效,以及每個解都能這樣得到。
特解本身一般不唯一,但平移所得的集合與特解選擇無關。若 xq 是另一個解,則 h=xq−xp∈N(A)。對每個 v∈N(A),有 xq+v=xp+(h+v),而封閉性保證 h+v∈N(A)。因此 xq+N(A)⊆xp+N(A);把 h 換成 −h 可得反向包含。沿解集選擇不同起點,描述的仍是同一個解族。
一致性不可省略:沒有特解,就無法開始這個描述。當 b=0 時,一致方程組的解集不含零向量,因為 A0=0=b。它是子空間的平移,稱為仿射子空間,卻不是向量子空間;兩個解相加後對應的右端是 2b,而非 b。只有在齊次情況 b=0,解集才就是零空間本身。
例題
用一個特解與兩個零空間方向描述全部解
假設系統 Ax=b 有一個已知解
p=10−1010,而齊次系統 Ax=0 有以下兩個解方向:
q1=2−31000,q2=−310−221.若這兩個方向張成 N(A),那麼 Ax=b 的所有解都可寫成
x=p+sq1+tq2,s,t∈R.展開來看,就是
x=10−1010+s2−31000+t−310−221.這裏 Ap=b,而 Aq1=Aq2=0。向量 p 給出所需的輸出,方向 q1 與 q2 則容許輸入改變而保持輸出不變。它們張成整個零空間這一條件,保證了公式能夠給出每個解。
一維零空間對應的仿射直線
例題
把所有解寫成特解加零空間
假設系統 Ax=b 有一個特解
xp=301,並且
N(A)=Span⎩⎨⎧1−10⎭⎬⎫.那麼所有解都可寫成
x=301+t1−10=3+t−t1,t∈R.零空間給出自由方向;特解則決定這整個解族位於哪裏。
縮放一個解通常會改變右端。若要求解另一個方程組,可以直接核對縮放的效果:若 Ap=b,則
2A(23p)=3Ap=3b.
所以 23p 是 2Ax=3b 的一個解。這並不是說任何解集都可以任意
縮放;這裡可行,是因為係數矩陣與右邊同時被縮放,而且計算直接驗證了結論。
齊次解與欄向量相依性的關係
如果將 A 的欄寫成 a1,a2,…,an,則
Ax=0
其實就等價於
x1a1+x2a2+⋯+xnan=0.
所以只要齊次系統有一個非平凡解,就等同於 A 的欄向量之間存在一條非平凡
線性關係。
例題
非平凡零空間向量給出相依關係
假設
x=1−21∈N(A).則 Ax=0 就表示
1⋅a1−2⋅a2+1⋅a3=0.這正是 A 的欄向量之間一條非平凡相依關係。
零空間如何決定唯一性
由這個結構定理可以立刻得到:
- 若 N(A)={0},則一致系統 Ax=b 只有唯一解;
- 若 N(A) 含有非零向量,則每個一致系統 Ax=b 都有無限多解,
因為你可以在特解上加上任意標量倍的零空間向量。
一致性假設不可省略:零空間只有零向量,保證的是每個右端至多有一個解,並不能單獨保證解存在。
左乘矩陣可能丟失方程資料
行變換保留齊次解集,是因為每一步都可逆;一般的矩陣乘子卻未必可逆。準確的結論必須明確寫出集合包含的方向。
定理
左乘矩陣時零空間的包含關係
設 A 是實 m×n 矩陣,G 是實 p×m 矩陣,則
N(A)⊆N(GA).如果 G 是可逆方陣,則 N(A)=N(GA)。
證明
逆矩陣在哪個方向發揮作用?
任取 x∈N(A),則 Ax=0m,所以 (GA)x=G(Ax)=G0m=0p。因此 x∈N(GA),證明了任意相容乘子下的包含關係。注意,即使兩矩陣行數不同,兩個零空間中的向量仍都屬於 Rn。
反向包含則假設 G 是可逆方陣,因此 p=m,並取 x∈N(GA)。由 GAx=0p 左乘 G−1,得 Ax=G−10p=0m,所以 x∈N(A)。只有這個方向使用了逆矩陣;結合兩個包含關係,才得到集合相等。
GA 的每一行都是 A 各行的線性組合,因此新方程都是舊方程的推論,每個舊解必然滿足新方程。若組合過程丟失了資料,就可能產生額外的解。這解釋了為甚麼不能隨意用一般行組合代替初等行變換,而不檢查保留了哪些約束。
例題
丟失一個約束的矩陣乘子
取
A=[1001],G=[10].則 GA=[1 0]。原方程 Ax=0 同時要求 x1=0 與 x2=0;新方程只要求 x1=0。所以
N(A)={02},N(GA)={[0t]:t∈R}.向量 (0,1)T 屬於第二個集合而不屬於第一個,因此包含嚴格。這裏直接核對了丟失的條件,而不是只比較方程條數。可逆性保證相等,卻不是對每個特定 A 都必要的條件:若 A 是零矩陣,即使乘子不可逆,兩個零空間仍都等於 Rn。不能自動把定理倒轉。
堆疊方程對應零空間的交集
另一種組合方程組的方法,是把全部方程一起保留。堆疊與只取某些行組合不同,它不會捨棄其中任何條件。
定理
堆疊矩陣的零空間
設實矩陣 A 的大小為 m×n,B 的大小為 p×n。令
C=[AB],則 N(C)=N(A)∩N(B)。交集表示同時屬於兩個集合;行數可以不同,欄數卻必須相同。
證明
雙向證明堆疊矩陣恆等式
先取 x∈N(C)。由分塊乘法,
0m+p=Cx=[AxBx].比較上方的 m 個元素與下方的 p 個元素,分別得到 Ax=0m 與 Bx=0p。因此 x 屬於兩個零空間,也就屬於它們的交集。
反過來,取 x∈N(A)∩N(B)。集合成員條件同時給出 Ax=0m 與 Bx=0p。把兩個輸出堆疊,得到
Cx=[0m0p]=0m+p,故 x∈N(C)。兩個方向的成員關係都已核對,集合相等於是成立。
例如,堆疊 A=[1 0 0] 與 B=[0 1 0],就是同時施加 x1=0 與 x2=0,留下的恰好是 (0,0,t)T。各自的零空間都較大,但交集只保留共同向量。重複堆疊同樣可以表示有限多個齊次解集的交集。下一節會用此恆等式區分保留每條方程,與只保留方程的某個線性組合。
常見錯誤
常見錯誤
零向量永遠屬於零空間
有些同學會誤以為齊次方程組可能沒有解。這是不可能的,因為 x=0 永遠
滿足 Ax=0。
常見錯誤
找到一個特解,不等於已經找到全部解
即使你已經找到某個 xp 滿足 Axp=b,仍然要把整個零空間加上去,才
算完整描述了解集。
常見錯誤
不要把特解與方向混淆
若 u 與 v 都解 Ax=b,則 v−u 解的是 Ax=0。向量 v−u
是零空間中的方向,不是一個新的右邊。
快速檢查
思考檢查
為甚麼 Ax=0 一定至少有一個解?
解答 · 答案
因為零向量總會滿足 A0=0。
思考檢查
若 N(A)={0} 且 Ax=b 一致,它有多少個解?
解答 · 答案
只有一個,因為沒有任何非零零空間向量可以再加到特解上。
思考檢查
如果 Ax=0 有自由變量,解集有可能只得兩個向量嗎?
解答 · 答案
不可能。自由變量可以取無限多個純量值,所以會產生無限多個解向量。
思考檢查
假設 u 與 v 都解 Ax=b。那麼 v−u 解哪一個齊次系統?
解答 · 答案
它解 Ax=0,因為
A(v−u)=Av−Au=b−b=0.
練習
思考檢查
若 xp 解 Ax=b,而 u,v∈N(A),為甚麼 xp+u 與 xp+v 都是 Ax=b 的解?
解答 · 引導解答
因為 Au=0 且 Av=0,所以
A(xp+u)=Axp+Au=b+0=b,同理
A(xp+v)=Axp+Av=b+0=b.因此,只要在特解上加任何零空間向量,仍然留在同一個解集之中。
相關筆記
本節建立在
2.3 高斯消元與最簡行階梯形
與 2.4 解集的種類 之上。
它會為
5.1 可逆矩陣
與 6.2 子空間 做準備。