來自MIT的經典線代課程--Gilbert Strang
第六課:向量空間與子空間、特殊子空間 ( 行空間、零空間 ) ( Vector space and Subspace、Spacial subspace ( Column space、Null space ) )
向量空間 ( Vector Space )
這次的課程會在上一講的「 向量空間 」上進一步細說兩種經常使用的「 子空間 」,在課程的開頭,教授簡單複習了何謂「 向量空間 」,即
對「 向量空間 」S 中的任意兩向量 v , w 進行線性組合後,運算結果必然落於 S 中
假設現在討論的系統是三維空間,在開始討論前,針對為何要取用三維空間這點,我想說說我的想法
三維空間是執行「 幾何解析 」的極限,「 幾何解析 」白話便是「 畫得出來 」,能夠畫出來意味著「 分析視角+1 」,畢竟在數學的世界中,有越多觀點越好我想已然成為共識
若不使用三維空間,高維空間無法繪製於二維平面上,二維空間可繪製於二維平面上進行討論,但是由於維度的限制,二維空間會因為結構過於單純,進而出現特例,且部分向量運算 ( 外積 ) 在二維空間中無法定義
綜上所述,三維空間在「 可繪製 」與「 泛用性 」之間取得不錯的平衡
而教授在教學中提到三維空間中最「 簡單 」的「 向量空間 」便是「 R3 」,此處的「 簡單 」更多的是用來形容「 結構 」,而非「 成分單一 」
「 結構簡單 」代表「 沒有過多規則限制結構的元素運算 」,白話一點則是「 因為規則少而泛用,所以想幹嘛基本上就能幹嘛 」
倘若要求以精準的數學語言表示「 結構簡單 」一詞,我想「 標準 ( Standard ) 」大概能成為最恰當的形容詞,這是因為「 R3 」具備「 標準化 ( Canonical ) 」的內建特性,使得「 R3 」能夠成為其他三維向量空間的「 模範 」和「 參考座標系 」
當然,平時進行「 n 維空間 」討論時,也大多以「 Rn 」作為「 標準 」進行討論
給定「 R3 」後,下一個要找出來的是「 R3 」的「 子空間 」,所謂的「 子空間 」便是由「 向量空間 」中取部分元素形成的「 向量空間 」
子空間 ( Subspace )
在「 R3 」框架下,通過原點 ( 0 , 0 , 0 ) 的「 點 」、「 線 」、「 面 」、「 體 」皆為「 R3 」中的「 子空間 」,接著要討論問題便是不同「 子空間 」之間,產生的「 聯集 ( Union ) 」與「 交集 ( Intersection ) 」是否依然為「 向量空間 」
首先將通過原點的「 點 」、「 線 」、「 面 」、「 體 」定義為「 O 」、「 L 」、「 P 」、「 F 」,並設 S1、S2 為

