1. 矩陣范數
我們怎么來衡量一個矩陣的大小呢?針對一個向量,它的長度是 \(||\boldsymbol x||\)。針對一個矩陣,它的范數是 \(||A||\)。有時候我們會用向量的范數來替代長度這個說法,但對於矩陣我們只說范數。有很多方式來定義矩陣的范數,我們來看看所有范數的的要求然后選擇其中一個。
Frobenius 對矩陣中的所有元素進行平方 \(|a_{ij}|^2\) 再相加,然后 \(||A||_F\) 就是它的平方根。這就像把矩陣看作是一個很長的有 \(n^2\) 個元素的向量,這有時候會很有用,但這里我們不選擇它。
向量范數滿足三角不等式,即 $||\boldsymbol x+\boldsymbol y|| $ 不大於 $||\boldsymbol x|| + ||\boldsymbol y|| $, \(2\boldsymbol x\) 或者 \(-2\boldsymbol x\) 的長度變為兩倍。同樣的規則也應用於矩陣的范數:
第二個對矩陣范數的要求是新的,因為矩陣可以相乘。范數 \(||A||\) 控制着從 \(\boldsymbol x\) 到 \(A\boldsymbol x\) 和從 \(A\) 到\(B\) 的增長。
根據此,我們可以這樣定義矩陣的范數:
恆等矩陣的范數為 1,針對一個正交矩陣,我們有 \(||Q\boldsymbol x||=||\boldsymbol x||\),所以正交矩陣的范數也為 1。
針對正定的對稱矩陣,\(||A||=\lambda_{max}(A)\)。
將矩陣分解成 \(A=Q\Lambda Q^T\),左右兩邊的正交矩陣保持向量的長度不變,因此 \(||A\boldsymbol x||/||\boldsymbol x||\) 的最大值就是對角陣中的最大特征值。對於一個對稱矩陣,我們仍然可以得到上面的分解,只不過此時的特征值不能保證一定是正數,矩陣的范數變為了特征值絕對值的最大值。
對於不對稱的矩陣,它的特征值不能衡量矩陣真正的大小,范數可以比所有特征值都大。
對於上面的例子,\(\boldsymbol x=(0, 1)\) 是對稱矩陣 \(A^TA\) 的特征向量,事實上矩陣的范數是由 \(A^TA\) 的最大特征值決定的。
矩陣的范數是 \(A^TA\) 最大特征值的平方根,也就是矩陣的最大奇異值。
2. 條件數
有些系統對誤差很敏感,有些則不是那么敏感,對誤差的靈敏度我們用條件數來衡量。
原始的方程為 \(A\boldsymbol x=\boldsymbol b\),假設方程右邊由於測量誤差被改變為了 \(\boldsymbol b+\Delta \boldsymbol b\),那么我們的解就變成了 \(\boldsymbol x+\Delta \boldsymbol x\),我們的目標是估計 \(\Delta \boldsymbol b\) 是怎么影響 \(\Delta \boldsymbol x\) 的。
如果 \(A^{-1}\) 很大的話,此時矩陣接近於奇異,\(\Delta \boldsymbol x\) 就會很大。\(\Delta \boldsymbol x\) 還會變得特別大如果 \(\Delta \boldsymbol b\) 在錯誤的方向,因為它會被 \(A^{-1}\) 放大。最大的誤差為 \(||\Delta \boldsymbol x||=||A^{-1}|| \space ||\Delta \boldsymbol b||\)。
但這樣會有一個問題,當我們改變 \(A\) 的話,方程的解 \(\boldsymbol x\) 和 \(\Delta \boldsymbol x\) 都會同時改變,相對誤差 \(||\Delta \boldsymbol x|| / ||\boldsymbol x||\) 卻保持不變。事實上,應該是解 \(\boldsymbol x\) 的相對誤差和 \(\boldsymbol b\) 的誤差相比較,條件數 \(c=||A|| \space ||A^{-1}||\) 衡量了方程 \(A\boldsymbol x=\boldsymbol b\) 的靈敏度。
- 證明
(1) 式和 (2) 式相乘,可得,
上式兩邊同時除以 \(||\boldsymbol b|| \space ||\boldsymbol x||\) 可得,
同理可得,
此外,對於正定矩陣,條件數來自於它的特征值。
獲取更多精彩,請關注「seniusen」!