矩陣
矩陣是什麼?
- Matrix (矩陣) 是什麼? 把一堆數字放在一起,
整整齊齊地排成一個矩形, 就成為一個 matrix.
- 直行橫列: 矩陣的每一橫排叫做一 列 (row),
最上面那排叫做第一列; 每一直排叫做一 行 column,
最左邊那排叫做第一行.
- 不要害怕英文: 英文科技書籍會很難讀嗎? 把專有名詞去掉後,
大部分的科技原文書內的英文程度大約只有國中程度 (數學類尤然);
而專有名詞只是一個空洞的符號, 用英文學不會比用中文學困難.
- 描述 matrix 大小時, 先講高 (有多少 rows?) 後講寬 (有多少
columns?). 同樣地, 指名 matrix 內元素時, 先講 row 再講 column.
- 寬度只有一個 column 的 matrix (廋高型) 叫做 column vector
行向量; 高度只有一個 row 的 matrix (寬扁型) 叫做 row
vector 列向量.
- 長寬相等的矩陣叫做 方陣 square matrix.
矩陣運算
- 兩 matrices 若同寬且同高則可相加減 -- 對應位置的元素相加減,
產生一個與原 matrices 相同大小的新 matrix.
- Matrix 與單純的一個數字 (稱為 scalar 純量) 可以相乘,
效果是每個元素一起放大 (或一起縮小), 產生一個與原 matrix
相同大小的新 matrix.
- 簡單的 matrix 乘法: 若列向量 A=[x1,x2,...,xn] 的寬度與行向量
B=[y1;y2;...;yn] 的高度一樣, 則兩 matrices 可相乘: A * B = x1*x2 +
x2*y2 + ... + xn*yn. 注意: 結果是一個單獨的數字! (一個純量)
(看圖比較好記.)
- 一般的 matrix 乘法: A 寬必須同 B 高才可算 C = A * B, 且結果 C
與 A 同高, 與 B 同寬. C 的第 i 列第 j 行元素, 為 A 的第 i 列向量與
B 的第 j 行向量之乘積: C[i;j] = A[i;] * B[;j].
- Sigma 和 Pi 都是 for 迴圈. 不要害怕數學符號,
它只是用來幫忙做嚴格証明的工具; 初學者應多注意直覺解釋.
- 將大小為 m*n 的矩陣 A 沿著左上到右下的 45 度線翻轉過來, 所成的
n*m 矩陣稱為 transpose of A (A 的轉置矩陣), 記為
AT (但是為了文字瀏覽器閱讀方便, 本講義用 rlab 的記法:
A', sorry!)
特殊矩陣
- zero matrix (0 矩陣): 所有元素均為 0. 記為 O.
通常把它的大小寫成下註標, 因為指定大小的 0 矩陣就只有那麼一個.
- diagonal matrix (對角方陣): 對角線之外的所有元素均 0
的方陣
- identity matrix (單位方陣): 對角線上所有元素均為 1 的對角方陣.
記為 I. 通常把它的大小寫成下註標,
因為指定大小的單位方陣就只有那麼一個. 在矩陣的世界中, 單位矩陣扮演
"1" 這個數字的角色. 想想看, 不論矩陣 A 的內容如何, A*I 是多少? I*A
又是多少? (假設 A 的大小與 I 正好可相乘)
- symmetric matrix (對稱方陣): 沿著左上到右下的 45
度線對稱的方陣. 亦即滿足 A = A' 的方陣.
反矩陣
- 注意: A * B 與 B * A 通常不相等 (請自己舉例!); 但偶爾相等,
例如兩者皆為 diagonal matrices 時, 又例如 A = [1,2;1,1]; B =
[-2,4;2,-2].
- 若 A 與 B 皆為 n*n 方陣, 且 A*B = B*A = I, 則稱 A 與 B 互為
inverse 反矩陣. 注意這個定義馬上帶來兩個問題: (a)
每個方陣都有反矩陣嗎? (existence) (b) 一個方陣 A
可不可能與好幾個方陣 B1, B2, B3, ... 同時互為反矩陣?
(uniqueness)
- Q: 反矩陣的角色像是數字世界的什麼?
- 預告: (a) 並非每個方陣都有反矩陣. 如果 A 具有反矩陣, 我們說 A
是 invertible 或 non-singular; 若否, 則說 A 是
non-invertible 或 singular. (b) 如果 A
具有反矩陣, 則反矩陣只有一個. 所以我們可以放心大膽地用 "A 的反矩陣"
這樣的詞彙, 不用擔心會有好幾個滿足定義的 B1, B2, B3, ... 同時答
"有"! (數學家對於用詞是非常謹慎的,
通常在定義之後馬上就討論一個相關的詞可不可以用.) A 的反矩陣記為
A-1. (但是為了文字瀏覽器閱讀方便, 本講義寫成 inv(A)
sorry!)
- 為什麼要定義這些奇怪 (但並不困難) 的東西? 它讓我們可以把很囉嗦
(但並不困難) 的方程組用很簡潔的符號表達出來.