若「 L 」在「 P 」之上,即滿足「 L 為 P 的子集合 」這一條件時, S1、S2 皆為「 向量空間 」,但若「 L 」不在「 P 」之上,即滿足「 L 不是 P 的子集合 」這一條件時, S1 依然會是「 向量空間 」,而 S2 會打破「 向量空間 」中的「 加法封閉性 」條件,此時便能得出結論
S1 必為「 向量空間 」,S2 不全然為「 向量空間 」
不知讀者是否有發現,這個範例由於「 可繪製 」的原因,便可在不需知曉集合內部的元素的前提下檢驗,並通過圖形讓不同「 子空間 」之間的關係變得非常清晰,這就是「 R3 」特有的優勢
而在上述範例下,可以清楚地知曉相同框架 ( R3 ) 下不同維度的「 子空間 」之間的關係,若是將這個問題進階為任意兩個相同框架 ( Rn ) 下不同的「 子空間 」S 與 T,與 P 跟 L 的關係相同,可分為兩個階段討論
- S 與 T 是否存在「 子集-超集 ( Subset-Superset ) 」關係?
- S 與 T 的「 聯集 」與「 交集 」是否依然為「 向量空間 」?
若是 S 與 T 存在「 子集-超集 」關係,則無論是「 聯集 」或是「 交集 」,結果不是 S 就是 T,因此必然能保留「 向量空間 」的規則限制
若是 S 與 T 不存在「 子集-超集 」關係,則須回歸集合運算的觀點說明
「 交集 」意味著取用的元素更少,且「 交集 」需要滿足的條件比參與集合自帶的條件都要得多,因此「 交集 」必然能保留「 向量空間 」的規則限制
「 聯集 」意味著取用的元素更多,但「 聯集 」會在一定程度上破壞參與集合自帶條件,因此「 聯集 」不一定保留「 向量空間 」的規則限制
用比喻的方式說
- 集合視為國家公民
- 集合元素視為擁有該國認可的公民
- 聯集、交集視為篩選條件
- 「 子集-超集 」關係視為「 藩屬國-帝國 」關係
並定義公民孩子的身份需藉由雙親是否同時具備該國公民身分判斷,倘若一方不具備,孩子便不具有該國公民身分
若兩國國民身分存在「 藩屬國-帝國 」關係,那子嗣便不存在國籍問題,都是自己人
取「 交集 」意味著被選出的公民同時均被兩國認可 ( 雙重國籍 ),所以交集公民間的子嗣必然具有某國公民身分
取「 聯集 」意味著被選出的公民可能僅被單一國家認可,所以聯集公民間的子嗣不一定具有某國公民身分,運氣差點的,就什麼身分都沒有 Q Q
其中「 選出的公民誕生的子嗣是否持有國家認可的公民身分 」便是「 向量空間 」的限制,如果子嗣都持有公民身分,則符合條件,倘若子嗣不一定持有公民身分,則無法符合條件,這樣說不知道讀者有沒有比較好明白 ( 希望有,畢竟我想蠻久的哈哈 )
行空間 ( Column Space )
「 行空間 」在上次課程中簡單帶過定義,而這堂課會深入理解「 行空間 」的性質,和過去相同,先以定義矩陣開始,給定

