§21-1  線性的定義

一個函數要滿足什麼,才配稱為線性?把定義拆成「相加」與「乘常數」兩條分開檢查,會不會漏掉什麼?而線性函數在原點的值,有沒有第二種可能?

線性是什麼

錄音室的混音台上有兩件基本動作:把兩軌訊號疊在一起,以及把某一軌的音量推大幾倍。這兩件事的次序常常可以交換——兩軌各自推大兩倍再疊起來,跟先疊起來再整體推大兩倍,出來的聲音是同一個。

不是每種處理都這麼聽話。假設機器的功能是「在訊號上加一段固定的底噪」:先各自加再疊,底噪會變成兩份;先疊再加,只有一份。次序一換,結果就不一樣了。

把輸入相加、把輸入乘一個常數,這兩件事在數學裡到處都是。與這兩件事都能交換次序的函數值得單獨命名,因為它們的行為會被少得驚人的資訊完全鎖死。

21.1  DEFINITION
Call a function f from ℝᵖ into ℝ^q linear provided that
  f(ax + by) = af(x) + bf(y)
holds for every pair a, b of reals and every pair x, y of points of ℝᵖ.
先組合再送進函數,跟先送進函數再組合,得到同一個結果。定義域必須是整個 ℝᵖ——這不是裝飾:等式兩邊要有意義,f 就得同時吃得下 x、y(右邊)與 ax + by(左邊),而這三個點可以落在空間的任何位置。
正例:f(x) = 3x(ℝ → ℝ)。取 a = 2、b = −1、x = 5、y = 1:左邊是 f(9) = 27,右邊是 2 · 15 − 3 = 27。反例:f(x) = x + 1。同一組數字下左邊是 f(9) = 10,右邊是 2 · 6 − 2 = 10——這一組居然對上了,可是換一組就破:a = 2、b = 0、x = y = 1 時左邊 f(2) = 3、右邊 2 · 2 = 4。驗一組通過不算數,定義要求的是所有組。
x, y f(x), f(y) ax + by af(x) + bf(y) ff 組合輸入 組合輸出 兩條路徑走到同一個終點

這張圖在說定義要求的是什麼:從左上角出發有兩條路——先往右做 f 再往下組合,或先往下組合再往右做 f。線性的意思就是這兩條路的終點永遠相同。加底噪那種處理走不通,因為往下那一步會把底噪也複製一份。

定義寫成一條合併式很緊湊,可是驗算時把它拆開比較省力——而且拆開之後會掉出一個免費的否決工具。

LEMMA
A function f: ℝᵖ → ℝ^q is linear if and only if both of the following hold.
(i)  f(x + y) = f(x) + f(y) for all x, y ∈ ℝᵖ.
(ii)  f(ax) = af(x) for all a ∈ ℝ and all x ∈ ℝᵖ.
Moreover, every linear function satisfies f(0) = 0.
(i) 是「保加法」,(ii) 是「保純量倍」。兩條分開驗比一次驗合併式輕鬆,而且各自的失敗方式不一樣,分開看才知道是哪一條垮掉。附帶的 f(0) = 0 是最省力的否決工具——一個函數只要把原點送到別的地方,就不必再往下驗了。
正例:投影 P(x, y) = (x, 0) 兩條都過。(i):P((x₁, y₁) + (x₂, y₂)) = (x₁ + x₂, 0),正是兩個像之和。(ii):P(a(x, y)) = (ax, 0) = aP(x, y)。反例:f(x) = |x| 只過一半——a ≥ 0 時 f(ax) = af(x) 成立,可是 a = −1 時 f(−1) = 1 而 −f(1) = −1。「對正的純量成立」不等於 (ii)。
PROOF

兩個方向。正向要從一條合併式生出兩條規則,逆向要把合併式拆成兩步走完。

證明計畫 · 由所求想起
正向:所求是兩條規則。合併式裡的 a 與 b 是我們可以隨意指定的,各挑一組數字把想要的那一條逼出來即可。
逆向:所求是合併式。左邊先按 (i) 切成兩塊,每一塊再各用一次 (ii)。
f(0) = 0 則是 (ii) 取 a = 0 的直接後果。

