Evanalysis
3.1嵌入式互動預計閱讀時間: 16 分鐘

3.1 矩陣乘法與單位矩陣

理解何時可以做矩陣乘法、行乘列規則怎樣運作,以及單位矩陣為何對方程組與逆矩陣重要。

課程目錄

MATH1030:線性代數 I

線性代數筆記。

37

矩陣乘法是第一個真正把「行」與「列」結合起來的矩陣運算。它也是矩陣之所 以能表達複合、線性方程組與逆矩陣的核心原因。所以這條規則不能只靠死記; 你要明白每一步的大小條件到底在做甚麼。

為甚麼矩陣乘法比加法微妙

矩陣加法與數乘都是逐項進行。矩陣乘法則不同:輸出中的一個元素,是由左邊 矩陣的一整行與右邊矩陣的一整列共同決定。

定義

矩陣乘積何時有定義

AAm×nm \times n 矩陣,BBn×pn \times p 矩陣,則乘積 AB 有定義,且結果是 m×pm \times p 矩陣。

AA 的列數不等於 BB 的行數,則 AB 未定義。

內側大小必須配對;外側大小則給出結果矩陣的大小。

行乘列規則

定義

矩陣乘法

A=[aij]A = [a_{ij}]m×nm \times n 矩陣,B=[bjk]B = [b_{jk}]n×pn \times p 矩陣。

AB(i,k) 元素為

(AB)ik=ai1b1k+ai2b2k++ainbnk.(AB)_{ik} = a_{i1}b_{1k} + a_{i2}b_{2k} + \cdots + a_{in}b_{nk}.

也就是說,輸出中的一個元素,是 AA 的第 i 行與 BB 的第 k 列按位相 乘後再相加。

這個定義同時說明三件事:

  • 矩陣乘法不是逐項相乘;
  • 內側大小必須吻合;
  • 一個輸出元素會用到整行與整列中所有對應位置。

例題

細算一個矩陣乘積

A=[1231],B=[4051].A = \begin{bmatrix} 1 & 2 \\ 3 & -1 \end{bmatrix}, \qquad B = \begin{bmatrix} 4 & 0 \\ 5 & 1 \end{bmatrix}.

由於兩者都是 2×22 \times 2,所以 AB 有定義。其元素為

(AB)11=14+25=14,(AB)_{11} = 1 \cdot 4 + 2 \cdot 5 = 14,(AB)12=10+21=2,(AB)_{12} = 1 \cdot 0 + 2 \cdot 1 = 2,(AB)21=34+(1)5=7,(AB)_{21} = 3 \cdot 4 + (-1) \cdot 5 = 7,(AB)22=30+(1)1=1.(AB)_{22} = 3 \cdot 0 + (-1) \cdot 1 = -1.

因此

AB=[14271].AB = \begin{bmatrix} 14 & 2 \\ 7 & -1 \end{bmatrix}.

矩陣乘向量就是方程組語言

x 是列向量,那麼 Ax 只是矩陣乘法的特例,但它剛好把線性方程組的左 邊全部打包起來。

A=[121315],x=[x1x2x3],A = \begin{bmatrix} 1 & 2 & -1 \\ 3 & -1 & 5 \end{bmatrix}, \qquad x = \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix},

Ax=[x1+2x2x33x1x2+5x3].Ax = \begin{bmatrix} x_1 + 2x_2 - x_3 \\ 3x_1 - x_2 + 5x_3 \end{bmatrix}.

所以 Ax=bAx = b 並不是純粹縮寫,而是把整個方程組寫成一個矩陣乘積。

單位矩陣是刻意「甚麼也不改變」的矩陣

定義

單位矩陣

對每個正整數 nInI_n 表示 n×nn \times n 單位矩陣:主對角線上全是 1, 其餘位置全是 0

例如

I2=[1001],I3=[100010001].I_2 = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}, \qquad I_3 = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}.

單位矩陣之所以重要,是因為它對任何大小相容的矩陣都不起改變作用:

AIn=A,ImA=A.AI_n = A, \qquad I_m A = A.

例題

為甚麼乘上單位矩陣不會改變矩陣

A=[2143],A = \begin{bmatrix} 2 & -1 \\ 4 & 3 \end{bmatrix},

AI2=[2143][1001]=[2143].AI_2 = \begin{bmatrix} 2 & -1 \\ 4 & 3 \end{bmatrix} \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} = \begin{bmatrix} 2 & -1 \\ 4 & 3 \end{bmatrix}.

