Chapter 3 · 分解與譜論
多數方向都會被轉歪 — 但有些「特殊方向」只會被拉長或縮短,方向不變。那些是特徵向量,拉伸倍率是特徵值 。
點按鈕,或直接編輯下面的矩陣。
改一個格子,對角的鏡像 cell 會自動同步(保持對稱)。
第 i 欄是對應第 i 個特徵值的方向。對稱矩陣保證三欄互相正交。
當你把矩陣 作用在一個隨便挑的向量 上,大多數情況 跟 既不平行也不垂直,方向被轉歪。但對於某些特殊的方向,作用完之後新向量還是沿原方向,只是被拉長或縮短了:
滿足這個等式的 叫做特徵向量(eigenvector),對應的拉伸倍率 叫做特徵值(eigenvalue)。它們是矩陣 的「骨架」 — 一旦知道這組 ,整個 的行為就完全清楚了。
把單位球(每個方向長度都是 1 的「球」)丟給 ,得到一個橢球。橢球的主軸方向就是特徵向量,主軸長度就是特徵值。可以從畫面上的橢球看出 在做什麼。試試:
本頁限定對稱矩陣()。為什麼?因為對稱矩陣有兩個漂亮性質:
一般矩陣可能有複數特徵值或重根導致無法對角化(要用 Jordan form 補完)。對稱矩陣永遠可以對角化。
有了三個特徵向量 ,把它們當欄向量組合成基底矩陣 。然後在這個新基底下看 (呼叫一下 換基底 的公式):
對對稱矩陣, 是正交矩陣,所以 。整個式子化成:
意思是:「 等於先換到特徵向量基底()、再沿著新軸拉伸()、再換回標準基底()」。對角化讓很多事變簡單,例如 — 大矩陣的 n 次方變成「對 n 個數字取 n 次方」。
💡 演算法細節(給好奇的工程師)
這頁的特徵分解用 Jacobi rotation 迭代法:每次找最大的非對角元素,用一個 2D 旋轉把它變 0,重複到所有非對角元素都接近 0。30 步內收斂,誤差 < 10⁻¹⁰。實作在 MatrixMath.ts 的 jacobiEigenSymmetric3。