Evanalysis
3.1有來源支持嵌入式互動

3.1 矩陣乘法與單位矩陣

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

筆記系列

MATH1030:線性代數 I

以嚴謹方式整理的線性代數筆記,涵蓋方程組、矩陣、結構與證明;互動只在真正有助理解數學時使用。

章節 1

方程組

學習把方程讀成完整的解集。

章節 2

矩陣與消元

建立矩陣直覺,並有目的地使用行化簡。

章節 3

矩陣代數

矩陣乘法、轉置與結構化矩陣記號。

章節 4

解的結構

齊次方程組、零空間與完整解集的結構。

章節 5

可逆性

理解甚麼情況下矩陣可以被反轉,以及這件事的重要性。

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

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

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

定義

矩陣乘積何時有定義

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

常見錯誤

常見錯誤

矩陣乘法不是逐項相乘

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

常見錯誤

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

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

快速檢查

快速檢查

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

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

解答

答案

快速檢查

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

用一句話回答。

解答

答案

練習

快速檢查

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

x 看成列向量來回答。

解答

引導解答

相關筆記

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

本單元重點詞彙