由「 行空間 」的定義可知,A 的「 行空間 」是由 A 的「 行向量 」的線性組合後構成的集合,並記為「 C ( A ) 」
並且由於 A 的「 行向量 」是四維向量,而由「 四維行向量 」構成的「 C ( A ) 」應該是「 R4 」的「 子空間 」,那麼問題來了
「 C ( A ) 」的大小有多大?有「 R4 」那麼大嗎?或者只是「 R4 」的真子集之一?
相信各位讀者此時應該是有答案的,「 C ( A ) 」只是「 R4 」的真子集而已,所以下一個問題才是核心
「 C ( A ) 」具體來說有多大?
從定義上看,「 C ( A ) 」是由「 四維行向量 」構成的空間,但這不意味著「 C ( A ) 」會是一個「 四維空間 」,回歸到上一堂課的最後討論到「 R3 」與「 R2 」的「 子空間 」與個別生成方式,之所能夠產生不同維度的「 子空間 」圖形,是因為構成圖形時所使用的了幾種不同方向的向量,當時所謂的不同方向是建立於不共平面或是不共線這樣的幾何關係上的
但是在高維度的空間中,「 點 」、「 線 」、「 面 」、「 體 」皆不復存在,或是說三維空間下的幾何圖形將以一種陌生的方式呈現在高維度中,此時根本的不同方向便需要重新定義
當視角回歸到不共平面、不共線的幾何關係時,能發現不同方向這個詞可以被一個數學概念解釋,即
生成空間的向量無法被彼此線性組合
而一概念這便是線性代數中,用以描述生成向量關係間的
「 線性獨立 ( Linear independent ) 」與「 線性相依 ( Linear dependent ) 」
- 「 線性獨立 」代表生成空間的向量無法被彼此線性組合
- 「 線性相依 」代表生成空間的向量可以被彼此線性組合
「 線性獨立 」代表生成空間沒有向量可以被取代,所以有多少生成向量,就能提供多少獨立方向,有多少獨立方向,就能建構出多少維度的子空間
「 線性相依 」代表生成空間中存在可以被其他向量構成的向量,所以向量能提供的獨立方向必然低於生成向量本身,因此最終能建構出幾維的子空間端看獨立方向數量才能知悉
由於 A 的第一行加第二行等於第三行,換句話說,A 的三個行向量之中存在一個可以被取代的「 行向量 」,因此 A 是個「 線性相依 」的矩陣,其中生成向量能提供的獨立方向僅有兩個,即 A 的「 行空間 」僅能形成一個「 二維子空間 」
這,是理論上的說法
換一個想法
如果以上理論描述讀者不太清楚,以下提供另一種想法,將問題回歸解線性方程組,希望各位讀者可以思考
對任意四維向量 b 是否存在三維向量 x 使得 A x = b 存在解
在回答問題前不妨思考為何要回答,數學提問往往是通過問題核心進行誘導,這個問題也不例外,希望讀者能夠帶著自己的答案往下看
首先,這個問題的答案是否,不是對任意一個四維向量 b 都存在一組解 x
通過將「 A x = b 」轉換為線性方程組,會出現四個線性方程式的同時,只有存在三個未知數,此處引用一個各位讀者中學時應該就已經學過的概念,即
僅當方程個數 ≥ 變數個數,才可能有唯一解;反之,則可能無解或無窮多解
在理想狀態下,三個不同的線性方程式能得出一組解,因此根據方程式的選擇,最多能出現四組解,而這四組解哪些是正確的,哪些是錯誤的,沒人能夠確保
將解放入沒有參與求解運算的方程式中,方程式不一定能夠成立,因此此命題為否
現在各位讀者知曉了問題的答案,不妨換個推論的方向,既然由 b 求 x 會有問題,則由 x 求出 b 是否可行?我們是否可能主動將 b 的範圍建構出來呢?
對哪些四維向量 b 可以找到對應三維向量 x 使得 A x = b 存在解?
這樣主動建構找規則的方式也不是第一次用了,只能說數學還得存在通靈過程才對味阿
這個問題的答案其實沒想像中困難,但是請先放棄 ( 0 , 0 , 0 ) 這個爛大街的答案,我們找的不是得過且過的通解,而是有討論意義的解,你說沒想法?那不妨將方程式定為

此矩陣方程式改以線性方程式組表示則為

開始消元的讀者請先冷靜,雖然「 消元 」沒有錯,也能解出方程組的解,但是別忘了前面學過的,以「 線性組合 」來處理這個問題難道不顯得更加輕巧嗎?
若以矩陣乘法的概念來看 x,則 x 可視為 A 的個別行向量的「 乘數 」,將其改寫為「 行向量線性組合 」的方式表示,即