Proof.  Suppose f is linear. Taking a = b = 1 in the defining equation gives f(x + y) = f(x) + f(y), which is (i). Taking b = 0 and y = x gives f(ax) = f(ax + 0x) = af(x) + 0f(x) = af(x), which is (ii).
這一步的所求:把兩條規則從合併式裡逼出來。訣竅是「係數由我們挑」——想要加法性就把兩個係數都設成 1,想要齊次性就把其中一個設成 0 把那一項關掉。第二次代入時 y 取成 x 只是為了不必另外找一個點,取任何點結果都一樣,因為它的係數是 0。拿 f(x) = 3x 對照:a = 2、b = 0、x = y = 5 時左邊 f(10) = 30,右邊 2 · 15 + 0 · 15 = 30。
Conversely, suppose (i) and (ii) hold. For any a, b ∈ ℝ and x, y ∈ ℝᵖ, rule (i) applied to the two points ax and by gives f(ax + by) = f(ax) + f(by), and rule (ii) applied to each term gives f(ax) + f(by) = af(x) + bf(y). Hence f is linear.
這一步的所求:把合併式重新組回來。次序是先切後縮:(i) 只認得「兩個點相加」這個形狀,所以要把 ax 與 by 各自看成一整個點,切完之後再用 (ii) 去處理各自身上的係數。反過來先用 (ii) 是不行的,因為 ax + by 整體並不是某個點的純量倍。
Finally, apply (ii) with a = 0 and any x ∈ ℝᵖ: f(0) = f(0x) = 0f(x) = 0.
最後這一句只有一行,用途卻很大。0 這個向量可以寫成任何點的 0 倍,於是 (ii) 直接把它的像壓成零向量。之後只要看到一個函數把原點送去別處,一秒就判它不是線性——不必再去湊 a 與 b。
兩條規則合起來與定義等價,而 f(0) = 0 是免費附送的必要條件。∎
f 0 0 原點沒有別的去處

這張圖在說引理最後一句的內容:線性函數一定把原點送到原點。這是一道免費的初篩——圖形不通過原點的函數,例如把整條直線往上平移一格的那個,看一眼就出局,連係數都不必代。反過來通過原點不保證線性,例 2 的平方函數就是。

例 1三個線性函數
哪些常見的函數通得過這兩條規則?
  1. 純量倍 f(x) = 3x(ℝ → ℝ)。直接算:f(ax + by) = 3(ax + by) = a · 3x + b · 3y。取 a = 2、b = −1、x = 5、y = 1 驗一次:左邊 f(9) = 27,右邊 2 · 15 − 1 · 3 = 27。
  2. 投影 P(x, y) = (x, 0)(ℝ² → ℝ²)。它把平面上的點壓到橫軸上。組合的第一個座標是 ax₁ + bx₂,第二個座標是 0,而 aP(x₁, y₁) + bP(x₂, y₂) = (ax₁ + bx₂, 0),兩者相同。注意這個函數丟掉了資訊(縱座標整個消失),可是線性完全不介意。
  3. 平面上的線性映射 f(x, y) = (2x + y, x − 3y)。這是 §20-5 例 7 那個算過 δ 的映射。一般式逐座標展開:第一個輸出座標對組合 a(x₁, y₁) + b(x₂, y₂) 的值是
    2(ax₁ + bx₂) + (ay₁ + by₂) = a(2x₁ + y₁) + b(2x₂ + y₂),
    恰為兩個像的第一座標照同樣係數組合;第二個座標同法。再代一組數字看它動起來:2f(1, 1) − f(0, 1) = 2(3, −2) − (1, −3) = (5, −1),而 2(1, 1) − (0, 1) = (2, 1)、f(2, 1) = (5, −1)。對上。
三個例子的共同點:每個輸出座標都只是輸入座標的一次組合——沒有常數項,沒有次方,沒有絕對值。下一篇會證明這不是巧合,線性函數只能長這個樣子。
uv u + v P(u)P(v)P(u + v) 橫向的長度加起來剛好對上

這張圖在說投影為什麼線性:u + v 的橫座標本來就是兩者橫座標之和,而投影只保留橫座標。丟掉縱座標這個動作對每一個點一視同仁,所以先加再丟與先丟再加沒有差別。

例 2三種不同的失敗
不是線性的函數,是哪一條規則垮掉?
  1. 平移 f(x) = x + 1。f(0) = 1 ≠ 0,引理最後一句當場否決,不必再算。若要看得更具體:f(2 · 1) = 3 而 2f(1) = 4,齊次性垮掉。
  2. 平方 f(x) = x²。這一個通過原點,所以初篩擋不住它,得往下驗。齊次性:f(2 · 3) = 36 而 2f(3) = 18,不相等。加法性也垮:f(1 + 1) = 4 而 f(1) + f(1) = 2。兩條都不過。
  3. 絕對值 f(x) = |x|。它也通過原點,而且對正的純量表現良好:a > 0 時 f(ax) = a|x| = af(x)。可是 a = −1 時 f(−1) = 1 而 −f(1) = −1,齊次性只差在負號上。加法性也不成立:f(1 + (−1)) = 0 而 f(1) + f(−1) = 2。
