§21-2  矩陣表示

一個定義域是整個 ℝᵖ 的線性函數,要多少個實數才交代得完?如果只知道它在 p 個座標方向上的值,其餘無限多個點是不是就跟著決定了?反過來,任意給一組實數湊出來的,一定是線性函數嗎?

一個線性函數就是一張表

自動販賣機收下一把硬幣,吐出一把找零。要把這台機器的行為交代清楚,不必列出所有可能的投幣組合——只要說明投一枚 1 元會怎樣、投一枚 5 元會怎樣、投一枚 10 元會怎樣,其餘的組合就全部算得出來了。

線性函數的定義域是整個 ℝᵖ,點有無限多個,可是上一篇的兩條規則說它與加法、與純量倍都能交換次序。那麼只要知道它在少數幾個點上的值,別的點是不是就跟著決定了?要問清楚這件事,得先挑出那「少數幾個點」。

挑法很自然:p 個座標方向。記 eⱼ 為第 j 個座標是 1、其餘座標都是 0 的那個點。在平面上就是 e₁ = (1, 0) 與 e₂ = (0, 1)。任何一個點都寫得成它們的組合:

(x₁, x₂, ⋯, x_p) = x₁e₁ + x₂e₂ + ⋯ + x_pe_p。

21.2  THEOREM
If f is a linear function with domain ℝᵖ and range in ℝ^q, then there are pq real numbers cᵢⱼ (1 ≤ i ≤ q, 1 ≤ j ≤ p) such that for every x = (x₁, ⋯, x_p) the coordinates of y = f(x) are
  yᵢ = cᵢ₁x₁ + cᵢ₂x₂ + ⋯ + c_{ip}x_p.
Conversely, given any pq real numbers cᵢⱼ, the function assigning to each x the point determined by these equations is linear.
一個線性函數與一組 pq 個實數是一一對應的:由 f 讀得出那組數,由那組數也造得回 f。輸出的每個座標都只是輸入座標的一次組合——例 1 觀察到的那個共同點,原來是必然。
正例:投影 P(x, y) = (x, 0) 對應的四個數是 c₁₁ = 1、c₁₂ = 0、c₂₁ = 0、c₂₂ = 0——第二個座標的公式是 0 · x + 0 · y。反例:f(x) = x + 1 交不出這樣一個數——p = q = 1 時公式只能是 y = c₁₁x,而 x = 0 立刻逼出 c₁₁ · 0 = 1,無解。
PROOF

兩個方向。正向要從 f 讀出那 pq 個數並證明它們足以決定一切;逆向要從任意給定的 pq 個數造出函數,並驗它線性。

證明計畫 · 由所求想起
正向:所求是一組座標公式。先只看 p 個座標方向——把 f(eⱼ) 的第 i 個座標取名叫 cᵢⱼ,這就把那 pq 個數定出來了。再把任意的 x 拆成座標方向的組合,用上一篇的有限多項推廣一次過關。
逆向:所求是線性。逐座標檢查合併式,兩邊算出來都是同一個一次組合。

Proof.  Let e₁, ⋯, e_p be the coordinate directions in ℝᵖ and write
  f(eⱼ) = (c₁ⱼ, c₂ⱼ, ⋯, c_qⱼ),
so that cᵢⱼ is the i-th coordinate of f(eⱼ). This produces exactly pq real numbers.
這一步的所求:一組候選的數字。它們不是憑空取的,而是直接讀出來的——把 p 個座標方向各送進 f 一次,得到 p 個像,每個像有 q 個座標,總共 pq 個數。舉個現成的:例 3 那個 ℝ² → ℝ³ 的映射滿足 f(e₁) = (2, 1, 0) 與 f(e₂) = (1, 0, −1),於是 c₁₁ = 2、c₂₁ = 1、c₃₁ = 0,另外三個由 f(e₂) 讀出。下標的次序要記牢:i 是像的座標編號,j 是座標方向的編號。
Every x = (x₁, ⋯, x_p) can be written as x = x₁e₁ + ⋯ + x_pe_p. Since f is linear, the Corollary on finite combinations gives
  f(x) = x₁f(e₁) + ⋯ + x_pf(e_p).