顯而易見的, ( x1 , x2 , x3 ) = ( 1 , 0 , 0 ) 或是 ( 0 , -1 , 1 )?
...好吧,顯而易見的還有這個線性方程組存在無窮多個解,至於原因晚點才會提到 ( 所謂的晚點是指這堂課不會有 ),為何希望讀者以線性組合的方式去處理這個問題,是因為要引入以下概念
所謂「 存在 x 使得 A x = b 的 b 」,完全可以將 x 可視為 A 的行向量的「 乘數 」執行線性組合造出來,而所有的可能性構成的集合便是「 C ( A ) 」,想不到吧,又圓回來了
啊?你說你早就想到了?真是個不會提供情緒價值的讀者呢 = =
綜上所述,我們應該能夠得出一個結論
僅當 b 存在於「 C ( A ) 」中時,才存在 x 使得 A x = b 成立
相信寫到此處,各位讀者應該能夠更好的理解最初說明行空間時提到的向量獨立方向與子空間維度意味著什麼,以及兩者之間的關係,至此「 行空間 」解說完畢
零空間 ( Null Space )
如果說「 行空間 」是通過「 A x = b 」中的 b 進行研究、說明、定義,並在過程中將 b 徹底摸透後誕生的產物
各位讀者應該都知道,已經被解決的問題是無法勾起數學家的一絲興趣的,數學家如同渣男一般,徹底品嚐過後就會毫不猶豫地仍掉,轉頭物色新對象 ( 問題 ),而「 零空間 」便是將原有問題「 A x = b 」改為「 A x = 0 」,抹去 b 的存在後,誕生的下一個獵物,即探討 x 可能性的產物
( 以上發言不代表普世數學家的價值觀與感情觀,當然,筆者也絕對不是這種人 )
嗯...別用看蟲豸的眼神看筆者,這樣筆者會心虛的,先不管上面的小劇場,所謂的「 零空間 」指的是
在 A x = 0 的前提下,由所有的 x 構成的集合 ( 向量空間 ),被記為「 Null ( A ) 」
「 Null ( A ) 」是由 x 構成的空間,而 x 是三維向量,因此「 Null ( A ) 」是「 R3 」框架下的子空間,而非「 R4 」的子空間,無論與 x 相乘的 A 有多大,這點都不會改變
在需要提醒各位讀者的定義完成後,便可實際上手操作了,列出方程式

