-
條件數
鎖定
數值分析中,一個問題的條件數是該問題在數值計算中的容易程度的衡量,也就是該問題的適定性。一個低條件數的問題稱為良態的,而高條件數的問題稱為病態(或者説非良態)的。
[1]
- 中文名
- 條件數
- 外文名
- condition number
- 表達式
- C(A)=||A|| ||A^{-1}||(A為Ax=b的係數矩陣)
- 適用領域
- 數學,應用數學,計算數學
- 應用學科
- 數學
條件數定義
條件數矩陣條件數
例如,線性方程Ax=b的條件數給出了數值求解得到一個解 x有多不精確的一個上限。
[2]
條件數也會增大b中存在的誤差。這個放大的程度可以使得一個低條件數的系統(通常是件好事情)變得不精確而使得一個高條件數的系統(通常是件壞事情)變得精確,這取決於b的數據知道得多清楚。對於這個問題,條件數定義為
當然,這個定義依賴於範數的選取。
若A是正規矩陣則
若A是酉矩陣則
條件數其它條件數
通常,如果一個數值問題是適定的,它可以表達為一個函數 f映射它的數據(一個實數的m元組x)到它的解(一個實數的 n元組y)。
其中
是問題中的數據的偏差的某個合理的小數值。
如果 f也是可微的,這可以近似的表示為
條件數Matlab
cond(A,2)或cond(A):2範數
cond(A,inf):無窮範數
condest(A)用來計算方陣1範數條件數的下界 rcond(A)用來計算矩陣逆的條件數,數值接近1時為良好條件矩陣,接近0時為壞條件矩陣
條件數事實上表示了矩陣計算對於誤差的敏感性。對於線性方程組Ax=b,如果A的條件數大,b的微小改變就能引起解x較大的改變,數值穩定性差。如果A的條件數小,b有微小的改變,x的改變也很微小,數值穩定性好。它也可以表示b不變,而A有微小改變時,x的變化情況。
條件數舉例
比如線性方程組
〔1 2 [x = [4 3.999 1] y] 7.999] 的解是(x,y)=(2,1)
而 〔1 2 [x = [4.001 3.999 1] y] 7.998] 的解是(x,y)=(-3.999,4.000)