這一步的所求:把無限多個點化約到 p 個。拆解那一行是純粹的座標記法,任何一個點都這樣寫得出來;真正做事的是上一篇的有限多項推廣——它讓 f 穿過那 p 項的和,把 f 的值改寫成 p 個已知像的組合。兩項的定義在這裡不夠用,因為 p 可以任意大,這就是上一篇非要做那個歸納不可的理由。
Taking the i-th coordinate of both sides, and recalling that the i-th coordinate of f(eⱼ) is cᵢⱼ, we obtain
  yᵢ = cᵢ₁x₁ + cᵢ₂x₂ + ⋯ + c_{ip}x_p,
which is the asserted formula.
最後一步只是把向量的等式拆成 q 個實數的等式。ℝ^q 裡的加法與純量倍都是逐位進行的,所以「第 i 個座標」這個動作可以直接穿過整條和式。用例 3 的數字走一次:f(1, 3) = 1 · (2, 1, 0) + 3 · (1, 0, −1) = (5, 1, −3),而照公式算第一個座標是 2 · 1 + 1 · 3 = 5,一致。
Conversely, let cᵢⱼ be any pq real numbers and let f be defined by the displayed equations. For a, b ∈ ℝ and x, y ∈ ℝᵖ, the i-th coordinate of f(ax + by) equals
  Σⱼ cᵢⱼ(axⱼ + byⱼ) = a Σⱼ cᵢⱼxⱼ + b Σⱼ cᵢⱼyⱼ,
which is the i-th coordinate of af(x) + bf(y). As this holds for every i, f is linear.
逆向沒有任何構造,只有一次分配律。中間那個等號成立,是因為每一項 cᵢⱼ(axⱼ + byⱼ) 都可以展開成 a · cᵢⱼxⱼ 加 b · cᵢⱼyⱼ,再把同類項收攏。要留意結論必須對每一個 i 成立才算數——兩個向量相等的意思就是每個座標都相等。
線性函數與 pq 個實數之間是一一對應:讀得出來,也造得回去。∎
21 10 0−1 f(e₁)f(e₂) 第 1 座標第 2 座標第 3 座標 直行讀是像,橫列讀是公式 y₂ = 1 · x + 0 · y

這張圖在說 pq 個數怎麼排:直行與橫列讀出來的東西不一樣。第 j 個直行整條讀下來,就是座標方向的像 f(eⱼ);第 i 個橫列整條讀過去,就是輸出第 i 個座標的公式。這張表叫做 f 的 matrix(矩陣),而定理說的是這張表與 f 互相決定。

例 3由兩個像決定全部
只知道兩個點的像,其餘無限多個點真的算得出來嗎?
  1. 設 f: ℝ² → ℝ³ 線性,且已知 f(1, 0) = (2, 1, 0) 與 f(0, 1) = (1, 0, −1)。p = 2、q = 3,所以矩陣是 3 列 2 行,六個數全部由這兩個像讀出。
  2. 逐列寫出公式:
      f(x, y) = (2x + y,  x,  −y)。
    第一列是 2x + 1y,第二列是 1x + 0y,第三列是 0x + (−1)y。
  3. 驗算 f(1, 3)。用公式:(2 + 3, 1, −3) = (5, 1, −3)。用組合:f(e₁) + 3f(e₂) = (2, 1, 0) + (3, 0, −3) = (5, 1, −3)。兩條路同一個答案。
  4. 再算兩個:f(2, 0) = (4, 2, 0)、f(1, 1) = (3, 1, −1)。
  5. 順帶看一件事:這個 f 的像填不滿 ℝ³。任何一個像 (u, v, w) = (2x + y, x, −y) 都滿足 u = 2v − w。拿上面三個驗:2 · 1 − (−3) = 5 ✓、2 · 2 − 0 = 4 ✓、2 · 1 − (−1) = 3 ✓。所以像全部躺在 ℝ³ 的一個平面上,例如 (0, 0, 1) 就永遠不會出現。