三種失敗方式各不相同:平移在原點就出局;平方連正的純量都過不了;絕對值對正的純量表現正常,齊次性只在負的純量上垮掉(它的加法性同樣不成立,見第 3 步)。驗證線性時要把兩條規則的取值都跑遍——只試正的純量會把絕對值誤判成合格。三者都連續,可見連續不蘊涵線性;反過來的方向不然,§21-3 的 21.3 會證明線性一定連續。
不過原點 兩條全敗 只敗在負號 x + 1x²|x|

這張圖在說三種失敗長什麼樣:左圖的直線與縱軸交在 1 而不是原點,一眼出局;中圖與右圖都通過原點,所以初篩過關,得靠代數往下驗。通過原點是必要條件,不是充分條件——這正是初篩只能用來否決、不能用來核准的原因。

定義與引理都只講兩項。可是實際要用的幾乎都是 p 項——把一個點拆成 p 個座標方向的組合,就一口氣冒出 p 項。歸納法把兩項推到任意有限多項。

COROLLARY
Let f: ℝᵖ → ℝ^q be linear and let n ∈ ℕ. Then
  f(a₁x₁ + ⋯ + aₙxₙ) = a₁f(x₁) + ⋯ + aₙf(xₙ)
for all real numbers a₁, ⋯, aₙ and all x₁, ⋯, xₙ ∈ ℝᵖ.
兩項可以交換次序,任意有限多項也可以。要留意「有限」這個限制是真的——無限多項要先講清楚那個和是什麼意思,那是後面的事。
正例:拿 f(x, y) = (2x + y, x − 3y) 與三項驗一次。左邊 3(1, 0) + 2(0, 1) − (1, 1) = (2, 1),而 f(2, 1) = (5, −1)。右邊 3(2, 1) + 2(1, −3) − (3, −2) = (5, −1)。反例:拿掉線性就不成立——f(x) = x² 在 n = 2、a₁ = a₂ = 1、x₁ = x₂ = 1 時左邊是 4、右邊是 2。
PROOF

對項數 n 做歸納。定義只認得兩項,所以歸納步要想辦法把 n + 1 項排成「兩項」的形狀。

證明計畫 · 由所求想起
所求是任意項數的版本。起點 n = 1 就是規則 (ii) 本身。歸納步的關鍵是把前 n 項打包成一個點:這樣 n + 1 項就變成「打包後的那一個」加上「最後一項」,恰好是兩項,規則 (i) 切得下去。切完之後前半用歸納假設、後半用規則 (ii)。

Proof.  For n = 1 the assertion reads f(a₁x₁) = a₁f(x₁), which is rule (ii) of the Lemma.
起點沒有內容,只是把引理的第二條規則重新讀一次。值得留意的是歸納的對象是項數,不是係數也不是點——係數與點在每一步都保持任意,所以結論一次涵蓋所有的取值。
Assume the assertion holds for some n ∈ ℕ. Given a₁, ⋯, a_{n+1} and x₁, ⋯, x_{n+1}, put s = a₁x₁ + ⋯ + aₙxₙ, a single element of ℝᵖ. By rule (i),
  f(s + a_{n+1}x_{n+1}) = f(s) + f(a_{n+1}x_{n+1}).
這一步的所求:把 n + 1 項變回兩項。做法是給前 n 項一個名字 s——它是 ℝᵖ 裡一個貨真價實的點,不是一串符號,所以規則 (i) 對它適用。拿 f(x, y) = (2x + y, x − 3y) 與上面那組三項數字對照:s = 3(1, 0) + 2(0, 1) = (3, 2),最後一項是 −(1, 1),而 f(3, 2) = (8, −3)、f(−1, −1) = (−3, 2),兩者相加得 (5, −1),與直接算 f(2, 1) 一致。
By the induction hypothesis f(s) = a₁f(x₁) + ⋯ + aₙf(xₙ), and by rule (ii) f(a_{n+1}x_{n+1}) = a_{n+1}f(x_{n+1}). Adding the two gives the assertion for n + 1, and the induction is complete.
收尾把兩塊各自展開。前一塊靠歸納假設(它的項數恰好是 n,符合假設的形狀),後一塊靠規則 (ii),兩塊都變成「係數乘像」的和之後直接併起來。整個歸納步用掉的工具就只有兩條規則各一次,這也是本讀本把兩條規則單獨立成引理的理由。
線性從兩項一路推到任意有限多項,而且每一步都只用到那兩條規則。∎
—— 第一階段到此結束 ——

本篇把線性寫成一條合併式(21.1),再拆成「保加法」與「保純量倍」兩條好驗的規則,順手撿到 f(0) = 0 這道免費的初篩。例 1 的三個函數都通過,共同點是每個輸出座標都只是輸入座標的一次組合;例 2 的三個各以不同的方式失敗。最後把兩項推廣到有限多項——下一篇正需要 p 項的版本。起來走幾步再繼續。