因為 I2I_2 的第一列會抽出 AA 的第一列,第二列會抽出 AA 的第二列。

這正是往後定義逆矩陣的原因:若 A1A^{-1} 存在,就要求 AA1=IAA^{-1} = I

乘法一般不交換

線性代數最早令學生不習慣的地方之一,就是

ABBAAB \ne BA

一般並不成立。

有時兩個乘積都定義,但結果不同;有時其中一個有定義,另一個根本未定義。 所以次序同時影響「能不能做」與「做出來是甚麼」。

下面的圖可以幫你直接看到:一個輸出元素,是如何由一行與一列構成的。

邊讀邊試

跟著看一格矩陣乘法

互動工具會在你改變 A 與 B 的元素時,即時更新 AB 的每一格。

結果

89
34

8 = 1×2 + 2×3

用列觀點去讀乘積

除咗逐格計算之外,矩陣乘法仲有另一個非常重要嘅讀法。

如果將 BB 嘅列寫成

B=[b1 b2  bp],B = [b_1\ b_2\ \cdots\ b_p],

咁就有

AB=[Ab1 Ab2  Abp].AB = [Ab_1\ Ab_2\ \cdots\ Ab_p].

即係話,乘積嘅每一列,都可以理解成 AA 乘上 BB 嘅對應列向量。

矩陣乘法其實表示複合

矩陣乘法唔係隨手規定出嚟嘅公式,而係用嚟表達線性映射複合嘅規則。

如果向量 x 先被送去 Bx,再將結果送去 A(Bx),咁整體作用就係

(AB)x.(AB)x.

所以內側大小一定要吻合,因為第一個變換嘅輸出,必須係第二個變換可以接收 嘅輸入。

定理

結合律對應重複複合

只要相關乘積有定義,就有

A(BC)=(AB)C.A(BC) = (AB)C.

所以一串矩陣乘積可以改變分組方式,而唔改變最後嘅線性變換。

標準基向量解釋點解列觀點咁自然

RnR^n 入面,eke_k 係第 k 個位置等於 1、其餘位置都係 0 嘅向量。 如果 AAm×nm \times n 矩陣,咁 AekAe_k 就正正係 AA 嘅第 k 列。

因此單位矩陣一啲都唔神秘。InI_n 嘅各列就係 e1,e2,,ene_1, e_2, \ldots, e_n,所以 右乘 InI_n,其實就係逐列將 AA 自己原封不動咁重建出嚟。

同一個 sanity check 亦適用於零矩陣。如果右邊矩陣每一列都係零向量,咁乘積 嘅每一列都會變成零向量,所以任何大小相容嘅 A0 都一定係零矩陣。

最先要記住的代數法則

當乘法有定義之後,下一個問題就係:佢同你已經熟悉的其他矩陣運算如何配合。

只要大小相容,矩陣乘法滿足

A(B+C)=AB+AC,(A+B)C=AC+BC,A(B + C) = AB + AC, \qquad (A + B)C = AC + BC,

而純量亦可以搬進搬出:

(cA)B=c(AB)=A(cB).(cA)B = c(AB) = A(cB).

零矩陣係最簡單的 sanity check。若 0 係大小相容的零矩陣,便有

A0=0,0A=0.A0 = 0, \qquad 0A = 0.

原因係:行乘列時只要其中一邊全部是零,所有輸出元素都只會係零。

呢幾條法則雖然基本,但往後講逆矩陣、block 計算和更長的乘積推理時, 都會默默用到。如果唔將佢哋明確掌握,後面的大計算就會好難核對。

從練習題看出主要陷阱

矩陣代數的 assignment 題通常不只是測試算術。當乘積裏面出現未知元素時, 題目往往同時要求你讀懂大小、知道哪一行和哪一列決定某個輸出元素,並記得 矩陣因子通常不能互相調換。

例題

由部分已知乘積反推出未知數

A=[12131021],B=[ab11ba12].A = \begin{bmatrix} 1 & 2 & 1 & 3 \\ 1 & 0 & 2 & 1 \end{bmatrix}, \qquad B = \begin{bmatrix} a & b \\ 1 & 1 \\ b & a \\ 1 & 2 \end{bmatrix}.

假設

AB=[1c3d].AB = \begin{bmatrix} 1 & c \\ 3 & d \end{bmatrix}.

乘積有定義,因為 AA2×42 \times 4BB4×24 \times 2,所以 AB 必定是 2×22 \times 2。只計算需要比較的元素,可得