兩個像確實決定了全部——輸入端只有兩個自由度,輸出端無論寫在幾維空間裡,都跑不出這兩個自由度撐開的範圍。這個映射會在第三、四篇再出現兩次。
e₁ e₂ e₁ + 3e₂ f f(e₁) = (2, 1, 0) f(e₂) = (1, 0, −1) f(1, 3) = (5, 1, −3) 左右兩邊用的是同一組係數

這張圖在說例 3 的機制:左邊把目標點寫成 1 · e₁ + 3 · e₂,右邊就把同樣的 1 與 3 套在兩個已知的像上。係數原封不動地搬過去,這正是有限多項推廣那條結論在做的事。輸出寫在三維空間裡,可是能到達的位置只有兩個方向撐得出來的那一片。

例 4什麼時候會壓垮一個方向
平面上的線性映射,什麼時候會把某個非零向量送到原點?
  1. 設 f(x, y) = (ax + by,  cx + dy),四個係數就是它的矩陣。記 Δ = ad − bc。要證的是:存在非零向量被送到 (0, 0),充要條件是 Δ = 0。
  2. 先看 Δ = 0 的情形,而且 (a, b) ≠ (0, 0)。取 v = (−b, a),它非零。算一次:
      f(v) = (a(−b) + b·a,  c(−b) + d·a) = (0, ad − bc) = (0, 0)。
  3. 若 (a, b) = (0, 0) 而 (c, d) ≠ (0, 0),改取 v = (−d, c),同樣非零,而 f(v) = (0,  c(−d) + d·c) = (0, 0)。若四個係數都是零,f 恆為零向量,隨便挑一個非零向量都合格。
  4. 反過來設 Δ ≠ 0 且 f(x, y) = (0, 0),也就是 ax + by = 0 與 cx + dy = 0 同時成立。把第一式乘 d、第二式乘 b 再相減,得 (ad − bc)x = 0,於是 x = 0;把第二式乘 a、第一式乘 c 再相減,得 (ad − bc)y = 0,於是 y = 0。只有零向量。
  5. 代兩組數字。f(x, y) = (x + 2y,  2x + 4y) 的 Δ = 4 − 4 = 0,證物是 (−2, 1):f(−2, 1) = (−2 + 2,  −4 + 4) = (0, 0)。而 f(x, y) = (2x + y,  x − 3y) 的 Δ = −6 − 1 = −7 ≠ 0,所以除了原點以外沒有任何點被送到原點。
四個係數湊出來的那一個數 Δ,一口氣回答了「會不會壓垮某個方向」。Δ = 0 時整個平面被壓到一條通過原點的直線上(甚至壓成一個點),因為表的兩條橫列當中有一條是另一條的固定倍數——兩條公式算出來的東西成比例,湊不出第二個獨立的方向。((a, b) = (0, 0) 時也算數:零那一列是另一列的 0 倍。)矩陣不只是記帳用的表格,它身上帶著 f 的行為。
f 這條線整條壓成原點 像全部落在一條線上

這張圖在說 Δ = 0 時發生什麼事:左邊紅色那條通過原點的直線,整條被送到右邊的原點(紅點);而整個平面的像縮在藍色那一條直線裡。壓垮一個方向與「像填不滿」是同一件事的兩面——輸入端少掉的自由度,輸出端就補不回來。

—— 第二階段到此結束 ——

本篇證明了線性函數與 pq 個實數一一對應(21.2):把 p 個座標方向的像讀出來排成一張表,其餘無限多個點的值就全部跟著決定。例 3 由兩個像寫出整個 ℝ² → ℝ³ 的公式,例 4 用四個係數湊出的一個數判斷會不會壓垮某個方向。下一篇把這張表派上真正的用場:它會直接交出一個放大倍率,讓連續性一次驗完。起來動一動再繼續。