線性代數 · 李哲榮 11110 期中一、期中二 · 2026-11-05
這份地圖照故事分成 9 章。每章一個模型,定理都從那個模型推出來。每一章只用前面的章推得出來的東西。
1. 向量空間 → 2. 坐標 → 3. 矩陣是線性變換 → 4. 落點之間的關係 → 5. RREF → 6. 合成 → 7. 方陣與可逆 → 8. det → 9. 子空間的和
第 1 章
模型
線性代數只用兩個動作:向量相加 u + v,和純量乘法 cv。一個集合 V 配上這兩個動作,做完的結果都還在 V 裡(封閉性 C1、C2),而且滿足八條公理 A1–A8,就叫 vector space。V 的向量不一定是箭頭或數字清單,只要能做這兩個動作就行。
把兩個動作接著做,得到線性組合 c₁v₁ + ⋯ + cₖvₖ。一個函數 L 如果保持這兩個動作,也就是 L(u + v) = L(u) + L(v)、L(cv) = cL(v),就叫線性的。這時 L 也保持線性組合:L(c₁v₁ + ⋯ + cₖvₖ) = c₁L(v₁) + ⋯ + cₖL(vₖ)。
依序看 v₁…vₖ:vⱼ 不能寫成前面向量的線性組合,就帶來新方向;能寫成的,就是多餘的。留下來的新方向就是 basis,它們的個數就是 dim。
出處:Leon §3.1(vector space 的定義)、§4.1(線性變換的定義);3B1B《Essence of Linear Algebra》第 16 集 Abstract vector spaces、第 2 集。
模型的來源:你在重構地圖時說的:「我想先強調,相加,和乘法,兩個動作。然後推出線性組合。」以及你在 0007 提的框架:「我們討論這個學科的一切,開始於:vector, scale a vector, sum vectors。」
左:兩個動作。u + v 是平行四邊形的對角線;2v 把 v 拉長 2 倍。右:依序看 v₁…v₄。v₁ 張出一條過原點的線(dim 1)。v₂ 不是 v₁ 的線性組合,帶來新方向,v₁、v₂ 的線性組合是過原點的平面(dim 2)。v₃ = c₁v₁ + c₂v₂ 是多餘的。v₄ 不是 v₁、v₂ 的線性組合,帶來新方向(dim 3)。basis = {v₁, v₂, v₄}。
1. 子空間是 V 的非空子集合 S,對線性組合封閉。這等價於 C1:x ∈ S ⇒ αx ∈ S,和 C2:x, y ∈ S ⇒ x + y ∈ S。子空間自己就是 vector space。子空間一定含 0;含 0 的集合不一定是子空間。
C1、C2 接著用,就得到所有線性組合;反過來,αx 和 x + y 都是線性組合。八條公理是:A1–A4 講加法(交換、結合、有 0、每個 x 有 −x),A5–A8 講純量乘法(α(x + y) = αx + αy、(α + β)x = αx + βx、(αβ)x = α(βx)、1x = x)。等式在 V 成立,在 S 也成立;要找得到的 0 和 −x 由 C1 給出:0 = 0x,−x = (−1)x。0x = 0 由 (α + β)x = αx + βx 推出:0x = (0 + 0)x = 0x + 0x,兩邊加上 −(0x)。
例:拋物線 y = x² 含 (0, 0) 和 (1, 1),不含 2·(1, 1) = (2, 2),所以不是子空間。
2. 封閉 ⇏ vector space。一個集合配上自己定義的加法和純量乘法,C1、C2 和 A1–A8 都要檢查。
把 max 當成 ℝ 上的加法,C2 成立:max(x, y) ∈ ℝ。但 A3 要一個 z 使 max(x, z) = x 對所有 x 成立,z 就要 ≤ 每一個實數,這樣的實數不存在。
3. v₁…vₖ 所有的線性組合組成的集合叫 span(v₁, …, vₖ),它是子空間。所以 ℝ³ 的子空間恰好是 {0}、過原點的直線、過原點的平面、ℝ³(Strang §3.1);ℝ² 的子空間恰好是 {0}、過原點的直線、ℝ²。
兩個線性組合相加,或乘一個純量,還是線性組合(Leon Theorem 3.2.1)。子空間對線性組合封閉,含 v₁…vₖ 就含它們所有的線性組合。
4. span(S₁) = span(S₂) ⇔ S₂ 的每個向量都是 S₁ 的線性組合,而且 S₁ 的每個向量都是 S₂ 的線性組合。
S₁ 的線性組合的線性組合,還是 S₁ 的線性組合(第 3 條)。所以「S₂ 的每個向量都是 S₁ 的線性組合」⇔ span(S₂) ⊆ span(S₁)。
5. U、W 是 V 的子空間。U ∪ W 是子空間 ⇔ U ⊆ W 或 W ⊆ U(Axler《Linear Algebra Done Right》§1C 的習題)。
⇐:聯集就是比較大的那個。⇒ 證逆否命題:取 u ∈ U 而 u ∉ W,w ∈ W 而 w ∉ U。若 u + w ∈ U,則 w = (u + w) − u ∈ U,矛盾。同理 u + w ∉ W。所以 u + w ∉ U ∪ W,C2 不成立。
6. v₁…vₖ 線性獨立 ⇔ 只有係數全為 0 的線性組合等於 0 ⇔ 依序看時,每個向量都帶來新方向。basis 要線性獨立,而且 V 的每個向量都是它們的線性組合;只要求後一條的一組向量叫 spanning set。V 的每組 basis 向量一樣多,所以 dim 有定義(證明要用第 4 章第 4 條的消去法)。
若 c₁v₁ + ⋯ + cₖvₖ = 0 的係數不全為 0,取最後一個不是 0 的係數 cⱼ,vⱼ 就能寫成 v₁…vⱼ₋₁ 的線性組合,是多餘的。反過來,多餘的 vⱼ 寫成 v₁…vⱼ₋₁ 的線性組合,移項就得到一個係數不全為 0、等於 0 的線性組合。
7. L 線性 ⇒ L(0) = 0,而且 L 把 v₁…vₖ 的線性組合送到 L(v₁)…L(vₖ) 的線性組合。所以把 0 送到別的地方的函數,不是線性的。
L(0) = L(0 · v) = 0 · L(v) = 0。保持線性組合就是模型第 2 段的最後一句。
例:f(x) = x + 1(ℝ → ℝ)把 0 送到 1,所以 f 不是線性的。
第 2 章
模型
vector space V 先存在。V 的向量不一定是數字清單,例如平面上的箭頭、多項式。在 V 裡選一組 basis u₁…uₙ,例如 î、ĵ、k̂。每個 v ∈ V 都恰好有一種寫法 v = x₁u₁ + ⋯ + xₙuₙ:如果有兩種寫法,兩式相減,就得到 basis 之間一條係數不全為 0 的關係,和線性獨立矛盾。所以 v 只要記下係數清單 (x₁, …, xₙ),這叫 v 的坐標(coordinates)。坐標是一個函數,定義域是 V,對應域是 ℝⁿ。它把 uⱼ 送到 eⱼ = (0, …, 1, …, 0),因為 uⱼ = 1 · uⱼ。換一組 basis,同一個 v 的坐標就換成另一組。
出處:Lay《Linear Algebra and Its Applications》§4.4 Coordinate Systems、Leon §3.5、3B1B 第 13 集 Change of basis
你推出來的(2026-10-24,重構地圖時):「(1,0,…,0) 才代表了 î,因為 1×î = î」
左框是 V:平面上的箭頭 î、ĵ,和 v = 2î + ĵ(先走 2 個 î、再走 1 個 ĵ)。左框不畫數字刻度,表示 V 的向量是箭頭,不是數字清單。中間是一個箭頭,標「坐標」。右框是 ℝ²:標準方格,e₁、e₂,和點 (2, 1)。標「î ↦ (1, 0)」「ĵ ↦ (0, 1)」「v ↦ (2, 1)」。v 的坐標 (2, 1) 就是第 3 章圖裡的 x = 2e₁ + e₂。
1. 坐標函數是線性的、one-to-one、onto(Lay §4.4 Theorem 8)。所以 v₁…vₖ 之間的關係 = 它們的坐標之間的關係。V 裡的線性獨立、span、dim,都可以換成坐標在 ℝⁿ 裡判斷。
2. V = ℝⁿ、basis 選 e₁…eₙ 時,坐標就是向量本身。換一組 basis,坐標就不同。
(x₁, …, xₙ) = x₁e₁ + ⋯ + xₙeₙ。所以 e₁…eₙ 是 ℝⁿ 的一組 basis,dim ℝⁿ = n。
例:ℝ² 的 basis (1, 1)、(−1, 1) 之下,(2, 0) = 1·(1, 1) + (−1)·(−1, 1),坐標是 (1, −1)。
3. V 的向量不一定是數字清單,坐標還是數字清單。
P₃ = 次數小於 3 的多項式 {a + bt + ct²}(Leon 的記號)。basis 選 1、t、t²。a + bt + ct² 的坐標是 (a, b, c);向量 t² 的坐標是 (0, 0, 1)。dim P₃ = 3。
4. 坐標有幾個數,由 V 的 dim 決定,不由 V 的向量有幾個分量決定。
V = span((1, 0, 0), (0, 1, 0)) 是 ℝ³ 的子空間,dim V = 2。V 的向量有 3 個分量。用 basis (1, 0, 0)、(0, 1, 0),坐標只有 2 個數。V 不是 ℝ²;坐標函數是從 V 到 ℝ² 的 one-to-one、onto 函數。
第 3 章
模型
線性變換 L:V → W 是一個線性的函數(第 1 章模型的定義)。只有 L,還寫不出矩陣。要寫成矩陣,先在兩邊各選一組排好順序的 basis(ordered basis:第 j 行要對應 uⱼ,所以順序要固定):V 的 u₁…uₙ,W 的 w₁…wₘ。把 L(uⱼ) 在 w₁…wₘ 之下的坐標排成第 j 行,就得到 m×n 矩陣 A。A 叫 L 在這兩組 basis 之下的矩陣。
所以有兩層。上層是 L,把 V 的向量送到 W 的向量。下層是 A,把坐標送到坐標:定義域 ℝⁿ 放 V 的坐標,對應域 ℝᵐ 放 W 的坐標。坐標函數(第 2 章)把兩層連起來:L(v) 的坐標 = A ·(v 的坐標)。
代表 eⱼ 是 uⱼ 的坐標。A 把 eⱼ 送到落點 aⱼ,也就是 A 的第 j 行。A 是線性的,所以 x = x₁e₁ + ⋯ + xₙeₙ 被送到 Ax = x₁a₁ + ⋯ + xₙaₙ:坐標不變,代表換成落點。
「A 把 eⱼ 送到 aⱼ」只講坐標。換回向量,它表示 L(uⱼ) = a₁ⱼw₁ + ⋯ + aₘⱼwₘ。所以只看 A,說不出 L 把向量送到哪裡。A 加上兩組 basis,才說得出來。例:a₁ = (1, 0, …, 0) 只表示 L(u₁) = w₁。只有 V = W、而且兩邊用同一組 basis 時,它才表示 u₁ 沒動。
預設:沒寫 basis 時,A 本身就是線性變換 ℝⁿ → ℝᵐ。這時 V = ℝⁿ、W = ℝᵐ,兩邊都用標準 basis(standard basis)e₁、e₂、…。坐標就是向量本身(第 2 章第 2 條),所以上下兩層相同,L = A。第 4–9 章都用這個預設。3B1B(3Blue1Brown)把定義域和對應域畫在同一張方格上,用的也是這個預設。
矩陣就是用係數記下落點。定義域有 n 個代表,所以矩陣有 n 行。每個落點用對應域的 m 個 basis 向量記係數,所以矩陣有 m 列。也就是說,m×n 裡的 n 是定義域的 dim,m 是對應域的 dim。
兩種看法。同一個 A 可以用兩種方式看。
一條等式把兩種看法連起來:A(span(v₁, …, vₖ)) = span(Av₁, …, Avₖ)。取 vⱼ = eⱼ,就得到 A(ℝⁿ) = span(a₁, …, aₙ) = C(A)。比較關係、N(A)、pivot 行時,用看法 1(第 4、5 章)。比較 span、rank 時,用看法 2(第 6 章第 5 條、第 9 章)。
出處:3B1B 第 3 集 Linear transformations and matrices(整個網格一起變換);第 7 集 Inverse matrices, column space and null space(column space 是所有可能的輸出);Lay §4.4;Lay §1.9(standard matrix);Lay §5.4 The Matrix of a Linear Transformation;Leon §4.2;3B1B 第 13 集 Change of basis
模型的來源:你在 0005 寫的:「A 如何代表一個 transformation?只對 i hat、j hat、… 套用這個 transformation,就足以代表整個 space 的 transformation。a₁ 代表 i hat 被送到哪裡,a₂ 代表 j hat 被送到哪裡。」你在 0008 說的:「之前看到 A 就看成 e1, ..., en --> a1, ..., an。現在則是整個 transform 之後的 space。」
你推出來的(2026-11-05):「就算 (1, 0, 0) 被送到 (1, 0, 0),只要 basis 不一樣,就還是可以是有變動的綫性變換。這是因爲,我們預設了 A 的兩邊,采用了一樣的 basis」
上層是向量。左框 V 畫 u₁、u₂;右框 W 畫 w₁、w₂,L 把 u₁ 送到 2w₁ + w₂,把 u₂ 送到 −w₁ + w₂。上層不畫數字刻度,表示 V、W 的向量是箭頭,不是數字清單。兩條直的箭頭是坐標函數:左邊用 u₁、u₂,右邊用 w₁、w₂。下層是坐標。左框是定義域:互相垂直的代表 e₁、e₂ 和方格,x = 2e₁ + e₂。中間是 A,把 eⱼ 送到 aⱼ。右框是對應域:方格變成斜的格子,a₁ = (2, 1)、a₂ = (−1, 1),Ax = 2a₁ + a₂。綠線是看法 2:定義域的子空間 U = span((1, 1)) 被送到 A(U) = span((1, 2))。黑底標籤可以點,會跳到那一章。預設的情況(V = ℝⁿ、W = ℝᵐ,兩邊都用標準 basis)下,坐標函數不改變向量,上下兩層相同。
1. L(v) 的坐標 = A ·(v 的坐標)。所以算 L,就是用 A 乘坐標。
v = x₁u₁ + ⋯ + xₙuₙ。L 線性,所以 L(v) = x₁L(u₁) + ⋯ + xₙL(uₙ)。坐標函數也線性(第 2 章第 1 條),所以 L(v) 的坐標 = x₁a₁ + ⋯ + xₙaₙ = Ax。
2. Ax = b 是 m 個方程式、n 個未知數。第 i 個方程式是 aᵢ₁x₁ + ⋯ + aᵢₙxₙ = bᵢ,只用到 A 的第 i 列。
aᵢⱼ 是 A 的 (i, j) 元素,也就是落點 aⱼ 的第 i 個分量。取 Ax = x₁a₁ + ⋯ + xₙaₙ 的第 i 個分量,就是第 i 個方程式。所以列數 m = 方程式的個數,行數 n = 未知數的個數。
3. A(U) 是子空間,而且 A(span(v₁, …, vₖ)) = span(Av₁, …, Avₖ)。所以值域(range)= A(ℝⁿ) = C(A) = span(a₁, …, aₙ),是 ℝᵐ 的子空間。Ax = b 有解 ⇔ b ∈ C(A) ⇔ b 是 A 的行的線性組合。
A(c₁v₁ + ⋯ + cₖvₖ) = c₁Av₁ + ⋯ + cₖAvₖ(第 1 章第 7 條)。所以左邊的每個元素都在右邊,右邊的每個元素也都在左邊。x、y ∈ U ⇒ αAx + βAy = A(αx + βy),而 αx + βy ∈ U,所以 A(U) 對線性組合封閉。span 是子空間(第 1 章第 3 條)。
4. 對應域和值域不一樣。對應域 ℝᵐ 是寫 A:ℝⁿ → ℝᵐ 時就規定好的;值域是實際的輸出 C(A),可以是斜線或斜面。A onto ⇔ C(A) = ℝᵐ。
f(x) = x²,f:ℝ → ℝ。對應域是 ℝ,值域是 [0, ∞),f 不是 onto。
5. 寫出一個線性變換的矩陣:把代表的落點排成行。不是線性的操作,沒有矩陣。
V = ℝⁿ、W = ℝᵐ 都用 e₁、e₂、… 當 basis 時(模型的預設),坐標就是向量本身(第 2 章第 2 條),所以 A 的第 j 行就是 L(eⱼ)。
例:「每個分量都加 1」把 0 送到 (1, 1, 1),但每個矩陣都有 A0 = 0。
你推出來的(Q4):「把 î、ĵ 當成被操作的代表,只對它們做操作,就代表所有向量都會經過的操作。」
6. 同一個 L 換一組 basis,A 就不同。同一個 A 換一組 basis,它代表的 L 就不同。
V = W = ℝ²。定義域用 e₁、e₂,對應域用 w₁ = (1, 1)、w₂ = (−1, 1)。
第 4 章
模型
這一章用第 3 章的看法 1(追蹤代表)。依序看落點 a₁, a₂, …, aₙ。如果 aⱼ 不在前面的落點張出的空間裡,它帶來一個新方向,第 j 行是 pivot 行。如果 aⱼ 落在前面張出的空間裡,aⱼ = Σ cₖaₖ 是一條關係,第 j 行是 free 行;這條關係表示代表的組合 eⱼ − Σ cₖeₖ 被送到 0。所以:每一行都有 pivot ⇔ 落點之間組不出彼此 ⇔ 沒有代表的組合落到 0。
出處:第 1 章的「依序看、新方向」用在落點 a₁…aₙ
模型的來源:你在 0006 的說法:「像 3b1b 那樣,好幾個 ei 就是 unit vector 互相垂直,然後變換之後落到不同位置,就是 Aei,就是 ai。如果 A 的每一行都有 pivot,代表經過變換之後,還是保持 Aei 之間無法互相組合出來,也就是沒有 domain 裏就是 [e1, ..., en] 的組合變換之後會落到 {0}。」
左框是定義域 ℝ³:互相垂直的代表 e₁、e₂、e₃,和紅色的 z。右上:A 的落點 a₁、a₂、a₃ 張出一個立體,每個落點都是新方向,N(A) = {0}。右下:A′ 的 a₃ 落在 a₁、a₂ 張出的平面上,a₃ = c₁a₁ + c₂a₂,所以 z = e₃ − c₁e₁ − c₂e₂ 被送到 0;b 在平面上,有解;b′ 在平面外,無解。下面的表:每一排問存在(b 是不是新方向),每一欄問唯一(有沒有 free 行)。
| 每一行都有 pivot沒有 free 行:N(A) = {0} | 有 free 行有關係:N(A) ≠ {0} | |
|---|---|---|
| b 不是新方向b ∈ C(A):x₀ 存在 | 恰好一個解:x₀ | 無限多解:x₀ + N(A) |
| b 是新方向接上 b 會多一個 pivot:b ∉ C(A) | 無解 | 無解 |
前三條從關係推出 N(A)、rank、nullity、解集。第 4 條數個數。
1. N(A) = 落點之間所有的關係。N(A) = {0} ⇔ 落點線性獨立 ⇔ 每一行都有 pivot ⇔ A one-to-one。
N(A) = {x : Ax = 0},在定義域 ℝⁿ 裡,是子空間:A(αx) = αAx,A(x + y) = Ax + Ay。Ax = x₁a₁ + ⋯ + xₙaₙ,所以 x ∈ N(A) ⇔ x₁a₁ + ⋯ + xₙaₙ = 0 是一條關係。每一行都有 pivot ⇔ 每個落點都是新方向 ⇔ 落點線性獨立(第 1 章第 6 條)。Ax₁ = Ax₂ ⇔ x₁ − x₂ ∈ N(A),所以 one-to-one ⇔ N(A) = {0}。
你推出來的(0006):「我怎麽知道哪些 domain 裏面的 vector 會被送到 {0}?其實就是在問,哪些 domain 裏 vector 他們所含的 unit vector 的綫性組合,會在 codomain 裏面變成 0。」(unit vector 在這裡指標準單位向量,也就是代表 eⱼ。)
2. rank A = pivot 行的個數 = dim C(A)。nullity = dim N(A) = free 行的個數。所以 rank A + nullity = n。
pivot 行的落點都是新方向,free 行的落點是多餘的,所以 pivot 行的落點是 C(A) 的 basis(第 1 章模型)。每個 free 行給 N(A) 一個向量:這個 free variable 放 1,其他 free variable 放 0,pivot 行對應的未知數由那條關係決定。這些向量 span 出 N(A):任何 z ∈ N(A),減掉「z 在每個 free 行位置的分量 × 對應的向量」,free 行位置全變成 0;剩下的只用 pivot 行的落點組合出 0,所以係數全是 0。這些向量也線性獨立:每個向量在自己的 free 行位置是 1,其他向量在那裡是 0。
3. Ax = b 有解 ⇔ b ∈ C(A) ⇔ b 不是新方向。有解時,解集 = x₀ + N(A),x₀ 是任何一個解(特解,particular solution)。所以恰好一個解 ⇔ 有解,而且 N(A) = {0};無限多解 ⇔ 有解,而且 N(A) ≠ {0}。
把 b 接在 A 後面當最後一行,得到增廣矩陣 [A|b]。b 不是新方向 ⇔ b 是 a₁…aₙ 的組合 ⇔ b ∈ C(A)。若 Ax = b,則 A(x − x₀) = 0,x − x₀ ∈ N(A)。反過來,z ∈ N(A) ⇒ A(x₀ + z) = b + 0 = b。存在看 b,唯一看 N(A),兩個問題互相獨立(圖下的表)。
你推出來的(0006):「因爲在 domain 當中,我知道 z 會被送到 0。所以對於任意 x 被送到 b,transform 后再加上 0 = b,跟 transform 前先加上 z 是一樣的,由於 A 是 linear transformation。」
4. 每個 pivot 佔一列、一行,所以 rank A ≤ m,rank A ≤ n。n > m ⇒ N(A) ≠ {0};m > n ⇒ C(A) ≠ ℝᵐ。同一件事在任何 V 都成立:V 由 n 個向量 span 出 ⇒ V 裡任何 k > n 個向量都線性相依(Leon Theorem 3.4.1)。
第 5 章
模型
| 問題 | 從 R 怎麼讀 | 為什麼可以用 R |
|---|---|---|
| pivot 行、rank | 數 R 有 pivot 的行 | 同一類都一樣 |
| 關係 | free 行 j 的第 k 個數 = cₖ,所以 aⱼ = c₁ap₁ + ⋯ + cr apr | 同一類都一樣 |
| N(A) 的 basis | 每個 free 行給一個 special solution(第 5 條) | 同一類都一樣 |
| 列空間的 basis | R 的非零列(第 2 條) | 同一類都一樣 |
| C(A) 的 basis | 從 R 讀出 pivot 行的位置,取 A 在這些位置的行(第 7 條) | C(A) 不一定一樣,向量要從 A 取 |
| Ax = b | [A|b] 化成 RREF,b 那一行的數就是它用 pivot 行組合時的係數(第 6 條) | 同一類都一樣 |
記號:R 有 r 個 pivot 行,第 k 個在第 pₖ 行,r = rank A。第 j 行是 free 行。
出處:Lay §1.2 Theorem 1(每個矩陣恰好列等價於一個 RREF)、Lay §4.3(列運算不改變行之間的關係)、Lay §4.6 Theorem 13(列等價的矩陣,列空間相同)、Strang §3.2(pivot columns、free columns、special solutions;A 和 R 有相同的 N)。
模型的來源:你在 0008 的說法:「先告訴我們可以透過 RREF 來得知原本的問題。然後展示出怎麽把 RREF 理解成最簡單的 "A"。也就是我們改對同一個 class 裏面的一個 transform,求同樣的問題,例如 N(A)。接著,再展示出,RREF 如何讓我們簡單的讀出來這些。」(class 在這裡指等價類。)
A = [1 0 2; 1 1 3] 和它的 RREF R = [1 0 2; 0 1 1] 在同一類。右下:R 的 free 行 (2, 1) = 2·(1, 0) + 1·(0, 1),係數 2、1 直接讀得出來。右框:同一類的矩陣關係相同,所以同樣的係數在 A 的落點上也成立,a₃ − 2a₁ − a₂ 頭尾相接回到原點,這是落點組出 0。左框:同樣的係數用在代表上,得到 s = e₃ − 2e₁ − e₂。A 是線性的,同色的一段被送到同色的一段,所以 A 把 s 送到 0,s ∈ N(A)。驗算:As = (−2 + 0 + 2, −2 − 1 + 3) = (0, 0)。
1. 同一類的矩陣,落點之間的關係相同:N(A)、pivot 行、rank 都相同。[A|b] 一起做時,Ax = b 的解不變。C(A) 可能不同。
三種基本列運算(type I 交換兩列、type II 某列乘 c ≠ 0、type III 某列加上另一列的倍數)都對每一行做同一件事 T。T 是對應域 ℝᵐ 上的線性變換,而且做相反的列運算可以復原。T 線性,所以 Σcⱼaⱼ = 0 ⇒ ΣcⱼT(aⱼ) = T(0) = 0;T 可以復原,所以反過來也成立。x 是 Ax = b 的解 ⇔ x₁a₁ + ⋯ + xₙaₙ − b = 0 是 [A|b] 各行的一條關係,所以解也不變。
例:A = [1 2; 1 2] 的 RREF 是 R = [1 2; 0 0]。C(A) = span((1, 1)),C(R) = span((1, 0))。
2. 同一類的矩陣,列空間相同。R 的非零列是列空間的 basis,所以列空間的 dim = rank A。A 在同樣位置的那幾列不一定是 basis。
type I 交換兩列、type II 某列乘 c ≠ 0、type III 某列加上另一列的倍數。做完以後,每一列都是原來各列的線性組合。做相反的列運算可以復原,所以原來的每一列也是新各列的線性組合。由第 1 章第 4 條,兩個列空間相同。
R 的非零列線性獨立:每個非零列在自己的 pivot 行是 1,其他非零列在那一行是 0。非零列的個數 = pivot 的個數 = rank A。
列運算會改變列之間的關係,所以不能回到 A 取同樣位置的列。例:A = [1 2; 2 4; 0 1]。第 2 列減 2 倍第 1 列,再交換第 2、3 列,得到 [1 2; 0 1; 0 0],非零列在第 1、2 列。但 A 的第 1、2 列 (1, 2)、(2, 4) 線性相依。Lay §4.6 也提醒這件事。
3. pivot 行和 free 行對 A 本身就有定義:RREF 裡有 pivot 的位置,在 A 裡對應的行是 pivot 行(pivot column),其他的行是 free 行(free column)。依序看落點時,pivot 行就是帶來新方向的行。
4. 列等價把同樣大小(m×n)的矩陣分成互不相交的等價類。每一類恰好有一個 RREF,它是這一類的標準形式。同一類 ⇔ RREF 相同 ⇔ 落點之間的關係相同 ⇔ N 相同。同一類裡 C(A) 可以不同。
列等價:B 由 A 經過一串基本列運算得到。RREF 有三個條件:① 是 REF:零列在最下面,每個非零列的第一個非零元素(pivot)在上一列 pivot 的右邊;② 每個 pivot 是 1;③ pivot 所在的行,其他元素都是 0。② 和 ③ 讓第 k 個 pivot 行等於「第 k 個分量是 1、其他分量是 0」的標準單位向量。所以 RREF 的 pivot 位置就是帶來新方向的行;free 行的第 k 個數,就是這個落點用第 k 個 pivot 行組合時的係數。RREF 的每一個數都由關係決定,而列運算不改變關係(第 1 條),所以同一類只有一個 RREF。
你推出來的(0006):「RREF A == RREF B 的同時,C(A) 可以 != C(B)」,以及「在同一個 group iff column 之間綫性組合關係相同」(group 在這裡指等價類)。
5. R 直接寫出 N(A) 的 basis。每個 free 行 j 給一個 special solution s = eⱼ − c₁ep₁ − ⋯ − cr epr,cₖ 是 R 的第 j 行的第 k 個數。s 的第 j 個分量是 1,其他 free 行位置的分量是 0,第 pₖ 個分量是 −cₖ。
例:A = [1 0 2; 1 1 3] 的第 3 行是 free 行,c₁ = 2、c₂ = 1,s = (−2, −1, 1)(本章的圖)。
出處:Strang §3.2。
你推出來的(2026-10-25):「Σcᵢ(Aeᵢ) − Ae_free = 0 ⇔ A(Σcᵢeᵢ − e_free) = Az = 0」,你說:「上兩行是最重要我最想記住的地方。」(你的 z 是 −s:兩邊乘 −1 就是上面第 2、3 步。)
6. 特解:[A|b] 化成 RREF 以後,b 那一行的第 k 個數,就是 b 用第 k 個 pivot 行組合的係數。把係數放進 pivot 行對應的未知數,free variable 放 0,就得到特解 x₀。
b 不是新方向時,b 和 free 行一樣,是 pivot 行的線性組合,係數照模型讀出來。x₀ = Σ(係數) epₖ 被 A 送到 b。
7. C(A) 的 basis 用 A 在 pivot 位置的行,不用 R 的 pivot 行,因為列運算可能改變 C(A)。判斷有沒有解,消到 REF 就夠:有一列是 [0 ⋯ 0 | 非零] ⇔ b 那一行是 pivot 行 ⇔ b 是新方向 ⇔ 無解。
第 i 列全是 0,不管 x 是什麼,第 i 個分量都是 0。右邊的數是消去以後的 b,不是原本的 b。
第 6 章
模型
AB 是「先做 B,再做 A」。追蹤一個代表:B 把 eⱼ 送到 bⱼ(B 的第 j 行),A 再把 bⱼ 送到 Abⱼ。所以 AB 的第 j 行 = Abⱼ。
出處:3B1B 第 4 集 Matrix multiplication as composition
你推出來的(0005):i hat 被送到 a₁ 之後,又會被送到 B·a₁。所以 BA 的第一行就是 i hat 最終會被送到哪裡,也就是 B·a₁。(你寫的是 BA,先 A 後 B,和這裡的 AB 只差字母。)
三個空間:ℝᵖ 經過 B 到 ℝⁿ,再經過 A 到 ℝᵐ。追蹤代表 e₁:先到 b₁ = Be₁,再到 Ab₁。下方虛線是 AB,一步把 e₁ 送到 Ab₁。
1. AB 從右往左讀:B 先做。A 的行數 = B 的列數,才能乘:m×n 乘 n×p 得 m×p,從 ℝᵖ 送到 ℝᵐ。結合律 (AB)C = A(BC) 成立。
bⱼ 在 ℝⁿ,A 要能接 ℝⁿ 的向量。(AB)C 和 A(BC) 對每個 eⱼ 都是先做 C、再做 B、再做 A。
2. 交換律不成立;cI 和任何矩陣都可交換。相加、相減逐個元素做,分配律成立:M(N + P) = MN + MP,(N + P)M = NM + PM。乘開時(包括分塊矩陣)每一項保持左右順序。
順序不同,ABeⱼ 和 BAeⱼ 就可能不同。(cI)A = cA = A(cI)。(M − N)x = Mx − Nx;代 x = eⱼ,M − N 的第 j 行 = 兩個第 j 行相減。分塊矩陣:左邊的行和右邊的列用同一個切法時,把每一塊當成一個元素相乘。
例:A = [1 1; 0 1](剪切),B = [0 −1; 1 0](轉 90°)。ABe₁ = A(0, 1) = (1, 1),BAe₁ = B(1, 0) = (0, 1)。(I − A)(I + A) = I − A²;但 (A − B)(A + B) = A² + AB − BA − B²,AB ≠ BA 時不等於 A² − B²。
3. N(B) ⊆ N(AB)。AB = 0 ⇔ 每個 bⱼ ∈ N(A)。「AB = AC ⇒ B = C」對所有 B、C 成立 ⇔ N(A) = {0}(消去律,cancellation law)。
Bz = 0 ⇒ (AB)z = A0 = 0。AB 的第 j 行 = Abⱼ。AB = AC ⇔ A(B − C) = 0 ⇔ B − C 的每一行都在 N(A) 裡。
例:A ≠ 0、B ≠ 0 也可以 AB = 0:A = [1 0; 1 0] 把 e₂ 送到 0,B = [0 0; 1 1] 的兩行都是 e₂。
4. 基本矩陣 E = 對 I 做同一個列運算。EA = 對 A 做這個列運算。一串列運算先做 E₁、最後做 Eₖ,寫成 Eₖ⋯E₁A。E⁻¹ 是做相反的列運算。
列運算對每一行做同一件線性的事(第 5 章第 1 條),所以由它對代表做什麼決定(第 3 章第 5 條,你在 Q4 推出來的方法)。I 的行就是 E 的代表(ℝᵐ 的 e₁…eₘ)。EA 的第 j 行 = Eaⱼ(本章模型),所以 E 是 m×m,只作用在 A 的對應域 ℝᵐ。相反的列運算是再交換一次、乘 1/c、減回同一個倍數,所以 E⁻¹E = EE⁻¹ = I(M⁻¹ 指滿足 M⁻¹M = MM⁻¹ = I 的矩陣)。type II 規定 c ≠ 0:c = 0 時 E 把一個代表 z 送到 0,若 E⁻¹ 存在,z = E⁻¹Ez = 0,矛盾,所以 E 不可逆。
5. C(AB) = A(C(B)),對任何 B 都成立。所以 C(AB) ⊆ C(A),rank(AB) ≤ rank A。F 可逆 ⇒ C(F) = ℝⁿ ⇒ C(AF) = C(A)。E 可逆 ⇒ N(EA) = N(A)。所以列運算(左乘 E)保持關係,行運算(右乘 F)保持 span,兩者都不改變 rank。
B 是 n×p 時,AB 的第 j 行 = Abⱼ(模型),所以 C(AB) = span(Ab₁, …, Abₚ) = A(span(b₁, …, bₚ)) = A(C(B))(第 3 章第 3 條)。C(B) ⊆ ℝⁿ,所以 A(C(B)) ⊆ A(ℝⁿ) = C(A)。F 可逆 ⇒ F 有 n 個 pivot ⇒ C(F) = ℝⁿ(第 7 章第 2 條)。EAx = 0 ⇔ Ax = 0(左乘 E⁻¹)。[A|b] 一起做時,EAx = Eb ⇔ Ax = b。只對 A 做時,EAx = b ⇔ Ax = E⁻¹b,解會變。行運算會改變關係,所以可能改變 N(A)。
你推出來的(0007):「row operation 會保持 ai 之間的綫性組合關係,column operation 會保持 ai span 出來的所有可能結果。」
你推出來的(0008,期中二 1m):「span B = span I,A(span B) = A(span I),span AB = span AI(since A is linear, so apply earlier is equal),span AB = span A」
6. LU 分解:只用往下加的 type III 能把 A 消成上三角 U 時,A = LU。L 是下三角(對角線以上全為 0),對角線全是 1,(j, i) 元素就是消去用的倍數 ℓⱼᵢ(Rⱼ ← Rⱼ − ℓⱼᵢRᵢ)。
第 7 章
模型
方陣有 n 個落點,都在 ℝⁿ 裡。依序看 a₁…aₙ,帶來新方向的是 pivot 行(第 4 章)。每個 pivot 佔自己的一列和一行,而列和行都是 n 個。所以「每一行都有 pivot」⇔「有 n 個 pivot」⇔「每一列都有 pivot」。左邊是每個落點都是新方向,右邊是落點張滿 ℝⁿ。
出處:Leon §1.5、Strang §2.5 的可逆矩陣定理
三個標出 pivot 位置的矩陣:4×4 有 4 個 pivot,每一行和每一列都有;4×4 有 3 個 pivot,第 3 行是 free 行,第 4 列沒有 pivot;3×2 有 2 個 pivot,每一行都有,但第 3 列沒有。下面三欄條件:整個變換 (a)、(h);定義域 (c)、(d);對應域 (e)、(f)、(g)。
A 是 n×n。下面的 (a)、(c)–(h) 全部等價。
1. (c) N(A) = {0} ⇔ (e) 落點線性獨立 ⇔ 每一行都有 pivot ⇔ (g) rank A = n ⇔ (d) n 個 pivot(RREF = I)。
前三個對任何 m×n 都等價(第 4 章第 1 條)。rank 就是 pivot 的個數(第 4 章第 2 條)。
2. 方陣時,(d) n 個 pivot ⇔ (f) C(A) = ℝⁿ,也就是 A onto。非方陣時不成立。
方陣時,n 個 pivot ⇔ 每一列都有 pivot(模型)。每一列都有 pivot 時,接上任何 b 都不會多出 pivot,b 不是新方向,所以 b ∈ C(A)。反過來,C(A) = ℝⁿ ⇒ rank A = dim C(A) = n(第 4 章第 2 條)。
例:B = [1 0; 0 1; 0 0](3×2)每一行都有 pivot,但第 3 列沒有,(0, 0, 1) ∉ C(B)。
3. (h) 每一個 b,Ax = b 都恰好有一個解 ⇔ (c)。
恰好一個 = 至少一個(b ∈ C(A),也就是 (f))+ 至多一個(N(A) = {0},也就是 (c))。方陣時 (f) ⇔ (c),所以 (h) ⇔ (c)。這是第 4 章第 3 條的方陣版。
4. (a) A⁻¹ 存在 ⇔ (h)。A⁻¹ 把落點 aⱼ 送回代表 eⱼ。
A⁻¹ 存在時,x = A⁻¹b 是解;Ax₁ = Ax₂ 兩邊左乘 A⁻¹ 得 x₁ = x₂。反過來,令 xⱼ 是 Ax = (I 的第 j 行) 的解,X = [x₁ … xₙ],則 AX = I。A(XA − I) = (AX)A − A = 0,所以 XA − I 的每一行都在 N(A) = {0} 裡,XA = I。
5. 方陣只要驗一邊:AX = I ⇒ XA = I,X = A⁻¹。要證 X 是 A 的反矩陣,只要算 AX,看是不是 I。
AX = I ⇒ 每個 b = A(Xb) ⇒ (f) ⇒ (c) ⇒ 照第 4 條的做法,XA = I。
6. AB 可逆 ⇔ A、B 都可逆。這時 (AB)⁻¹ = B⁻¹A⁻¹。所以第 6 章第 3 條的消去律,在 A 是方陣時 ⇔ A nonsingular。
B singular ⇒ N(B) ≠ {0} ⇒ N(AB) ≠ {0}(第 6 章第 3 條)。A singular ⇒ C(A) ≠ ℝⁿ;AB 的每一行 Abⱼ 都在 C(A) 裡,所以 C(AB) ≠ ℝⁿ。A、B 都可逆時,反矩陣要先抵消最後做的 A:(B⁻¹A⁻¹)(AB) = I。只知道 B 可逆不夠:A = 0、B = I 時 AB = 0。例:A = [1 0; 1 0] ≠ 0,但 A singular(N(A) ≠ {0})。
第 8 章
這一章有兩張圖。圖 8a 說 det 是什麼,圖 8b 說 det 怎麼算。
模型
方陣 A 的代表 e₁…eₙ 張出單位方塊,體積 1。經過 A,方塊變成落點 a₁…aₙ 張出的平行多面體。det A 是這個形狀的有號體積:大小是體積放大的倍率,正負號表示方向有沒有翻轉。
出處:3B1B 第 6 集 The determinant、Strang §5.1
四個小圖。第 1 個是代表 e₁、e₂ 張出的單位方塊;第 2 個是 a₁ = (2, 1)、a₂ = (−1, 1) 張出的平行四邊形,det = 3;第 3 個交換兩個落點,方向翻轉,det = −3;第 4 個兩個落點在同一條線上,壓扁,det = 0。
模型
沿第 i 列展開:det A = aᵢ₁Cᵢ₁ + aᵢ₂Cᵢ₂ + ⋯ + aᵢₙCᵢₙ,其中 Cᵢⱼ = (−1)^(i+j) det Mᵢⱼ,Mᵢⱼ 是刪掉第 i 列和第 j 行剩下的矩陣。一個 n×n 的 det,變成 n 個 (n−1)×(n−1) 的 det。
出處:Strang §5.2;cofactor 展開
你推出來的:你在 0002 自己推出 big formula,並把 cofactor 看成分治。0006 你說:「cofactor 展開,最重要的 idea 是那個分治的轉移式。big formula 透過 trace 一下過程就可以推出來。爲什麽要定義一個 adj A,還有爲什麽 A adj A = det A * I 也就看得出來。」(推出第 4、5、7 條。)
det A 沿第 1 列展開成 a₁₁、a₁₂、a₁₃ 乘上三個 2×2 的 det,正負號是 +、−、+;每個 2×2 再展開成兩片葉子,共 6 片葉子,就是 big formula 的 6 項。邊上的 (+)、(−) 是那一層的棋盤格正負號,看的是當下那個矩陣裡的位置。
圖 8a 推出第 1–3 條,圖 8b 推出第 4–7 條。
1. det 的三條定義性質:det I = 1;交換兩個落點,det 變號;det 對每一個落點分別線性。所以 det(cA) = cⁿ det A,det(−A) = (−1)ⁿ det A;det(A + B) 沒有公式。
單位方塊的體積是 1。交換兩個落點,方向翻轉。一個落點放大 c 倍,體積放大 c 倍;一個落點加上另一個落點的倍數是剪切(shear),底和高不變,體積不變。每個落點都放大 c 倍,體積放大 cⁿ 倍。Strang §5.1 把這三條寫成列的版本,當成 det 的定義;第 5 條(det Aᵀ = det A)說明列、行兩個版本一樣。
例:det 對單一個落點線性,對整個矩陣不是:det(2I₂) = 4,det I₂ + det I₂ = 2。
2. det(AB) = det A · det B。所以 det(A⁻¹) = 1/det A;A、B 都是方陣時,det(AB) = det(BA)。
AB 先做 B、再做 A(第 6 章),體積先放大 det B 倍,再放大 det A 倍。兩個實數可以交換。
3. det A = 0 ⇔ A 把單位方塊壓扁 ⇔ 有一個落點不是新方向 ⇔ N(A) ≠ {0}。所以 det A ≠ 0 是第 7 章的條件 (b),和 (a)、(c)–(h) 等價。M = 0 和 det M = 0 不同:M = 0 ⇒ det M = 0,反過來不成立。
壓扁 ⇔ 落點落在 dim 比 n 小的子空間裡。代數的理由見第 6 條:det A = ± pivot 乘積。M = 0 ⇔ 每個代表都被 M 送到 0 ⇔ N(M) = ℝⁿ;det M = 0 ⇔ N(M) ≠ {0}。
例:M = [1 0; 1 0],det M = 0,M ≠ 0。
4. 轉移式從圖 8a 的三條性質推出:沿第 j 行(落點 aⱼ)展開,det A = a₁ⱼC₁ⱼ + a₂ⱼC₂ⱼ + ⋯ + aₙⱼCₙⱼ。最底層是 2×2:det [a b; c d] = ad − bc。
aⱼ = a₁ⱼe₁ + ⋯ + aₙⱼeₙ,det 對 aⱼ 線性,所以 det A 拆成 n 個 det,第 i 個的第 j 行是 aᵢⱼeᵢ。用「一個落點加上另一個落點的倍數,det 不變」把第 i 列的其他數消成 0。剩下的 det 只由 Mᵢⱼ 決定;看成 Mᵢⱼ 的函數,它也滿足三條性質,只是 Mᵢⱼ = I 時的值是 (−1)^(i+j):這時各行是 e₁…eₙ 換了順序,交換落點數得出來。三條性質唯一決定 det(Strang §5.2),所以第 i 個 det = aᵢⱼ(−1)^(i+j) det Mᵢⱼ = aᵢⱼCᵢⱼ。這一步只用到落點(行)的性質,還沒用到轉置。
5. 把轉移式展開到底就是 big formula:det A = Σ_σ sign(σ) a₁σ(₁)⋯aₙσ(ₙ),共 n! 項,sign(σ) = (−1)^(逆序數)。所以 det Aᵀ = det A;三條性質對列也成立,也可以沿任何一列展開(圖 8b 的模型)。
每片葉子從每一列取一個元素,而且行不重複,也就是一個排列。T(n) = n · T(n − 1),所以有 n! 片葉子。正負號 = 路徑上每一層的棋盤格正負號相乘,每一層看當下 minor 裡的位置,加起來就是逆序數。轉置把每一項的「第 i 列、第 σ(i) 行」變成「第 σ(i) 列、第 i 行」,項的集合不變;排列換成反排列,逆序數不變,正負號也不變。沿 A 的第 i 列展開 = 沿 Aᵀ 的第 i 行展開。
6. 列運算對 det 的影響:type I 乘 −1,type II 乘 c,type III 不變(也就是 det E = −1、c、1)。上三角矩陣的 det = 對角線乘積。所以只用 type I、type III 消成上三角 U 時,det A = (−1)^(交換次數) × pivot 乘積。
7. A · adj A = det(A) · I,adj A 是 cofactor 矩陣的轉置:(adj A)ᵢⱼ = Cⱼᵢ。所以 det A ≠ 0 時 A⁻¹ = adj A / det A;Ax = b 的解是 xⱼ = det Aⱼ / det A(Cramer's rule),Aⱼ 是把 A 的第 j 行換成 b。
轉移式是「第 i 列」和「第 i 列的 cofactor」逐項相乘再相加,而 Cᵢⱼ 只用到第 i 列以外的數。A · adj A 的 (i, k) 元素 = A 的第 i 列配第 k 列的 cofactor = 把第 k 列換成 A 的第 i 列以後的 det。i = k 時就是 det A。i ≠ k 時這個矩陣有兩列相同,交換這兩列,矩陣不變、det 變號,所以 det = 0。Cramer's rule 用同一個技巧:x = adj A · b / det A,xⱼ 的分子 C₁ⱼb₁ + ⋯ + Cₙⱼbₙ 是 Aⱼ 沿第 j 行展開。
第 9 章
模型
U、W 是 V 的子空間。U + W = {u + w : u ∈ U,w ∈ W}。u、w 各自任選,不是一一對應。
每個 u ∈ U 長出一份 W,也就是 u + W:把 W 整個平移 u。U ∩ W 是同時在 U 和 W 裡的向量。兩份複本 u + W 和 u′ + W 相同 ⇔ u − u′ ∈ U ∩ W。所以 U ∩ W 的方向被數了兩次,要減掉一次:
dim(U + W) = dim U + dim W − dim(U ∩ W)。
出處:Axler《Linear Algebra Done Right》2.43(dimension of a sum)
模型的來源:你在 0008 說的:「兩個空間相加的意思,是所有 pair u, v s.t. u in C(A) v in C(B) 就可以,而不是一一對應」;「不是每個 U 裏面的元素,都可以自己在“長出”一個 W 嗎?」
U 是 xy 平面,W 是 xz 平面。它們的 basis 合起來是 (1, 0, 0)、(0, 1, 0)、(1, 0, 0)、(0, 0, 1):x 軸方向 (1, 0, 0) 出現兩次,第二次是多餘的。拿掉以後剩 3 個向量,dim(U + W) = 3 = 2 + 2 − 1。
1. U + W 是子空間,而且是包含 U 和 W 的最小子空間。U = span(S₁)、W = span(S₂) ⇒ U + W = span(S₁ ∪ S₂)。對照第 1 章第 5 條:U ∪ W 一般不是子空間。
(u + w) + (u′ + w′) = (u + u′) + (w + w′),α(u + w) = αu + αw,所以 U + W 對線性組合封閉。任何包含 U 和 W 的子空間都對加法封閉,所以包含每個 u + w。
2. dim(U + W) = dim U + dim W − dim(U ∩ W)。所以 dim(U + W) ≤ dim U + dim W。等號 ⇔ U ∩ W = {0}。
3. A、B 都是 m×n。C(A) + C(B) = span(a₁, …, aₙ, b₁, …, bₙ),而且 C(A + B) ⊆ C(A) + C(B)。
Ax + By 裡,x、y 各自任選。(A + B)x = Ax + Bx 用同一個 x,所以 aⱼ 和 bⱼ 綁成一對。
4. rank(A + B) ≤ rank A + rank B。等號 ⇔ C(A + B) = C(A) + C(B),而且 C(A) ∩ C(B) = {0}。
rank(A + B) = dim C(A + B) ≤ dim(C(A) + C(B)) ≤ rank A + rank B(第 3 條、第 2 條)。第一個 ≤ 取等號 ⇔ 兩個空間相等:dim 相同時,C(A + B) 的 basis 是 C(A) + C(B) 裡同樣多個線性獨立的向量,所以也是 C(A) + C(B) 的 basis(第 4 章第 4 條,Leon Theorem 3.4.3)。第二個 ≤ 取等號 ⇔ C(A) ∩ C(B) = {0}(第 2 條)。只有 C(A) ∩ C(B) = {0} 不夠:A、B 是 2×1,唯一的行分別是 (1, 0)、(0, 1) 時,C(A + B) = span((1, 1)) 只是一條線,rank(A + B) = 1。