學習目標與準備
本章以第 1 章的方程和第 2 章的坐標幾何為基礎,組織同時出現的多個數量。你將計算向量合計與加權值、進行矩陣乘法和轉置、用可逆操作求解方程組,並使用行列式而不混淆代數唯一性與模型可行性。
3.1 向量記錄多個數量
向量是有序列表,通常寫為欄向量。若 q=(q1,q2)T 記錄兩種商品的數量,p=(p1,p2)T 記錄其單位價格,則總值是點積 pTq=p1q1+p2q2。分量各有含義;除非相應解釋也交換,交換分量會改變所記錄的對象。
例 1:合計商品籃。 設兩個商品籃為 q=(3,2)T、r=(1,5)T,價格為 p=(4,6)T。第一籃取兩份、第二籃取一份,得到 2q+r=(7,9)T,價值為 pT(2q+r)=82。線性性還給出 2pTq+pTr=2(24)+34=82。此計算中價格固定;若價格隨數量變化,估值一般不再是線性的。
當坐標單位相容時,∥v∥=vTv 是歐氏長度,u⊥v 表示 uTv=0。不能不加說明地把不同經濟單位當作可互換的幾何長度;即使記錄的實際情況相同,重新縮放一個變量也會改變距離。
若存在實系數使 v=c1u1+⋯+ckuk,則向量 v 是 u1,…,uk 的線性組合。若一組向量只有系數全為零時才可組合成零向量,就稱該組線性無關。兩個非零平面向量線性相關當且僅當其中一個是另一個的標量倍數。
3.2 矩陣運算與表格操作
m×n 矩陣有 m 行和 n 欄。同尺寸矩陣逐項相加,數乘也逐項進行。對於尺寸為 m×n 的 A 和尺寸為 n×p 的 B,
(AB)ij=k=1∑naikbkj.
乘積尺寸為 m×p,內側維數必須相同。AB 的第 j 欄等於 A 乘以 B 的第 j 欄;因此矩陣乘法可把一個表格的線性規則同時應用於多個輸入。
例 2:多個方案的資源。 設
A=(2114),Q=(3251).
Q 的每一欄是一個生產方案,A 的每一欄是某一產品每單位的資源使用量。於是 AQ=(811119) 記錄兩個方案的資源總量。第一行和第二行可以使用不同資源單位;相加只在單位相容的同一行內進行。
矩陣乘法滿足結合律與分配律,但一般不滿足交換律。若 A=(1011)、B=(1101),則 AB=(2111),而 BA=(1112)。轉置滿足 (AT)ij=aji 和 (AB)T=BTAT。單位矩陣的對角項為一、其他項為零;尺寸適當時,它的作用類似於乘以一。
3.3 聯立方程與可逆消元
線性方程組 Ax=b 同時施加所有方程,可記作增廣矩陣 [A∣b]。交換方程、把一個方程乘以非零常數、或把一個方程的倍數加到另一個方程上,都嚴格保持解集,因為每步均可逆。不能把方程乘以零,否則會丟失約束。
例 3:反求兩個價格。 假設商品籃給出 2p+q=11 和 p+3q=13。從第一式減去第二式的兩倍,得到 −5q=−15,故 q=3、p=4;代回兩式均成立。只解一個方程不夠,因為單個方程有無窮多組解。
全零系數行若右側非零,方程組不相容;完全為零的一行則是冗餘的。若未知數不由主元確定,應使用自由參數描述。
例 4:相關與不相容。 若 x+2y=6 和 2x+4y=12,第二式重複第一式,所有 (6−2t,t) 都是解。若第二式右側改為 13,減去第一式兩倍得到 0=1,故無解。系數表看似相同,右側不同卻可能導致不同結果。
實數方程組不可能恰有兩個解而沒有其他解。若 x1,x2 是兩個不同解,由分配律可知,對每個實數 t,x1+t(x2−x1) 都是同一方程組的解。因此解有無窮多個。
3.4 行列式與逆矩陣
對 2×2 矩陣,det(acbd)=ad−bc。行列式非零意味著兩個系數欄線性無關,且對每個右側,方陣方程組都有唯一解。其逆矩陣為
A−1=ad−bc1(d−c−ba).
將它與 A 按兩個次序相乘均得 I,從而證明公式。唯一解為 x=A−1b。若 ad−bc=0,不能使用此公式,應改用消元法分類右側。
對 n×n 矩陣 A=(aij)(n≥2),記刪去第 i 行和第 j 欄得到的矩陣為 Mij,其代數餘子式為 Cij=(−1)i+jdetMij。沿任一固定的第 i 行展開,得到
detA=j=1∑naijCij.
遞迴的基礎是 1×1 矩陣的 det(a11)=a11。例如,
det210121012=2(4−1)−1(2−0)=4.
消元提供另一種計算方法:交換兩行使行列式變號;一行乘以常數使行列式乘以該常數;一行加上另一行的倍數則不改變行列式。三角矩陣的行列式等於對角項之積。這些規則將行列式為零與缺少主元、矩陣奇異聯繫起來。
例 5:奇異參數處不能除出逆矩陣。 對 A(a)=(122a),行列式為 a−4,當且僅當 a=4 時可逆。在 a=4 處,第二個系數行是第一個的兩倍;要使方程組相容,右側也必須滿足同樣關係。含 1/(a−4) 的表達式不是被排除情形的解公式。
3.5 可行性與線性不等式模型
解出等式不自動滿足非負或產能限制。可行集包含滿足所有條件的點。在平面中,非嚴格線性不等式 ax+by≤c 在 (a,b)=(0,0) 時表示閉半平面。有限個這類閉半平面的交集若非空、有界且具有非空的二維內部,便是凸多邊形。交集也可能為空、線段、點或無界;這些情形需另行處理。
例 6:小型資源模型。 設 x,y≥0,資源限制為 x+y≤4、2x+y≤6,目標為 P=3x+2y。可行頂點是 (0,0)、(3,0)、(2,2)、(0,4)。交點 (2,2) 由兩條起作用的資源約束取等號求得;各頂點目標值依次為 0,9,10,8,因此最大值為 10,在 (2,2) 處取得。
為甚麼這裡檢查頂點足夠?非常數仿射目標不可能在內部取得嚴格最大值,因為沿其增長方向作小移動會增大目標。每條邊上的目標是一個參數的仿射函數,所以最大值在端點取得;若沿邊為常數,兩端點也取得相同最大值。緊致性保證最大值存在。這個幾何論證針對有界多邊形,不意味著每個非線性約束問題都由頂點求解。
若數量必須為整數,整數可行性是額外條件。本例的最優頂點為整數,但一般的連續最優解未必如此;分別四捨五入可能違反資源不等式。
3.6 分級練習
基礎
- 設 p=(2,5)T、q=(4,3)T,計算 pTq;若分量分別是價格和數量,解釋其含義。
- 對 A=(3012) 和 q=(2,5)T,計算 Aq。
- 若 A 為 2×3、B 為 3×2,寫出 AB 與 BA 的尺寸。
核心
- 解 3x+y=14、x+2y=8,並驗證兩式。
- 求 x−y=3、2x−2y=6 的所有解。
- 判斷 x+2y=1、3x+6y=4 是否相容。
- 求 A=(2111) 的逆,並用它解 Ax=(7,4)T。
- 沿非零項較少的一行或一欄展開,計算 103020201 的行列式。
綜合
- 在 x,y≥0、x+y≤3 下最大化 2x+y,說明最大值點是否唯一。
- 證明若 Au=Av 則 A(u−v)=0;解釋為甚麼 A 可逆會推出 u=v,並舉一個奇異例子,使不同輸入有相同輸出。
3.7 完整解答
- pTq=2(4)+5(3)=23。價格和數量單位相容時,它是總價值,不是數量向量或平均價格。
- 結果為 (3(2)+5,0+2(5))T=(11,10)T。
- AB 是 2×2,BA 是 3×3。兩者均存在,但尺寸不同,不能相等。
- 從第一式減去第二式三倍得 −5y=−10,故 y=2、x=4。核對:12+2=14 和 4+4=8。
- 第二式冗餘。令 y=t,得到所有解 (3+t,t)。
- 從第二式減去第一式三倍得 0=1,方程組不相容。
- 行列式為 1,故 A−1=(1−1−12)。乘以 (7,4)T 得 (3,1)T;核對:(6+1,3+1)T=(7,4)T。
- 沿第二行展開:2det(1321)=2(1−6)=−10。
- 頂點為 (0,0),(3,0),(0,3),目標值為 0,6,3。唯一最大值為 6,在 (3,0) 取得。直接地,2x+y=(x+y)+x≤3+3=6,且等號迫使 x=3,y=0。
- 分配律給出 A(u−v)=Au−Av=0。若 A 可逆,乘以 A−1 得 u−v=0。對於 A=(1000),不同向量 (1,0)T 和 (1,2)T 都映為 (1,0)T。
總結與後續聯繫
向量保留數量的順序和含義。矩陣乘法組合相容的線性規則,並且依賴次序。可逆消元分類方程組,行列式與逆矩陣處理非奇異方陣情形。可行性把模型約束加到代數解上;線性不等式的幾何給出同時約束的初步應用。
本篇所用方法的證明
有限實矩陣乘法法則的證明
設 m,n,p,q 為正整數,A∈Rm×n、B∈Rn×p、C∈Rp×q。以下只用行乘欄定義與實數的有限求和。對任意輸出位置 (i,ℓ),
((AB)C)iℓ=k=1∑p(j=1∑naijbjk)ckℓ=j=1∑naij(k=1∑pbjkckℓ)=(A(BC))iℓ.
中間等號只交換兩個有限和的求和次序,並使用實數分配律。兩邊同為 m×q 矩陣,每個位置相等,便證明結合律;沒有調換矩陣因子的次序。
對 D∈Rn×p,同一定義給出
[A(B+D)]ik=j=1∑naij(bjk+djk)=(AB)ik+(AD)ik.
對 E∈Rm×n,則有
[(A+E)B]ik=j=1∑n(aij+eij)bjk=(AB)ik+(EB)ik.
所以在所寫的相容大小下,兩條分配律均成立。對任意實純量 c,
[(cA)B]ik=j∑(caij)bjk=cj∑aijbjk=j∑aij(cbjk)=[A(cB)]ik,
逐項相等便證明 (cA)B=c(AB)=A(cB)。特別地,對 x,y∈Rn 與實數 s,t,
[A(sx+ty)]i=j∑aij(sxj+tyj)=s(Ax)i+t(Ay)i.
這證明了比較同一線性系統的解時所用的矩陣乘向量線性性質。所有恆等式都只針對大小相容的有限實矩陣,不聲稱任意矩陣因子可交換或可消去。
從較小矩陣構造行列式
定義
子矩陣、子式與餘因子
設 A=[aij] 是一個 n×n 矩陣,其中 n≥2。給定
1≤i,j≤n,同時刪去第 i 行與第 j 欄,所得的
(n−1)×(n−1) 矩陣記為子矩陣 A(i∣j)。
屬於項 aij 的子式是純量
Mij=det(A(i∣j))屬於項 aij 的餘因子是帶符號純量
Cij=(−1)i+jMij符號形成左上角為正的棋盤:
+−+⋮−+−⋮+−+⋮⋯⋯⋯⋱A(i∣j) 表示一個矩陣,Mij 是該矩陣的行列式,
Cij=(−1)i+jMij 則是加上符號後的純量。清楚區分這三個對
象,就不會把符號錯誤地乘兩次。
定義
行列式的遞迴定義
對於 1×1 矩陣 [a11],定義
det([a11])=a11對於 n>1 的 n×n 矩陣,沿第一行定義
det(A)=j=1∑na1jC1j=j=1∑n(−1)1+ja1jM1j這是定義,還不是關於其他行或欄的定理。每個子式的階數都是 n−1,
所以反覆使用定義最終會到達 1×1 基本情形。不需要約定
0×0 行列式:子矩陣和子式的定義只用於 n≥2。
行列式與餘因子展開觀看餘因子展開如何把一個行列式化成較小的有符號分支,再看零項如何剪枝、三角矩陣如何縮成對角線乘積。
子式、符號、餘因子
刪去第 i 行與第 j 欄後,取剩餘矩陣的行列式得到子式;再乘以 (-1)^{i+j} 得到餘因子。
展開分支
對 B=[[3,2,-1],[4,1,6],[-3,-1,2]],沿第一行展開,三個子式的係數依次為 3、-2、-1。
合併分支值
三個子式為 8、26、-1。連同原矩陣元素與棋盤符號,得到 3(8)-2(26)+(-1)(-1)=-27。
零項剪掉工作
零項貢獻的是零餘因子項,所以選零多的行或列會立即刪去分支。
唯一非零項
若某行或列只有一個非零項,行列式就縮成一個帶符號的較小行列式。
三角矩陣直接讀
對三角矩陣而言,反覆做單分支展開後,留下的是對角線項之積。
餘因子展開既是遞迴定義,也是計算策略:選零多的行或列,讓零分支先消失,才不用花力氣計算它們。
從遞迴行列式證明任意餘因子展開
設 A 為實 n×n 矩陣,n≥1,行列式由一階基例和第一行遞迴定義。令 Sn 為 1,…,n 的排列集合;定義逆序數 inv(σ) 為滿足 r<s 且 σ(r)>σ(s) 的數對個數,並令 sgn(σ)=(−1)inv(σ)。
若 σ(i)=j,刪去位置 i 與值 j,保持其餘位置及值的相對次序,得到排列 τ∈Sn−1。設位置 i 之前有 u 個值小於 j;被刪去的逆序共有 (i−1−u)+(j−1−u)=i+j−2−2u 個,故
sgn(σ)=(−1)i+jsgn(τ).
定義 Pn(A)=∑σ∈Snsgn(σ)∏r=1nar,σ(r)。n=1 時它就是遞迴行列式。n>1 時,按 σ(1)=j 分組並用符號恆等式,得 Pn(A)=∑j(−1)1+ja1jPn−1(A(1∣j))。歸納法因而證明 Pn(A)=detA。
現在固定任意行 i,將同一有限排列和按 σ(i)=j 分組。刪除操作與對應子矩陣的全部排列一一對應,因此
detA=j=1∑n(−1)i+jaijdet(A(i∣j)).
固定任意欄 j 時,每個排列恰有一個位置 i 滿足 σ(i)=j;按該位置分組即得
detA=i=1∑n(−1)i+jaijdet(A(i∣j)).
兩個展開公式均用於 n≥2,沒有引入空行列式約定。此證明不預設換行交錯規則或行列式乘積定理。
結構規則為何成立
零行、零欄與唯一支撐項
定理
有零行或零欄時行列式為零
如果方陣的一整行或一整欄的每一項都是零,則它的行列式為零。
定理
某行或某欄至多有一個非零項
設 C 是 n≥2 階方陣。若第 k 行除 ckℓ 外都為零,則
det(C)=ckℓ(−1)k+ℓdet(C(k∣ℓ))若第 ℓ 欄除 ckℓ 外都為零,也有同一公式。即使
ckℓ=0,這個表述仍然成立。
當 n=1 時,含有零行的矩陣就是 [0],按基本定義其行列式為零。當
n≥2 時,使用任意行展開定理沿該行展開。每一項都含有一個零項作為
因子,所以每一項都為零,因而 det(A)=0。
零欄可以用歸納法直接證明,這樣能看清零欄如何傳遞。n=1 時,唯一
具有零欄的 1×1 矩陣是 [0],其行列式為零。假設結論對
n=k 成立。設 (k+1)×(k+1) 矩陣 C 的第 ℓ 欄全為零,
沿第一行展開。第 ℓ 項的因子已經是零。對其餘每一項,刪去第一行
和某個 j=ℓ 的欄;原來的零欄仍在所得 k×k 子矩陣中,只是
在 j<ℓ 時欄指標向左移。由歸納假設,每個這樣的子矩陣的行列式都是零,
所以整行展開的每一項都為零,得到 det(C)=0。
若某行除一項外全為零,沿該行展開即可;若某欄除一項外全為零,沿第
k 行展開。ℓ 項保留下來,而對每個 j=ℓ,子矩陣
C(k∣j) 都繼承了原第 ℓ 欄的零欄,因此其行列式為零。最後
只剩下 ckℓ(−1)k+ℓdet(C(k∣ℓ))。這正是稀疏行或
欄能把計算縮成一個子式的原因。
三角矩陣
定理
三角矩陣定理
若 T 是上三角或下三角矩陣,則
det(T)=t11t22⋯tnn
用 n 作歸納證明上三角情形。n=1 時結論就是行列式的定義。假設
結論對上三角 k×k 矩陣成立,令 T 為 k+1 階上三角矩陣。最
後一行除最後一項 tk+1,k+1 外都是零。沿最後一行展開,只有這一項
保留,而且符號 (−1)2k+2=1:
det(T)=tk+1,k+1det(T(k+1∣k+1))
保留下來的子矩陣仍是上三角矩陣,對角線為
t11,…,tkk。由歸納假設,它的行列式是
t11⋯tkk,於是得到完整的對角線乘積。下三角情形類似但可
沿第一行展開:第一行只可能留下 t11,刪去第一行第一欄後的子矩陣
仍是下三角矩陣,對角線由 t22 到 tnn。
固定一行時的多重線性
定理
固定一行時的多重線性
固定除第 p 行外的每一行。若新第 p 行是 αu+βv,則
det(相同其他各行,但第 p 行為 αu+βv)=αdet(相同其他各行,但第 p 行為 u)+βdet(相同其他各行,但第 p 行為 v)
當 n=1 時,基本定義直接給出
det([αa+βb])=αa+βb=αdet([a])+βdet([b])
這就證明了 1×1 情形。
當 n≥2 時,固定除第 p 行外的每一行。設矩陣 A,B,C 在這些固定行上完全相同,
而第 p 行滿足 cp=αap+βbp。對每個欄指標 j,刪
去第 p 行後得到相同的矩陣:
A(p∣j)=B(p∣j)=C(p∣j)
沿第 p 行展開 det(C),再用每一項的關係
cpj=αapj+βbpj 和分配律,得到
det(C)=j=1∑n(αapj+βbpj)(−1)p+jdet(C(p∣j))=αdet(A)+βdet(B)
關鍵正是其他每一行都固定;同時改變兩行是另一條命題。
相鄰換行與相同行
定理
若有兩行相同,行列式必為零
若一個方陣有兩行完全相同,則它的行列式等於 0。
設 A 的相鄰兩行是 rq,rq+1,交換這兩行得到 B。沿
A 的第 q 行展開,沿 B 中已經移動到第 q+1 行的同一行
rq 展開。對每個欄指標 j,兩次刪去該行後留下的子矩陣次序相同,
但符號相反,因為
(−1)q+1+j=−(−1)q+j
逐項比較便得 det(B)=−det(A)。位置 p<q 的兩行交換可以由
2(q−p)−1 次相鄰交換組成,這是奇數次,所以同樣會使行列式變號。
若 A 的第 p 行與第 q 行相同,交換它們後矩陣仍是 A 本身。換行
結論於是給出 det(A)=−det(A)。由於這裏的項是實數,
2det(A)=0,所以 det(A)=0。這個證明沒有調用下一節才會出現的行
替換規則。
指標與計算策略
每一項都要同時保留三個對象:所選項、刪去一行一欄後得到的子矩陣,以及取該子矩陣行列式所得的子式。先按原矩陣中的行列位置寫出棋盤符號,再計算子式。若繼續展開子式,應使用子式自己的局部指標;局部指標不會取代外層餘因子的符號。
任意行、任意欄展開定理使展開線可以有策略地選擇。優先選擇零多或剩餘子式較簡單的行或欄,並在計算前說明理由。零項會立即刪去分支;零子式則必須由它自己的計算證明。第一行遞迴式定義行列式,任意行欄展開則是容許這種計算選擇的定理。