線性組合 & 向量乘積 & 特殊矩陣 (Linear Combinations, Matrix–Vector Products, and Special Matrices) 本系列文章內容參考自經典教材 Elementary Linear Algebra (Pearson New International Edition) 。本文對應章節:Ch1-2 Linear Combinations, Matrix–Vector Products, and Special Matrices 。
線性組合 (Linear Combination)
給定向量 u 1 , u 2 , … , u k \mathbf{u}_1, \mathbf{u}_2, \ldots, \mathbf{u}_k u 1 , u 2 , … , u k 與純量 c 1 , c 2 , … , c k c_1, c_2, \ldots, c_k c 1 , c 2 , … , c k ,則向量
c 1 u 1 + c 2 u 2 + ⋯ + c k u k c_1 \mathbf{u}_1 + c_2 \mathbf{u}_2 + \cdots + c_k \mathbf{u}_k c 1 u 1 + c 2 u 2 + ⋯ + c k u k
稱為 u 1 , u 2 , … , u k \mathbf{u}_1, \mathbf{u}_2, \ldots, \mathbf{u}_k u 1 , u 2 , … , u k 的一個線性組合 (Linear Combination) 。其中 c 1 , c 2 , … , c k c_1, c_2, \ldots, c_k c 1 , c 2 , … , c k 稱為該線性組合的係數 (Coefficients) 。
範例 :
[ 2 8 ] = − 3 [ 1 1 ] + 4 [ 1 3 ] + 1 [ 1 − 1 ] \begin{bmatrix} 2 \\ 8 \end{bmatrix} = \colorbox{yellow}{$-3$} \begin{bmatrix} 1 \\ 1 \end{bmatrix} + \colorbox{yellow}{$4$} \begin{bmatrix} 1 \\ 3 \end{bmatrix} + \colorbox{yellow}{$1$} \begin{bmatrix} 1 \\ -1 \end{bmatrix} [ 2 8 ] = − 3 [ 1 1 ] + 4 [ 1 3 ] + 1 [ 1 − 1 ]
此處係數為 { − 3 , 4 , 1 } \{-3, 4, 1\} { − 3 , 4 , 1 } 。
線性組合的幾何意義
在 R 2 \mathbb{R}^2 R 2 中,兩個向量 u \mathbf{u} u 與 v \mathbf{v} v 的線性組合 a u + b v a\mathbf{u} + b\mathbf{v} a u + b v 可透過平行四邊形法則 (Parallelogram Rule) 來理解:
分別將 u \mathbf{u} u 縮放 a a a 倍得到 a u a\mathbf{u} a u ,將 v \mathbf{v} v 縮放 b b b 倍得到 b v b\mathbf{v} b v
以 a u a\mathbf{u} a u 與 b v b\mathbf{v} b v 為鄰邊構成平行四邊形
從原點指向平行四邊形對角頂點的向量,即為線性組合 a u + b v a\mathbf{u} + b\mathbf{v} a u + b v
如何求解線性組合的係數?
給定係數,計算線性組合的結果是容易的。但反過來——給定目標向量,求解對應的係數——則需要解一個線性方程組 (System of Linear Equations) 。
範例 :判斷 [ 4 − 1 ] \begin{bmatrix} 4 \\ -1 \end{bmatrix} [ 4 − 1 ] 是否為 [ 2 3 ] \begin{bmatrix} 2 \\ 3 \end{bmatrix} [ 2 3 ] 與 [ 3 1 ] \begin{bmatrix} 3 \\ 1 \end{bmatrix} [ 3 1 ] 的線性組合。
設 x 1 [ 2 3 ] + x 2 [ 3 1 ] = [ 4 − 1 ] x_1 \begin{bmatrix} 2 \\ 3 \end{bmatrix} + x_2 \begin{bmatrix} 3 \\ 1 \end{bmatrix} = \begin{bmatrix} 4 \\ -1 \end{bmatrix} x 1 [ 2 3 ] + x 2 [ 3 1 ] = [ 4 − 1 ] ,展開得:
{ 2 x 1 + 3 x 2 = 4 3 x 1 + x 2 = − 1 \begin{cases}
2x_1 + 3x_2 = 4 \\
3x_1 + x_2 = -1
\end{cases} { 2 x 1 + 3 x 2 = 4 3 x 1 + x 2 = − 1
解得 [ x 1 x 2 ] T = [ − 1 2 ] T [x_1 \; x_2]^T = [-1 \; 2]^T [ x 1 x 2 ] T = [ − 1 2 ] T ,因此該向量可以 表示為給定向量的線性組合。
線性方程組的解的情況
根據給定向量的幾何關係,線性方程組可能有三種解的情況:
解的情況 幾何意義 唯一解 (Unique Solution) 目標向量恰好落在給定向量張成的空間中,且表示方式唯一 無限多解 (Infinitely Many Solutions) 給定向量線性相依,目標向量可用多種方式表示 無解 (No Solution) 目標向量不在給定向量所能張成的空間中
非平行向量可以表示 R² 中的任意向量
若 u \mathbf{u} u 與 v \mathbf{v} v 是 R 2 \mathbb{R}^2 R 2 中的非平行向量 (Nonparallel Vectors) (即 u ≠ c v \mathbf{u} \neq c\mathbf{v} u = c v ,且兩者皆非零向量),則 R 2 \mathbb{R}^2 R 2 中的每一個向量 都可以被唯一地 表示為 u \mathbf{u} u 與 v \mathbf{v} v 的線性組合。換句話說,兩個非平行向量可以「涵蓋」整個二維平面。
當兩個向量 u \mathbf{u} u 與 v \mathbf{v} v 平行 (Parallel) 時(即 v = c u \mathbf{v} = c\mathbf{u} v = c u ,其中 c c c 為某純量),它們的所有線性組合只能產生落在同一條直線上的向量。
若目標向量 w \mathbf{w} w 不在這條直線上,則無論如何選擇係數,都無法將 w \mathbf{w} w 表示為 u \mathbf{u} u 與 v \mathbf{v} v 的線性組合——此時方程組無解 。
在上圖中,u \mathbf{u} u 與 v = 2 u \mathbf{v} = 2\mathbf{u} v = 2 u 平行,它們的所有線性組合只能產生虛線上的向量。目標向量 w \mathbf{w} w 不在該直線上,因此無法被表示為 u \mathbf{u} u 與 v \mathbf{v} v 的線性組合。
範例 :判斷 [ 3 4 ] \begin{bmatrix} 3 \\ 4 \end{bmatrix} [ 3 4 ] 是否為 [ 3 2 ] \begin{bmatrix} 3 \\ 2 \end{bmatrix} [ 3 2 ] 與 [ 6 4 ] \begin{bmatrix} 6 \\ 4 \end{bmatrix} [ 6 4 ] 的線性組合。
注意到 [ 6 4 ] = 2 [ 3 2 ] \begin{bmatrix} 6 \\ 4 \end{bmatrix} = 2 \begin{bmatrix} 3 \\ 2 \end{bmatrix} [ 6 4 ] = 2 [ 3 2 ] ,兩向量平行。設方程組:
{ 3 x 1 + 6 x 2 = 3 2 x 1 + 4 x 2 = 4 \begin{cases}
3x_1 + 6x_2 = 3 \\
2x_1 + 4x_2 = 4
\end{cases} { 3 x 1 + 6 x 2 = 3 2 x 1 + 4 x 2 = 4
第一式除以 3 得 x 1 + 2 x 2 = 1 x_1 + 2x_2 = 1 x 1 + 2 x 2 = 1 ;第二式除以 2 得 x 1 + 2 x 2 = 2 x_1 + 2x_2 = 2 x 1 + 2 x 2 = 2 。兩式矛盾,故無解 。
標準向量 (Standard Vectors)
在 R n \mathbb{R}^n R n 中,標準向量 (Standard Vectors) e 1 , e 2 , … , e n \mathbf{e}_1, \mathbf{e}_2, \ldots, \mathbf{e}_n e 1 , e 2 , … , e n 定義為:
e 1 = [ 1 0 ⋮ 0 ] , e 2 = [ 0 1 ⋮ 0 ] , … , e n = [ 0 0 ⋮ 1 ] \mathbf{e}_1 = \begin{bmatrix} 1 \\ 0 \\ \vdots \\ 0 \end{bmatrix}, \quad
\mathbf{e}_2 = \begin{bmatrix} 0 \\ 1 \\ \vdots \\ 0 \end{bmatrix}, \quad \ldots, \quad
\mathbf{e}_n = \begin{bmatrix} 0 \\ 0 \\ \vdots \\ 1 \end{bmatrix} e 1 = 1 0 ⋮ 0 , e 2 = 0 1 ⋮ 0 , … , e n = 0 0 ⋮ 1
其中 e i \mathbf{e}_i e i 的第 i i i 個分量為 1 1 1 ,其餘分量皆為 0 0 0 。
標準向量的重要性質
R n \mathbb{R}^n R n 中的任意向量 v \mathbf{v} v 都可以唯一地 表示為標準向量的線性組合:
v = [ v 1 v 2 ⋮ v n ] = v 1 e 1 + v 2 e 2 + ⋯ + v n e n \mathbf{v} = \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix} = v_1 \mathbf{e}_1 + v_2 \mathbf{e}_2 + \cdots + v_n \mathbf{e}_n v = v 1 v 2 ⋮ v n = v 1 e 1 + v 2 e 2 + ⋯ + v n e n
換句話說,只要知道一個向量的各個分量,就能用標準向量把它「拼」出來。這也意味著標準向量是 R n \mathbb{R}^n R n 中最基本、最自然的一組「建構單元」——在後續章節中,這種能夠表示空間中所有向量的向量組合,會被正式稱為基底 (Basis) 。
矩陣與向量乘積 (Matrix–Vector Product)
令 A A A 為 m × n m \times n m × n 矩陣,v \mathbf{v} v 為 n × 1 n \times 1 n × 1 向量。矩陣與向量乘積 (Matrix–Vector Product) A v A\mathbf{v} A v 定義為 A A A 的 column vectors 以 v \mathbf{v} v 的分量為係數的線性組合 :
A v = v 1 a 1 + v 2 a 2 + ⋯ + v n a n A\mathbf{v} = v_1 \mathbf{a}_1 + v_2 \mathbf{a}_2 + \cdots + v_n \mathbf{a}_n A v = v 1 a 1 + v 2 a 2 + ⋯ + v n a n
其中 a 1 , a 2 , … , a n \mathbf{a}_1, \mathbf{a}_2, \ldots, \mathbf{a}_n a 1 , a 2 , … , a n 為 A A A 的 column vectors,v 1 , v 2 , … , v n v_1, v_2, \ldots, v_n v 1 , v 2 , … , v n 為 v \mathbf{v} v 的分量。
等價地,可以寫成:
A v = [ a 1 a 2 ⋯ a n ] [ v 1 v 2 ⋮ v n ] A\mathbf{v} = \begin{bmatrix} \mathbf{a}_1 & \mathbf{a}_2 & \cdots & \mathbf{a}_n \end{bmatrix} \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix} A v = [ a 1 a 2 ⋯ a n ] v 1 v 2 ⋮ v n
可以將矩陣 A A A 想像成 n n n 個 column vectors 的集合,向量 v \mathbf{v} v 想像成 n n n 個係數。則 A v A\mathbf{v} A v 就是這 n n n 個 column vectors 的線性組合,其中第 i i i 個 column vector 的係數為 v i v_i v i 。
這個觀點在理解線性變換、column space 等概念時非常有用。
逐元素計算
矩陣向量乘積的第 i i i 個分量等於 A A A 的第 i i i 個 row 與 v \mathbf{v} v 的內積 :
( A v ) i = a i 1 v 1 + a i 2 v 2 + ⋯ + a i n v n = ∑ j = 1 n a i j v j (A\mathbf{v})_i = a_{i1}v_1 + a_{i2}v_2 + \cdots + a_{in}v_n = \sum_{j=1}^{n} a_{ij}v_j ( A v ) i = a i 1 v 1 + a i 2 v 2 + ⋯ + a in v n = j = 1 ∑ n a ij v j
範例 :
A v = [ 1 2 3 4 5 6 ] [ 7 8 ] = 7 [ 1 3 5 ] + 8 [ 2 4 6 ] = [ 7 21 35 ] + [ 16 32 48 ] = [ 23 53 83 ] A\mathbf{v} = \begin{bmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{bmatrix} \begin{bmatrix} 7 \\ 8 \end{bmatrix} = 7 \begin{bmatrix} 1 \\ 3 \\ 5 \end{bmatrix} + 8 \begin{bmatrix} 2 \\ 4 \\ 6 \end{bmatrix} = \begin{bmatrix} 7 \\ 21 \\ 35 \end{bmatrix} + \begin{bmatrix} 16 \\ 32 \\ 48 \end{bmatrix} = \begin{bmatrix} 23 \\ 53 \\ 83 \end{bmatrix} A v = 1 3 5 2 4 6 [ 7 8 ] = 7 1 3 5 + 8 2 4 6 = 7 21 35 + 16 32 48 = 23 53 83
基本性質
對於任意矩陣 A A A 與向量 v \mathbf{v} v :
A 0 = 0 A\mathbf{0} = \mathbf{0} A 0 = 0 (矩陣乘以零向量得零向量)
O v = 0 O\mathbf{v} = \mathbf{0} O v = 0 (零矩陣乘以任意向量得零向量)
單位矩陣 (Identity Matrix)
對於每個正整數 n n n ,n × n n \times n n × n 單位矩陣 (Identity Matrix) I n I_n I n 是以標準向量 e 1 , e 2 , … , e n \mathbf{e}_1, \mathbf{e}_2, \ldots, \mathbf{e}_n e 1 , e 2 , … , e n 為 column vectors 的方陣:
I 2 = [ 1 0 0 1 ] , I 3 = [ 1 0 0 0 1 0 0 0 1 ] I_2 = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}, \quad
I_3 = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} I 2 = [ 1 0 0 1 ] , I 3 = 1 0 0 0 1 0 0 0 1
核心性質
對於任意 v ∈ R n \mathbf{v} \in \mathbb{R}^n v ∈ R n :
I n v = v I_n \mathbf{v} = \mathbf{v} I n v = v
證明 :
I n v = v 1 e 1 + v 2 e 2 + ⋯ + v n e n = [ v 1 v 2 ⋮ v n ] = v I_n \mathbf{v} = v_1 \mathbf{e}_1 + v_2 \mathbf{e}_2 + \cdots + v_n \mathbf{e}_n = \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix} = \mathbf{v} I n v = v 1 e 1 + v 2 e 2 + ⋯ + v n e n = v 1 v 2 ⋮ v n = v
單位矩陣在矩陣乘法中扮演的角色,類似於數字 1 1 1 在實數乘法中的角色——它是乘法單位元素 。
隨機矩陣 (Stochastic Matrix)
一個方陣稱為隨機矩陣 (Stochastic Matrix) (或機率矩陣 ),若:
所有元素皆為非負數
每一 column 的元素和為 1 1 1
隨機矩陣常用於描述馬可夫鏈 (Markov Chain) 中的狀態轉移機率。
範例 :人口遷移模型
A = [ 0.85 0.03 0.15 0.97 ] A = \begin{bmatrix} 0.85 & 0.03 \\ 0.15 & 0.97 \end{bmatrix} A = [ 0.85 0.15 0.03 0.97 ]
此矩陣描述城市與郊區之間的人口遷移機率:
a 11 = 0.85 a_{11} = 0.85 a 11 = 0.85 :城市居民留在城市的機率
a 21 = 0.15 a_{21} = 0.15 a 21 = 0.15 :城市居民遷往郊區的機率
a 12 = 0.03 a_{12} = 0.03 a 12 = 0.03 :郊區居民遷往城市的機率
a 22 = 0.97 a_{22} = 0.97 a 22 = 0.97 :郊區居民留在郊區的機率
若當前人口分布為 p = [ 500 700 ] \mathbf{p} = \begin{bmatrix} 500 \\ 700 \end{bmatrix} p = [ 500 700 ] (千人),則下一年的人口分布為:
A p = [ 0.85 0.03 0.15 0.97 ] [ 500 700 ] = [ 446 754 ] A\mathbf{p} = \begin{bmatrix} 0.85 & 0.03 \\ 0.15 & 0.97 \end{bmatrix} \begin{bmatrix} 500 \\ 700 \end{bmatrix} = \begin{bmatrix} 446 \\ 754 \end{bmatrix} A p = [ 0.85 0.15 0.03 0.97 ] [ 500 700 ] = [ 446 754 ]
旋轉矩陣 (Rotation Matrix)
θ \theta θ -旋轉矩陣 (θ-Rotation Matrix) A θ A_\theta A θ 定義為:
A θ = [ cos θ − sin θ sin θ cos θ ] A_\theta = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} A θ = [ cos θ sin θ − sin θ cos θ ]
此矩陣將 R 2 \mathbb{R}^2 R 2 中的向量逆時針旋轉 θ \theta θ 角度。
推導過程
設原始點 P 0 = ( x 0 , y 0 ) P_0 = (x_0, y_0) P 0 = ( x 0 , y 0 ) 與原點的距離為 r r r ,與 x x x 軸的夾角為 α \alpha α 。則:
x 0 = r cos α , y 0 = r sin α x_0 = r\cos\alpha, \quad y_0 = r\sin\alpha x 0 = r cos α , y 0 = r sin α
將 P 0 P_0 P 0 逆時針旋轉 θ \theta θ 角度後得到 P 1 = ( x 1 , y 1 ) P_1 = (x_1, y_1) P 1 = ( x 1 , y 1 ) ,其與 x x x 軸的夾角為 α + θ \alpha + \theta α + θ :
x 1 = r cos ( α + θ ) = r ( cos α cos θ − sin α sin θ ) = ( r cos α ) cos θ − ( r sin α ) sin θ = x 0 cos θ − y 0 sin θ \begin{aligned}
x_1 &= r\cos(\alpha + \theta) = r(\cos\alpha\cos\theta - \sin\alpha\sin\theta) \\
&= (r\cos\alpha)\cos\theta - (r\sin\alpha)\sin\theta \\
&= x_0\cos\theta - y_0\sin\theta
\end{aligned} x 1 = r cos ( α + θ ) = r ( cos α cos θ − sin α sin θ ) = ( r cos α ) cos θ − ( r sin α ) sin θ = x 0 cos θ − y 0 sin θ
y 1 = r sin ( α + θ ) = r ( sin α cos θ + cos α sin θ ) = ( r sin α ) cos θ + ( r cos α ) sin θ = y 0 cos θ + x 0 sin θ \begin{aligned}
y_1 &= r\sin(\alpha + \theta) = r(\sin\alpha\cos\theta + \cos\alpha\sin\theta) \\
&= (r\sin\alpha)\cos\theta + (r\cos\alpha)\sin\theta \\
&= y_0\cos\theta + x_0\sin\theta
\end{aligned} y 1 = r sin ( α + θ ) = r ( sin α cos θ + cos α sin θ ) = ( r sin α ) cos θ + ( r cos α ) sin θ = y 0 cos θ + x 0 sin θ
整理成矩陣形式:
[ x 1 y 1 ] = [ cos θ − sin θ sin θ cos θ ] [ x 0 y 0 ] \begin{bmatrix} x_1 \\ y_1 \end{bmatrix} = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} \begin{bmatrix} x_0 \\ y_0 \end{bmatrix} [ x 1 y 1 ] = [ cos θ sin θ − sin θ cos θ ] [ x 0 y 0 ]
我個人覺得這個公式用以下方式記比較方便:
旋轉矩陣的兩個 column vectors,其實就是標準向量 ( 1 , 0 ) (1, 0) ( 1 , 0 ) 和 ( 0 , 1 ) (0, 1) ( 0 , 1 ) 各自旋轉 θ \theta θ 角度後的結果。
第一個 column :( 1 , 0 ) (1, 0) ( 1 , 0 ) 旋轉 θ \theta θ 後變成 ( cos θ , sin θ ) (\cos\theta, \sin\theta) ( cos θ , sin θ )
第二個 column :( 0 , 1 ) (0, 1) ( 0 , 1 ) 旋轉 θ \theta θ 後變成 ( − sin θ , cos θ ) (-\sin\theta, \cos\theta) ( − sin θ , cos θ )
把這兩個結果作為 column vectors 排列起來,就是旋轉矩陣:
A θ = [ cos θ − sin θ sin θ cos θ ] A_\theta = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} A θ = [ cos θ sin θ − sin θ cos θ ]
特殊角度的旋轉矩陣
角度 旋轉矩陣 θ = 0 ° \theta = 0° θ = 0° [ 1 0 0 1 ] = I 2 \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} = I_2 [ 1 0 0 1 ] = I 2 θ = 90 ° \theta = 90° θ = 90° [ 0 − 1 1 0 ] \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} [ 0 1 − 1 0 ] θ = 180 ° \theta = 180° θ = 180° [ − 1 0 0 − 1 ] \begin{bmatrix} -1 & 0 \\ 0 & -1 \end{bmatrix} [ − 1 0 0 − 1 ] θ = 270 ° \theta = 270° θ = 270° [ 0 1 − 1 0 ] \begin{bmatrix} 0 & 1 \\ -1 & 0 \end{bmatrix} [ 0 − 1 1 0 ]