當你已經懂得對方程組做行化簡,下一步就不應只問「這一題怎樣解」,而應問
「全部解究竟有甚麼結構」。齊次方程組是最適合開始問這個問題的地方,而零
空間正是回答這個問題的語言。
為甚麼齊次方程組特別
齊次線性方程組的常數項全部都是 0。用矩陣寫,就是
Ax=0.
這種情況有一個立刻可見的特點:零向量永遠是它的解。
定義
齊次方程組
齊次線性方程組是形如
Ax=0的線性方程組。
其中 x=0 稱為平凡解。
真正的問題在於:除了平凡解之外,是否還有非平凡解。
零空間把所有齊次解收集起來
定義
零空間
對實 m×n 矩陣 A,其零空間定義為
N(A)={x∈Rn:Ax=0m}.因此 N(A) 正正就是齊次方程組 Ax=0 的解集。
這個定義把「一些解」變成一個完整的數學對象。你不再只是在列例子,而是在
描述整個集合。
行化簡會揭示零空間的形狀
要找 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⎭⎬⎫.
這個例子說明:零空間描述的不只是「有沒有解」,而是全部解如何被建立出來。
齊次方程組與零空間觀看齊次系統如何產生零空間方向,以及一個特解如何平移這些方向,描述 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=b 的全部解。
定理
所有解都等於某個特解加上一個零空間向量
設 xp 是 Ax=b 的一個特解。
則向量 x 是 Ax=b 的解,當且僅當
x=xp+v其中 v∈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,解集才就是零空間本身。
標準題型:由一個解走向全部解
上面的定理經常要雙向使用。正向的說法是:一旦你知道 u 是 Ax=b
的一個解,就可以加上任何齊次解而不會離開原來的解集:
Ah=0⟹A(u+h)=Au+Ah=b+0=b.
反方向同樣重要。若 v 是同一個系統的另一個解,則
A(v−u)=Av−Au=b−b=0,
所以 v−u∈N(A)。因此兩個特解的差,不是一個任意的新特解,而是一個
齊次解。這就是
S(A,b)=u+N(A)
這個公式的精確理由。
例題
用一個特解與兩個零空間方向描述全部解
假設系統 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.p 的角色與 q1、q2 的角色不同。p 把解集放在正確的右邊 b
上;q1 與 q2 則描述在保持同一個右邊時可以移動的方向。
還有一個常用的縮放判斷。若 Ap=b,則
2A(23p)=3Ap=3b.
所以 23p 是 2Ax=3b 的一個解。這並不是說任何解集都可以任意
縮放;這裡可行,是因為係數矩陣與右邊同時被縮放,而且計算直接驗證了結論。
一個非齊次例子
例題
把所有解寫成特解加零空間
假設系統 Ax=b 有一個特解
xp=301,並且
N(A)=Span⎩⎨⎧1−10⎭⎬⎫.那麼所有解都可寫成
x=301+t1−10=3+t−t1,t∈R.零空間給出自由方向;特解則決定這整個解族位於哪裏。
為甚麼自由變量會產生無限多個齊次解
由行化簡角度去睇,一個重要結論會立即出現。
定理
只要有自由變量,就有無限多解
如果齊次系統 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}這個例子與前面有自由變量的情形相反。
零空間本身是一個子空間
零空間首先以「解集」的身份出現,但它也是 A 定義域的一個子空間。
這表示零空間同時記錄了解的存在性,以及仍然保留多少個獨立的自由方向。
定理
零空間對線性組合封閉
對任何矩陣 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)。
知道零空間是子空間後,便可進一步研究其基底、維數,以及它們與主元結構的關係。
左乘矩陣可能丟失方程資料
行變換保留齊次解集,是因為每一步都可逆;一般的矩陣乘子卻未必可逆。準確的結論必須明確寫出集合包含的方向。
定理
左乘矩陣時零空間的包含關係
設 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。各自的零空間都較大,但交集只保留共同向量。重複堆疊同樣可以表示有限多個齊次解集的交集。下一節會用此恆等式區分保留每條方程,與只保留方程的某個線性組合。
零度量度剩下多少個獨立方向
以上討論說明,零空間記錄了方程組剩餘的自由度。
每一個自由變量,都對應一個獨立參數。所以零空間的維數恰好等於化簡後自由變量的個數。
用秩的語言去講,之後就會寫成
nullity(A)=n−rank(A),
但在正式介紹秩—零度定理之前,也可以把零度理解為「方程組剩下多少個獨立零空間方向」。
例題
零空間成員測試其實很直接
令
A=[101101],x=1−11,z=100.計算得到
Ax=[00],Az=[10].因此 x∈N(A),但 z∈/N(A)。要測試某個向量是否屬於零空間,
最直接的方法就是實際計算 Ax。
如何由 RREF 讀出零空間基底
實際計算時,N(A) 的基底通常直接由自由變量描述讀出。
做法可以固定成:
- 先將 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) 是系統的結構核心,而 xp+N(A) 才是 Ax=b 的完整解集。
齊次解與欄向量相依性的關係
如果將 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 都有無限多解,
因為你可以在特解上加上任意標量倍的零空間向量。
所以零空間正好量度了系統中隱藏的自由度。
常見錯誤
常見錯誤
零向量永遠屬於零空間
有些同學會誤以為齊次方程組可能沒有解。這是不可能的,因為 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 子空間 做準備。