歡迎來到矩陣的世界!
在本章中,我們將一起探索矩陣(Matrices)。你可以將矩陣想像成一個「數學試算表」——它是一種將數字整理成行與列的工具,能讓我們一次過解決複雜的問題。矩陣是現代科技的基石;從電子遊戲中的電腦繪圖,到 Google 用來為搜尋結果排名的演算法,背後都少不了它的功勞。
如果起初覺得這些概念有點「天外來客」般的陌生,也不用擔心。我們將循序漸進,從基礎運算開始,一直深入到如何在 3D 空間中進行圖形變換!
1. 矩陣算術(基礎入門)
矩陣由其階(Order)(即大小)定義,寫作 行 \(\times\) 列。例如,一個 \(2 \times 3\) 的矩陣代表它有 2 行 3 列。
加法、減法與標量乘法
要進行矩陣的加減法,矩陣必須是可相容的(Conformable),簡單來說就是它們必須完全一樣大。你只需要將相同位置的數字進行對應的加減即可。
標量乘法(Scalar Multiplication)就更簡單了:只需將矩陣內的每一個數字,都乘以同一個外在的數(標量)即可。
矩陣乘法
兩個矩陣的乘法就比較特別了。不是簡單地把對應位置的數字相乘,而是要進行「行乘以列(Rows by Columns)」的運算。
相容規則:要將矩陣 \(A\) 與 \(B\) 相乘,\(A\) 的列數必須與 \(B\) 的行數相等。
記憶小撇步:如果把兩者的階寫在旁邊,中間的數字必須相同。例如,一個 \((2 \times \mathbf{3})\) 的矩陣可以乘以一個 \((\mathbf{3} \times 4)\) 的矩陣。
特殊矩陣
- 零矩陣(Zero Matrix,\(\mathbf{0}\)):所有元素皆為 0。將它加到任何矩陣中,原矩陣都不會改變。
- 單位矩陣(Identity Matrix,\(\mathbf{I}\)):矩陣中的「1」。它是一個主對角線(從左上到右下)為 1,其餘位置皆為 0 的方陣。將任何矩陣與 \(\mathbf{I}\) 相乘後,該矩陣保持不變:\(AI = A\)。
重點複習:請記住,在矩陣乘法中,順序非常重要!通常情況下,\(AB \neq BA\)。
2. 變換:用數學移動圖形
我們可以使用矩陣來移動圖表上的點和圖形,這稱為線性變換(Linear Transformation)。
二維變換
一個 \(2 \times 2\) 的矩陣可以表示反射、旋轉和放大縮小。我們只需找出「單位向量」\(\begin{pmatrix} 1 \\ 0 \end{pmatrix}\) 和 \(\begin{pmatrix} 0 \\ 1 \end{pmatrix}\) 變換後的位置,這些座標就會成為我們變換矩陣的行。
連續變換
如果你想對圖形進行反射,然後再進行旋轉,你需要將這些矩陣相乘。
注意:變換的應用順序是由右至左。如果 \(R\) 代表旋轉,\(S\) 代表縮放,那麼「先旋轉後縮放」寫作 \(SR\)。
三維變換
課程大綱將 3D 變換限制於:
- 在 \(x=0\)、\(y=0\) 或 \(z=0\) 平面上的反射。
- 繞 \(x\)、\(y\) 或 \(z\) 軸的旋轉。
不變點與不變線
- 不變點(Invariant Point):在變換後位置保持不變的點。在線性變換中,原點 \((0,0)\) 永遠是不變點。
- 不變線(Invariant Line):線上的每一個點在變換後依然落在這條直線上(儘管點本身可能會沿著線滑動)。
核心概念:變換其實就是一種利用矩陣乘法來「重新映射」空間的方法。
3. 行列式:比例因子
矩陣的行列式(Determinant),寫作 \(\det A\) 或 \(|A|\),是一個能告訴我們關於該矩陣許多資訊的單一數值。
計算行列式
- 對於 \(2 \times 2\) 矩陣 \(\begin{pmatrix} a & b \\ c & d \end{pmatrix}\),行列式為 \(ad - bc\)。
- 對於 \(3 \times 3\) 矩陣,我們使用「按行或列展開」的方法。這涉及將元素乘以較小的 \(2 \times 2\) 矩陣的行列式(餘子式,Minors)。
它代表什麼?
行列式是該變換的面積比例因子(二維情況)或體積比例因子(三維情況)。
你知道嗎?如果行列式是負數,代表該圖形在縮放的同時,還發生了反射或「翻轉」。
奇異矩陣(Singular Matrices)
如果 \(\det A = 0\),該矩陣稱為奇異矩陣。這意味著變換將圖形壓縮到了更低的維度(例如將二維正方形壓縮成一維線段)。奇異矩陣沒有反矩陣。
4. 反矩陣:反向操作
矩陣 \(A\) 的反矩陣(Inverse)**,寫作 \(A^{-1}\),就是一個能「撤銷」\(A\) 之變換的矩陣。
\(AA^{-1} = I\)。
求反矩陣的方法
- 對於 \(2 \times 2\) 矩陣:交換主對角線元素,改變其餘兩個元素的符號,最後除以行列式。
- 對於 \(3 \times 3\) 矩陣:這是一個較繁瑣的過程,涉及伴隨矩陣(Adjucate)與行列式的計算。
重點複習:你不能直接除以矩陣,我們改為乘以反矩陣。要解 \(AX = B\),我們使用 \(X = A^{-1}B\)。
5. 解聯立方程組
矩陣讓我們能夠高效地解決包含三個未知數(\(x, y, z\))的三元方程組。
我們將系統寫作 \(AX = B\),其中 \(A\) 是係數矩陣。如果 \(\det A \neq 0\),透過 \(X = A^{-1}B\) 即可得到唯一的解。
當解法失效時(幾何意義)
如果 \(\det A = 0\),方程組要麼是矛盾的(無解),要麼是相關的(無限多解)。從幾何學上來說,這代表了三個平面在 3D 空間中的互動方式:
- 唯一解:三個平面交於一點。
- 無解:平面可能形成一個三角柱,或者彼此平行。
- 無限多解:平面交於一條直線(稱為「平面束」),或三個平面重合。
常見錯誤:同學常忘記若 \(\det A = 0\),必須使用代入法或高斯消去法來確認失效的「原因」(究竟是平面束還是三角柱?)。
6. 特徵值與特徵向量
這聽起來很嚇人,但概念其實很優美。對於矩陣 \(A\),特徵向量(Eigenvector)**是指在變換過程中方向保持不變的特定方向。它只會被拉伸或壓縮,而這個縮放倍數稱為特徵值(Eigenvalue,\(\lambda\))。
特徵方程
要求特徵值,我們求解:\(\det(A - \lambda I) = 0\)。
這會給我們一個關於 \(\lambda\) 的多項式方程。得到 \(\lambda\) 後,將其代回 \((A - \lambda I)\mathbf{v} = 0\) 即可找到向量 \(\mathbf{v}\)。
對角化
如果一個矩陣擁有足夠多的特徵向量,我們能將它寫成「對角」形式:
\(\mathbf{M} = \mathbf{UDU}^{-1}\)
其中 \(\mathbf{D}\) 是由特徵值組成的對角矩陣,\(\mathbf{U}\) 是由特徵向量組成的矩陣。
為什麼要這樣做?這讓計算矩陣的乘方變得非常容易:\(\mathbf{M}^n = \mathbf{UD}^n\mathbf{U}^{-1}\)。你只需要將對角線上的數字各自進行 \(n\) 次方運算即可!
總結檢查清單
- 算術:你是否熟練「行乘以列」的乘法?
- 變換:你還記得變換順序是「由右至左」嗎?
- 行列式:你能計算 \(3 \times 3\) 行列式並利用行列運算將其因式分解嗎?
- 反矩陣:你清楚 \(3 \times 3\) 反矩陣的計算步驟嗎?
- 方程組:你能解釋為什麼三個平面可能沒有共同交點嗎?
- 特徵值:你能解特徵方程找到 \(\lambda\) 嗎?
如果覺得內容很多,不用擔心!矩陣是一項熟能生巧的技能。繼續練習繪製變換圖形並計算行列式,這些規律很快就會變得顯而易見。