本系列文章內容參考自經典教材 Elementary Linear Algebra (Pearson New International Edition)。本文對應章節:Ch4-1 Subspaces。
子空間的定義 (Definition of Subspace)
在正式進入向量空間 (Vector Space) 的抽象概念之前,讓我們先從 Rn 中最核心的結構——子空間 (Subspace) 開始。子空間是向量空間中的「小宇宙」,它繼承了母空間所有的代數運算性質。
直觀理解
想像 R3 是整個三維空間。在這個空間中,有些特殊的「區域」本身也具備向量空間的性質,例如:
- 通過原點的一條直線
- 通過原點的一個平面
- 整個 R3 本身
- 只有原點 {0}
這些「區域」都是 R3 的子空間。
嚴格定義
設 V 是一個向量空間,W 是 V 的非空子集合。若 W 滿足以下三個條件,則稱 W 是 V 的子空間 (Subspace):
1. 包含零向量:0∈W2. 對向量加法封閉:∀u,v∈W,u+v∈W3. 對純量乘法封閉:∀v∈W,∀c∈R,cv∈W
換句話說,子空間必須對線性組合 (Linear Combination) 封閉——取任意元素做加法、乘以任意純量,結果都還在這個集合內。
這是初學者常見的疑問。答案就藏在第一個條件中:子空間必須包含零向量。
讓我們從「封閉性」的觀點來理解:若 W 是子空間,v∈W,則根據純量乘法封閉性:
0⋅v=0∈W因此,只要 W 非空且滿足封閉性,它必然包含零向量!
幾何圖解:經過原點的必要性
下圖展示了為何子空間必須通過原點。左側的平面通過原點是一個合法的子空間;右側的平面不通過原點,雖然「看起來」很像子空間,但它不滿足封閉性條件。

觀察右側:取平面上的任意向量 v,將它乘以 0 會得到 0,但 0 不在這個平移後的平面上!這就違反了純量乘法封閉的條件。
Span 與 Subspace 的關係
Span 的定義回顧
關於 Span 的完整定義與幾何意義,可參考 Ch1-5 向量的張成。這裡簡要回顧:
給定一組向量 {v1,v2,…,vk},它們的張成空間 (Span) 定義為所有線性組合的集合:
Span{v1,v2,…,vk}={c1v1+c2v2+⋯+ckvk∣ci∈R}
核心定理:Span 產生的一定是 Subspace
這是連結 Span 與 Subspace 最重要的橋樑:
Theorem 4.1:設 v1,v2,…,vk 是 Rn 中的向量,則 Span{v1,v2,…,vk} 是 Rn 的子空間。
證明思路:
- 包含零向量:令所有係數為 0,則 0v1+0v2+⋯+0vk=0
- 對加法封閉:兩個線性組合相加,仍是線性組合
- 對純量乘法封閉:線性組合乘以純量,仍是線性組合
可以這樣理解兩者的關係:
- Span 是一種「生成子空間的方式」——給我一些向量,我就能生成一個子空間
- Subspace 是滿足封閉性條件的集合——只要滿足那三個條件,就是子空間
重要的觀察是:
每個 Subspace 都可以寫成某個向量集合的 Span這個向量集合就是該子空間的基底 (Basis)。我們將在後續章節深入探討基底的概念。
幾何圖解:Span 生成 Subspace
下圖動態展示了 R2 中兩個向量如何「張成」整個平面。當 v1 與 v2 線性獨立時,它們的 Span 覆蓋了整個 R2。

與矩陣關聯的重要子空間
每個矩陣 A 都自然地關聯著幾個重要的子空間。這些子空間揭示了矩陣的核心性質,也是理解線性方程組和線性變換的關鍵。
Null Space (零空間)
Null Space(或稱 Kernel)是所有被矩陣 A 映射到零向量的輸入向量集合:
Null(A)={x∈Rn∣Ax=0}
幾何意義:Null Space 代表了被線性變換「消滅」的方向——那些經過變換後塌縮到原點的向量。
回顧:Null Space 與 One-to-One
在 Ch2-8 線性變換的組成與可逆性 中,我們已經學過:
- T 是 One-to-One ⇔ Null(A)={0}
- Null Space 非平凡(包含非零向量)意味著有資訊損失
Null Space 是一個 Subspace
Theorem 4.2:設 A 是一個 m×n 矩陣,則 Null(A) 是 Rn 的子空間。
證明:
- 包含零向量:A0=0,所以 0∈Null(A)
- 對加法封閉:若 Au=0 且 Av=0,則 A(u+v)=Au+Av=0+0=0
- 對純量乘法封閉:若 Av=0,則 A(cv)=cAv=c0=0
下圖展示了 Null Space 的幾何意義:Domain 中屬於 Null Space 的向量(橘色)被變換映射到 Codomain 的原點,而不在 Null Space 中的向量(藍色)則被映射到其他位置。