雖然一般來說,要尋找某個矩陣的行空間或是零空間,都需要使用消元法才能求得,但是範例中的問題並不需要使用消元,一樣通過行向量的線性組合就能使方程式成立,即
( x1 , x2 , x3 ) = ( 0 , 0 , 0 )
當然 ( 1 , 1 , -1 ) 也可以,按照這個邏輯推論,是否代表存在更多種解法呢?
俗話說的好,女裝只有零次與無限次,這點套用在方程式上也行,方程式的解只有唯一一組與無窮多組,換句話說,出現一組以上個解的時候,就應該考量無窮多組解的可能性了 ( 這句話並不完整也不嚴謹,無解是解,部分解也是解,但是為了玩梗,先暫時忽略其正確性 )
其實從等量公理與等號單邊為零這兩點,一些敏銳的讀者已經想出該如何表示方程組解了
假定 X = [ 1 , 1 , -1 ]T,則根據等量公理可列得
A X = 0 → ( A X ) t = 0 t → A ( X t ) = 0 , t ∈ R
因此
Null ( A ):= { t × [ 1 , 1 , -1 ]T | t ∈ R }
從結構上來說,「 Null ( A ) 」會是一個「 R3 」框架下的「 一維子空間 」,至此「 零空間 」解說完畢
零空間是向量空間嗎?
在看完「 零空間 」的實際範例後,教授提出了一個問題
Check the solution of A x = 0 always give a subspace
簡單來說便是「 零空間 」真的是向量空間嗎?
這個問題算是好解決,簡單證明「 零空間 」的運算性質是否滿足「 向量空間 」即可,給定「 零空間 」兩相異元素 x , y ,其必然滿足
A x = A y = 0
根據矩陣乘法運算具有的純量積乘法結合律,對任意實數 t 而言
A x = 0 → A x t = 0 t → A ( x t ) = 0
故「 Null ( A ) 」具有純量積封閉性,即
x t ∈ Null ( A )
而根據矩陣乘法運算具有的乘法分配律,可列得
A x + A y = A ( x + y ) = 0
故「 Null ( A ) 」具有加法封閉性,即
x + y ∈ Null ( A )
結合以上兩者,對任意實數 t , k 而言
A x t + A y k = A ( x t ) + A ( y k ) = A ( x t + y k ) = 0
故「 Null ( A ) 」具有線性組合封閉性,即
( x t + y k ) ∈ Null ( A )
最後,對任意一個 A,其必然滿足
A × 0 = 0
故「 Null ( A ) 」中必定存在「 零向量 」,即
0 ∈ Null ( A )
在過程中有句話我很喜歡
We only live so long, we just skip the proof.
即
人生苦短,證明就免了吧
相信各位讀者也很認同這句話哈哈哈
然後呢?
最後還是回歸到了學習的本質,即
「 學這做甚? 」
學習「 列空間 」與「 零空間 」的時候,應該不難發現這兩個特殊子空間都與「 方程組解 」存在著千絲萬縷的關係
「 列空間 」能夠判斷該方程組是否有解,即
「 b 是否屬於 C ( A ) 」
「 零空間 」能夠判斷該方程組的特定解 ( A x = 0 ) 是否存在,即
「 哪些 x 屬於 Null ( A ) 」
若將方程式的右側向量 b 定為「 C ( A ) 」中的任一元素時
線性方程組的「 解集 」 P 可以形成一個「 向量空間 」
即
當線性方程組的右側向量 b ≠ 0,且存在不只一種解,則 P 是向量空間嗎?
希望學到此處的讀者有能力立馬說出「 不 」這個答案
從上一堂課學習到「 向量空間 」的概念後,我們便不斷地強調集合要成為「 向量空間 」需要滿足兩大條件「 線性組合封閉性 」與「 存在零向量 」
而「 存在零向量 」的可能性在前提中就被抹去了,所以解集 P 不可能是「 向量空間 」
又或者說,假定 P中存在兩相異解 x , y 可列得
A x = A y = b
但
A ( x + y ) = A x + A y = b + b = 2b
得出 x + y 不屬於 X,故「 線性組合封閉性 」也不存在
所以 P 不是一個「 向量空間 」,要其實沒有那麼容易,要滿足這兩個條件還是挺麻煩的
但是別太難過,雖然猜想沒有成立,但是 P 確實具有一些有趣的結構是值得思考的,雖然這不是此課程的內容,但筆者認為這是一個可以補充的小知識,即
P 與 Null ( A ) 擁有相同的維度結構
為何能夠得出這一個結論呢?
假定 P' 為「 非零解集 」,則對任何一個「 A x = b 」都可以寫作
A xP' = b → A xP' + A xNull = b + 0 → A ( xP' + xNull ) = b
故
xP = xP' + xNull
用例子說明會像這樣

此時
- P' = { t [ 1 , 0 , 0 ]T + ( 1 - t ) [ 0 , -1 , 1 ]T | t ∈ R }
- Null ( A ) = { r [ 1 , 1 , -1 ]T | r ∈ R }
故
P = { t [ 1 , 0 , 0 ]T + ( 1 - t ) [ 0 , -1 , 1 ]T + r [ 1 , 1 , -1 ]T | t , r ∈ R }
觀察「 解集 」的元素結構 ( xP = xP' + xNull ) 不難發現,這時的 P 可以被視為
平移過後的 「 零空間 」可能性集
而在數學上,P 會被視為一個「 仿射子空間 ( Affine Subspace ) 」,但這個名詞我們不會那麼快接觸到,而讀者看到這邊感到有些困惑是正常的,因為在「 P 與 Null ( A ) 擁有相同的維度結構 」後的所有描述都是下一個課程要說明的內容,即
「 特解 ( Particular Solution ) 」與「 齊次解 ( Homogeneous Solution ) 」
下次上課的核心內容確實就是這樣,每次的暴雷環節必不可少阿嘻嘻
結語
這一次的課程細部的探究了方程組必較常見的兩個「 子空間 」,而在數學上,「 列空間 」與「 零空間 」被歸類在「 四大基本子空間 」中,是用於分析分析矩陣結構相當重要的參考結構,不過完整的「 四大基本子空間 」大概會出現在四篇後才能出現
這邊簡單預告,學到「 四大基本子空間 」意味著「 正式進入抽象的世界 」,會全都混在一起嘿嘿嘿
請務必把自己的理解記錄下來,吃下與消化是兩件事,不管是生理上或是學習上,祝各位讀者學習順利
感謝讀者的閱讀,期待下一篇的再見,88