AB=[a+b+5a+b+8a+2b+12a+b+2].AB = \begin{bmatrix} a+b+5 & a+b+8 \\ a+2b+1 & 2a+b+2 \end{bmatrix}.

把第一列與已知矩陣比較,得到

a+b+5=1,a+2b+1=3.a+b+5=1, \qquad a+2b+1=3.

因此

a+b=4,a+2b=2.a+b=-4, \qquad a+2b=2.

第二條減第一條得到 b=6b=6,再代入得到 a=10a=-10。餘下元素是

c=a+b+8=4,d=2a+b+2=12.c=a+b+8=4, \qquad d=2a+b+2=-12.

這類題目的重點,不是把所有元素都盲目乘出來,而是抽出已知乘積元素所強制 的少數方程。

例題

展開乘積時不要假設矩陣可交換

AABB 是同大小方陣。則

(5AB)(2A+3B)=5A(2A+3B)B(2A+3B).(5A-B)(2A+3B) = 5A(2A+3B)-B(2A+3B).

繼續分配右邊因子:

5A(2A+3B)B(2A+3B)=10A2+15AB2BA3B2.5A(2A+3B)-B(2A+3B) =10A^2+15AB-2BA-3B^2.

中間兩項是 15AB2BA-2BA。除非已知 AB=BAAB=BA,否則不能把它們合併成 13AB

同一個警告亦解釋了常見錯誤:

(A+B)(AB)=A2AB+BAB2.(A+B)(A-B) =A^2-AB+BA-B^2.

只有在額外知道 AB=BAAB=BA 時,這才等於 A2B2A^2-B^2。實數代數會遮住這個問題, 因為實數乘法可交換;矩陣代數不會。

定理

下三角矩陣在乘法下封閉

一個 3×33 \times 3 下三角矩陣具有以下形狀:

[000].\begin{bmatrix} * & 0 & 0 \\ * & * & 0 \\ * & * & * \end{bmatrix}.

AABB 都是 3×33 \times 3 下三角矩陣,則 AB 仍然是下三角矩陣。

可以用一次明確計算看出原因。寫

A=[a100b1c10d1e1f1],B=[a200b2c20d2e2f2].A = \begin{bmatrix} a_1 & 0 & 0 \\ b_1 & c_1 & 0 \\ d_1 & e_1 & f_1 \end{bmatrix}, \qquad B = \begin{bmatrix} a_2 & 0 & 0 \\ b_2 & c_2 & 0 \\ d_2 & e_2 & f_2 \end{bmatrix}.

AB=[a1a200b1a2+c1b2c1c20d1a2+e1b2+f1d2e1c2+f1e2f1f2].AB = \begin{bmatrix} a_1a_2 & 0 & 0 \\ b_1a_2+c_1b_2 & c_1c_2 & 0 \\ d_1a_2+e_1b_2+f_1d_2 & e_1c_2+f_1e_2 & f_1f_2 \end{bmatrix}.

對角線上方的元素保持為零,因為那些行乘列的和式中,每一項都會被左邊或右 邊其中一個上方零項殺掉。這是一個「形狀性質」被矩陣乘法保留的好例子。

例題

零乘積不代表其中一個因子必定為零

A=[11],B=[11].A = \begin{bmatrix} 1 & -1 \end{bmatrix}, \qquad B = \begin{bmatrix} 1 \\ 1 \end{bmatrix}.

兩個矩陣都不是零矩陣,但

AB=[11+(1)1]=[0].AB = \begin{bmatrix} 1 \cdot 1 + (-1) \cdot 1 \end{bmatrix} = \begin{bmatrix} 0 \end{bmatrix}.

所以矩陣乘法同實數乘法不同:AB=0AB = 0 並不推出 A=0A = 0B=0B = 0

定理

單位矩陣是唯一的

如果 EE 係一個 n×nn \times n 矩陣,而且對每個相容的 n×nn \times n 矩陣 AA 都滿足

EA=AandAE=A,EA = A \qquad \text{and} \qquad AE = A,

咁就一定有 E=InE = I_n

證明

點解唔可能存在第二個單位矩陣

常見錯誤

常見錯誤

矩陣乘法不是逐項相乘

(AB)ik(AB)_{ik} 不是 aikbika_{ik}b_{ik}。它來自 AA 的第 i 行與 BB 的第 k 列。

常見錯誤

一個方向可乘,不代表反方向也可乘

