線性代數研究的往往不是單一向量,而是一整個向量或矩陣的集合:一個方程組的
所有解、一組向量的所有線性組合、滿足某條矩陣方程的所有矩陣,或者被某個矩
陣送到零向量的所有向量。
集合語言就是精確表達這些對象的語法。若沒有它,「同一個解集」、「屬於零
空間」、「這些向量張成同一個子空間」這些說法就會太含糊,難以支撐證明。
為甚麼線性代數需要集合
做行化簡時,我們不是要保留方程的外觀,而是要保留解的集合。兩個方程
組可以看起來不同,卻有完全相同的解。
同樣地,把一組張成向量縮短時,我們不是要保留原來的列表,而是要保留由這
個列表能夠生成的向量集合。
定義
屬於
若物件 x 是集合 S 的元素,記作
x∈S.若 x 不是 S 的元素,記作
x∈/S.
符號 ∈ 應讀作「屬於」。它不同於子集語言。一個向量可以屬於某個集合;
一個較小的集合可以是另一個集合的子集。
所在空間
寫下一個線性代數集合之前,先確認正在收集哪一類物件。
- Rn 是所有有 n 個分量的實欄向量所成的集合。
- Mm,n(R) 是所有實 m×n 矩陣所成的集合。
- Pn 是所有次數不超過 n 的實係數多項式所成的集合。
所在空間很重要。式子
{x:Ax=b}
若沒有說明 x 的大小與類型,就不夠完整。較嚴謹的寫法是
{x∈Rn:Ax=b}.
冒號左邊說明物件住在哪個集合;冒號右邊說明挑選這些物件的條件。
解集
設 A 是 m×n 矩陣,且 b∈Rm。
定義
線性方程組的解集
方程 Ax=b 的解集是
S(A,b)={x∈Rn:Ax=b}.
因此 t∈S(A,b) 有精確意思:
t∈Rn且At=b.
這個記號也能處理三種熟悉情況。
- 若方程組有唯一解 x0,則 S(A,b)={x0}。
- 若方程組不一致,則 S(A,b)=∅。
- 若方程組有無限多個解,則 S(A,b) 通常用參數式描述。
例題
讀懂參數式解集
假設某個方程組的解可寫成
x=102+s110+t−101,s,t∈R.作為集合,這就是
⎩⎨⎧102+s110+t−101:s,t∈R⎭⎬⎫.固定向量是一個特解;兩個方向向量記錄了可以自由加入而仍留在解集中的方向。
零空間與張成都是集合
課程中有兩種集合構造反覆出現。
定義
零空間
對 m×n 矩陣 A,
N(A)={x∈Rn:Ax=0}.
這就是齊次方程組 Ax=0 的解集。
定義
張成
若 u1,…,uq 是同一個向量空間中的向量,則
Span{u1,…,uq}={α1u1+⋯+αquq:α1,…,αq∈R}.
張成是一個集合,不是原來的列表。重排向量不會改變張成;加入一個本來已經
是舊向量線性組合的向量,也不會改變張成。
堆疊矩陣中的包含關係證明
證明集合包含時,先把成員關係寫成定義中的方程,再推導目標集合的條件。
把兩個係數矩陣上下堆疊,便得到這個方法的一個具體例子。
定理
堆疊矩陣的零空間包含在組合矩陣的零空間內
設 A 和 B 是 p×q 矩陣,並令
C=[AB].對任意實數 α,β,都有
N(C)⊆N(αA+βB).
證明
由定義出發的證明
要證明 包含關係,取任意 t∈N(C)。由零空間定義,
Ct=0.由於 C 是把 A 疊在 B 上方所得的矩陣,這等同於
[AtBt]=[00].因此 At=0 且 Bt=0。所以
(αA+βB)t=αAt+βBt=0.再次由零空間定義,t∈N(αA+βB)。由於 t∈N(C) 是任意
選取的,包含關係成立。
前一節證明的堆疊零空間恆等式
準確寫為 N(C)=N(A)∩N(B)。因此,上面的包含關係是說,同時滿足兩條齊次方程,就必滿足它們的任意固定線性組合;它並沒有說組合後仍保留兩條獨立的要求。
例題
合併方程會丟失資料
取 A=[1 0]、B=[0 1],堆疊矩陣是 C=I2,所以 N(C)={02}。但取 α=β=1,則 A+B=[1 1],從而
N(A+B)={[t−t]:t∈R}.為證明此描述,任意零空間向量都須滿足 x1+x2=0,所以令 t=x1 就得到所寫形式;反過來,代入任意這樣的向量,兩座標之和都為零。因此 (1,−1)T 屬於 N(A+B),卻不屬於 N(C):它在 A,B 下的輸出分別是一與負一,只在相加後才互相抵消。包含是嚴格的,改寫成相等就會出錯。
正確的等式使用交集,即 N(C)=N(A)∩N(B)。組合方程容許輸出相互抵消,原來兩個方程卻要求兩個輸出分別為零。一個見證向量已足以證明嚴格包含;參數計算則進一步描述了全部新增的解。
集合相等需要兩個方向
定義
集合相等
兩個集合 S 與 T 相等,是指每一邊的元素都屬於另一邊:
S=T⟺(x∈S if and only if x∈T) 對所有物件 x 成立.
在證明中,這通常變成兩個包含關係:
- 證明 S 的每個元素都屬於 T;
- 證明 T 的每個元素都屬於 S。
只證明第一個方向,只能得到 S⊆T,不能得到相等。
證明透視
每個包含方向都從成員條件取得資料
證明 S⊆T 時,先任取 x∈S,把成員關係翻譯成等式或係數。目標 x∈T 也有自己的定義條件;論證必須把已知資料轉換成同一個向量所需滿足的條件,不能先假設結論。
對張成而言,已知資料是某組係數的存在;要證明屬於另一個張成,就應構造另一組係數。對零空間而言,已知資料是一條齊次方程;要證明屬於另一個零空間,就應檢查對應的矩陣方程。只驗證幾個數值向量,不能代替這個任意向量的步驟。
然後交換兩個集合的角色,另作反向論證。這一方向可以較短,例如為新增的生成向量補上零係數,但仍須明確寫出。兩個包含方向可以使用不同的表示方式;始終不變的是要證明屬於相應集合的那個向量。
集合語言與解集跟着集合語言的語法,把代數條件轉成解集,再用任意元素證明子集與集合相等。
屬於與子集
x\in S 說一個物件屬於 S;S\subseteq T 則比較兩個集合。
集合描述語法
在 {x\in R^n:Ax=b} 中,R^n 指出所在空間,Ax=b 是挑選元素的條件。
解集
S(A,b)={x\in R^n:Ax=b} 是一個集合陳述;它可以是空集、單元素集合,或參數族。
零空間與張成
N(A) 由方程定義;Span{u_1,...,u_q} 由參數定義。兩者都描述整個集合。
子集證明套路
要證明 S\subseteq T,取 S 中任意元素,拆開 S 的定義,再證明它滿足 T 的條件。
相等證明套路
集合相等需要兩個包含關係。刪去張成列表中的冗餘向量,背後也是這套證明語法。
集合語言把代數條件變成精確集合:先寫所在空間,再寫條件,然後由任意元素開始證明包含關係。
同一係數矩陣的解集交集
集合語言也能清楚說明一個常用事實:若 Ax=b 和 Ax=c 的解集有一個共同
向量,則兩個右端向量其實必須相同。
定理
同一個 A 下,兩個有交集的解集必然相等
設 A 是 m×n 矩陣,且 b,c∈Rm。若
S(A,b)∩S(A,c)=∅,則
S(A,b)=S(A,c).
證明
為何一個共同解足以迫出相等
因為交集非空,所以存在某個向量 x0,使得
x0∈S(A,b)andx0∈S(A,c).由解集定義,
Ax0=bandAx0=c.因此 b=c。但若兩個右端向量相同,兩個 defining condition 就完全一樣:
Ax=b⟺Ax=c.所以 S(A,b) 的每個元素都屬於 S(A,c),而 S(A,c) 的每個元素亦屬於
S(A,b)。因此 S(A,b)=S(A,c)。
反過來讀也很重要:對固定矩陣 A,兩個一致系統 Ax=b 與 Ax=c 的解集
要麼不相交,要麼完全相同。它們不可能只共享一個解,卻在其他解上不同。
一個核心張成論證
下面的論證在線性代數中會不斷出現,只是常常藏在較大的計算裡。
定理
加入冗餘向量不會改變張成
若 v 是 u1,…,uq 的線性組合,則
Span{u1,…,uq,v}=Span{u1,…,uq}.
證明
用集合相等證明
寫
v=β1u1+⋯+βquq.令
S=Span{u1,…,uq,v},T=Span{u1,…,uq}.先取任意 x∈S。則存在純量 a1,…,aq,c,使得
x=a1u1+⋯+aquq+cv.代入 v 的公式:
x=(a1+cβ1)u1+⋯+(aq+cβq)uq.所以 x∈T。
反過來,若 y∈T,則
y=d1u1+⋯+dquq=d1u1+⋯+dquq+0v,所以 y∈S。因此 S=T。
這不是某個數值例子的技巧,而是說明為甚麼從張成列表中刪去冗餘向量是合法
的。
逆命題準確識別冗餘向量
假設加入 v 後張成沒有改變。向量 v 一定屬於擴大的張成:把它自己的係數取一,其餘舊生成向量的係數全部取零即可。兩個張成相等,於是 v 也屬於原來的張成,按定義便是舊生成向量的線性組合。這證明了逆命題,而不只是正向定理的另一個例子。
結合兩個方向可知:加入一個向量不改變張成,當且僅當舊列表已經能夠生成它。若向量在原張成之外,新張成就嚴格擴大:給新增向量係數零,說明新張成包含舊張成;新增向量本身則說明反向包含失敗。
這裏 Span(U) 簡記列表 U 中各向量的張成,並不是把整個列表當成一個向量。
定理
多個冗餘生成向量與張成相等
設 U=(u1,…,uq) 與 V=(v1,…,vs) 是 Rn 中兩個有限非空向量列表。把 V 中全部向量加入 U 不改變張成,當且僅當每個 vj 都屬於 Span(U)。此外,
Span(U)=Span(V)當且僅當每個列表中的向量都可由另一個列表作線性組合得到。列表長度 q,s 不必相同。
證明
從逐個加入到雙向生成
若每個 vj 都由 U 生成,就逐個加入 V 中的向量。第一次加入不改變張成;後續每個 vj 仍由保留在列表中的原生成向量生成,所以每一步都可再次使用單向量定理。歸納可得任意有限列表的結論。反過來,每個新增向量都屬於擴大的張成;若擴大後的張成等於舊張成,它們便都已屬於舊張成。
對第二個結論,假設兩個方向的生成關係成立。把 V 加到 U 不改變 Span(U);把 U 加到 V 不改變 Span(V)。合併後的列表包含相同向量,而改變次序不影響能形成的線性組合,所以兩個張成都等於合併列表的張成。
反過來,若兩個張成相等,U 的任意生成向量屬於自身張成,也就屬於 V 的張成,按定義可由 V 生成。交換列表可得另一個方向。這些論證都不需要線性獨立假設。
例子:證明兩個張成相等
例題
用明確係數刪去一個冗餘生成向量
令
u1=101,u2=011,v=235.因為
v=2u1+3u2,上面的定理給出
Span{u1,u2,v}=Span{u1,u2}.直接核對兩個包含關係:較大張成中的任意向量可寫為 au1+bu2+cv。代入已驗證的關係,得到 (a+2c)u1+(b+3c)u2,屬於較小張成。反過來,du1+eu2=du1+eu2+0v 屬於較大張成。舊係數為實數時,新係數也為實數,所以這些表達式對每個向量證明了雙向包含,而不只是驗證所列三個生成向量的成員關係。向量 v 仍可能有計算用途,但不會擴大能夠生成的集合。
例題
兩組不同的生成向量給出同一張成
令
u=135,v=246,w=3711,z=111.逐座標驗證可得正向關係 w=u+v、z=v−u。因此,對任意實數 a,b,有 aw+bz=(a−b)u+(a+b)v,證明了 Span(w,z)⊆Span(u,v)。為得到反向包含,把這兩個關係解回原生成向量:
u=21w−21z,v=21w+21z.所以對任意實數 c,d,
cu+dv=2c+dw+2d−cz.這就構造出另一個方向所需的係數。由任何一組生成的每個向量,都能由另一組生成,故兩個張成相等。只觀察到兩個列表都含兩個向量,並不能證明結論;真正提供依據的是明確的相互表示關係。
同樣的關係還能處理較長列表。在 (u,v) 後加入 w、2u 與 z 不改變張成,因為每個新增向量都已由原來一對生成。所得五向量列表與原兩向量列表張成相同。張成相等描述的是可生成哪些向量,而不是所選列表有多長;反過來,列表等長本身也不保證張成相等。
常見錯誤
常見錯誤
混淆向量與只含該向量的集合
向量 x0 與單元素集合 {x0} 是不同物件。若方程組有唯一解,解是
x0,但解集是 {x0}。
常見錯誤
忘記所在空間
條件 Ax=0 本身沒有說明 x 是 Rn 中的向量、矩陣變量,還是其他物件。
當語境未固定時,要寫出所在集合。
常見錯誤
只證明一個包含方向
要證明 S=T,只證明 S 的每個元素屬於 T 並不足夠。還要證明 T 的
每個元素也屬於 S。
常見錯誤
忘記共同解會固定右端向量
如果兩個系統使用同一個矩陣 A,而某個 x0 同時滿足 Ax0=b 和
Ax0=c,則必然有 b=c。結論不只是兩個系統相似,而是它們有相同的右端
向量。
快速檢查
思考檢查
如果 S(A,b)=∅,這對方程組 Ax=b 表示甚麼?
解答 · 答案
這表示方程組沒有解。也就是說,Ax=b 不一致。
思考檢查
假設 w=3u1−u2。把 w 加入列表 {u1,u2} 會否改變張成?
解答 · 答案
不會。因為 w 已經是 u1 與 u2 的線性組合,
Span{u1,u2,w}=Span{u1,u2}.
思考檢查
假設 S(A,b)∩S(A,c) 包含一個向量 x0。這對 b 和 c 表示甚麼?
解答 · 答案
因為 x0∈S(A,b),所以 Ax0=b。又因為 x0∈S(A,c),所以
Ax0=c。因此 b=c,兩個解集相等。
練習
思考檢查
令 S=Span{(1,0),(0,1),(1,1)} 且 T=R2。證明 S=T。
解答 · 引導解答
首先,S 的每個向量都是 R2 中向量的線性組合,所以 S⊆R2。
反過來,取任意 (a,b)∈R2。則
(a,b)=a(1,0)+b(0,1)+0(1,1),所以 (a,b)∈S。因此 R2⊆S,從而 S=T。
練習:判斷新增向量是否改變張成
令 u1=(1,0,1)T、u2=(0,1,1)T。哪些實數 a,b,c 會使加入 w=(a,b,c)T 後,Span(u1,u2) 保持不變?若張成改變,請指出一個能夠證明改變的向量。
解答 · 用冗餘逆命題作答
由已證明的等價關係,張成不變當且僅當 w 已是 u1,u2 的線性組合。而所有組合均具有形式
su1+tu2=(s,t,s+t)T.匹配前兩個座標,必須有 s=a、t=b;第三個座標便要求 c=a+b。條件成立時,w=au1+bu2 明確驗證了成員關係,所以舊張成不變。條件不成立時,沒有任何係數可用舊向量對表示 w;但給它自身係數一,即知它屬於擴大後的張成。因此 w 就是嚴格擴大的見證。
論證既檢查了表示的存在性,也證明了不存在表示時為甚麼失敗,不能只因新向量與舊生成向量的所在空間維數相同,就假設它是冗餘的。
最後要區分生成列表與基底。本節的論證只研究可以生成哪些向量,容許列表出現重複及不必要的生成向量。前面的五向量例子刪去三個生成向量後,列表改變,張成卻不變。剩下的列表是否線性獨立,是後面獨立性與基底筆記研究的另一問題。分清兩者,才不會把張成相等誤讀成係數表示唯一。
先讀這些
本節延伸
1.1 方程與解集,
並準備
6.3 線性組合與張成
中使用的集合相等論證。