為什麼 Null Space 的維度與「輸入」維度相關?
對於 m×n 矩陣 A,注意到:
- Ax=0 是一個關於 x∈Rn 的方程
- 解集合 Null(A) 自然是 Rn 的子集
因此,Null(A) 是 Rn(輸入空間)的子空間,而非 Rm(輸出空間)的子空間。
這與 Theorem 4.2 的內容一致:Null Space 的維度 (Nullity) 與矩陣的 column 數量 n 相關,透過 Rank-Nullity 定理:
rank(A)+nullity(A)=n
計算 Null Space
求解 Null Space 就是求解齊次線性方程組 Ax=0:
範例:設 A=[12345678]
Step 1:將 [A∣0] 化為 RREF
[12345678]RREF[1001−12−23]
Step 2:識別 pivot 和 free variables
- Pivot columns:第 1、2 個 column
- Free variables:x3、x4
Step 3:用 free variables 表達通解
⎩⎨⎧x1=x3+2x4x2=−2x3−3x4x3=x3x4=x4
Step 4:寫成 Span 形式
Null(A)=Span⎩⎨⎧1−210,2−301⎭⎬⎫
Column Space (Column 空間)
Column Space 是矩陣 A 所有 column vectors 的 Span:
Col(A)=Span{a1,a2,…,an}
其中 a1,…,an 是 A 的 column vectors。
由於 Column Space 是某些向量的 Span,根據 Theorem 4.1,它自動是一個子空間。
Column Space = Range!
這是連結線性變換與矩陣最重要的觀察之一:
Col(A)=Range(TA)
其中 TA:Rn→Rm 定義為 TA(x)=Ax。
在 Ch2-8 中,我們已經推導過這個關係。核心觀察是:
Ax=x1a1+x2a2+⋯+xnan也就是說,Ax 永遠是 A 的 column vectors 的線性組合。所有可能的輸出集合,就是所有線性組合的集合——也就是 Column Space!
線性變換的值域 (Range) 就是其標準矩陣的 Column Space。
判斷向量是否屬於 Column Space
如何判斷一個向量 u 是否屬於 Col(A)?
u∈Col(A)⟺方程式 Ax=u 有解
這個判斷標準非常實用!只需檢查增廣矩陣 [A∣u] 是否 consistent。
範例:設 A=[1326],判斷 u=[515] 與 v=[12] 是否屬於 Col(A)。
Solution for u:
[A∣u]=[1326515]RREF[102050]
系統 consistent!因此 u∈Col(A)。
Solution for v:
[A∣v]=[132612]RREF[102001]
最後一個 row 是 [0 0∣1],代表 0=1,矛盾!系統 inconsistent,因此 v∈/Col(A)。
Row Space (Row 空間)
Row Space 是矩陣 A 所有 row vectors 的 Span。如果 A 的 rows 為 r1,r2,…,rm(視為 row vectors),則:
Row(A)=Span{r1,r2,…,rm}
等價地,Row(A)=Col(AT)。
Row Space 的重要性質
Row Space 有一個非常重要的不變性:
Theorem:Row Reduction 不改變 Row Space。
這意味著 A 與其 RREF R 有相同的 Row Space!因此,R 的非零 rows 就是 Row(A) 的一組基底。
矩陣的四大基本子空間 (The Four Fundamental Subspaces)
每個 m×n 矩陣 A 都關聯著四個基本子空間。這些空間的維度之間有著深刻的關係:
| 子空間 | 定義 | 所屬空間 | 維度 |
|---|
| Column Space Col(A) | A 的 column vectors 的 Span | Rm | rank(A) |
| Row Space Row(A) | A 的 row vectors 的 Span | Rn | rank(A) |
| Null Space Null(A) | Ax=0 的解集 | Rn | n−rank(A) |
| Left Null Space Null(AT) | ATy=0 的解集 | Rm | m−rank(A) |
維度關係總整理
設 A 是 m×n 矩陣,令 r=rank(A):
dim(Col(A))dim(Row(A))dim(Null(A))dim(Null(AT))=r=r=n−r=m−r
特別注意:
dim(Col(A))+dim(Null(A))=n
dim(Row(A))+dim(Null(AT))=m
這就是著名的 Rank-Nullity Theorem 的兩種形式!