AA2×32 \times 3BB3×43 \times 4,則 AB 有定義,但 BA 沒有。不要自動把順序反過來。

常見錯誤

列觀點是看右邊因子的列

如果 B=[b1 b2]B=[b_1\ b_2],則 AB=[Ab1 Ab2]AB=[Ab_1\ Ab_2]。乘積的各列是 AA 的列的線性 組合,而權重來自 BB 的對應列。不要寫成 AB=[a1b1 a2b2]AB=[a_1b_1\ a_2b_2];這並不 符合矩陣乘法的定義。

常見錯誤

二項式公式需要可交換假設

公式 (A+B)2=A2+2AB+B2(A+B)^2=A^2+2AB+B^2 對矩陣不是自動成立。真正展開是

(A+B)2=A2+AB+BA+B2.(A+B)^2=A^2+AB+BA+B^2.

只有在 AB=BAAB=BA 時,才可以把中間兩項合併。

快速檢查

快速檢查

AA2×32 × 3BB3×53 × 5,那麼 AB 的大小是甚麼?

先檢查內側大小,再讀外側大小。

解答

答案

快速檢查

把一個大小相容的矩陣乘上 InI_n,會發生甚麼?

用一句話回答。

解答

答案

快速檢查

如果 BB 嘅列向量係 b1b_1b2b_2,點樣讀 AB 嘅各列?

用列觀點回答。

解答

答案

快速檢查

展開 (5AB)(2A+3B)(5A-B)(2A+3B) 時,BA 的係數是多少?

請把 ABBA 當作不同項處理。

解答

答案

練習

快速檢查

為甚麼 Ax=0Ax = 0 不論 AA 是甚麼,都至少有一個解?

x 看成列向量來回答。

解答

引導解答

快速檢查

點解有時 AB 有定義,但 BA 卻冇定義?

請用內側大小條件作答。

解答

引導解答

快速檢查

AABB 為上面含未知數的 worked example 中的矩陣。若 AB 的第一列是 [1,3]T[1,3]^T,求 ab

只使用第一列給出的方程。

解答

引導解答

快速檢查

為甚麼兩個 3×33 × 3 下三角矩陣的乘積仍是下三角矩陣?

不需要把所有元素乘出來;請解釋對角線上方的元素為何保持為零。

解答

引導解答

相關筆記

本節建立在 2.1 矩陣基礎 之上。 下一節可讀 3.2 轉置與特殊矩陣, 或直接跳到 5.1 可逆矩陣

本節掌握 checkpoint

要完成這一節 checkpoint,需要把每一題答對。 答對進度: 0%.

技能點: matrix-multiplication, dimensions

若 A 是 2×3 而 B 是 3×4,AB 的大小是甚麼?

已用嘗試次數: 0

剩餘嘗試次數: 不限嘗試次數

預覽不會消耗嘗試次數。

提交會記錄一次正式評分嘗試。

技能點: matrix-multiplication, row-by-column

設 A = [[1,2],[3,4]]、B = [[0,5],[1,-1]]。填空:AB 的 (1,2) 元素是 ____。

已用嘗試次數: 0

剩餘嘗試次數: 不限嘗試次數

預覽不會消耗嘗試次數。

提交會記錄一次正式評分嘗試。

輸入格式提示: 請輸入一個純量。

技能點: identity-matrix, matrix-multiplication

哪一項最能描述單位矩陣的作用?

已用嘗試次數: 0

剩餘嘗試次數: 不限嘗試次數

預覽不會消耗嘗試次數。

提交會記錄一次正式評分嘗試。

技能點: matrix-multiplication, parameter-recovery, row-by-column

設 A = [[1,2,1,3],[1,0,2,1]],B = [[a,b],[1,1],[b,a],[1,2]]。若 AB 的第一列是 [1,3]^T,填空:b = ____。

已用嘗試次數: 0

剩餘嘗試次數: 不限嘗試次數

預覽不會消耗嘗試次數。

提交會記錄一次正式評分嘗試。

輸入格式提示: 請輸入一個純量。

技能點: matrix-multiplication, noncommutative-algebra, expansion

對同大小方陣 A、B,下列哪個展開式必定正確?

已用嘗試次數: 0

剩餘嘗試次數: 不限嘗試次數

預覽不會消耗嘗試次數。

提交會記錄一次正式評分嘗試。

本單元重點詞彙

Premium learning add-ons

Core notes stay free. Advanced exercises, video explanations, and premium exports are available through paid plans.