对 A x = b Ax=b Ax=b,如果A或者b有轻微的变动,会使得求解出的 x x x发生巨变,这种矩阵就是病态的
A
x
=
b
Ax=b
Ax=b 真实情况
A
(
Δ
x
+
x
)
=
Δ
b
+
b
A(\Delta x+x)=\Delta b+b
A(Δx+x)=Δb+b 代入误差的扰动情况
Δ
x
=
A
−
1
Δ
b
\Delta x=A^{-1}\Delta b
Δx=A−1Δb
取范数后有
∣
∣
Δ
x
∣
∣
≤
∣
∣
A
−
1
∣
∣
∣
∣
Δ
b
∣
∣
||\Delta x|| \le ||A^{-1}||||\Delta b||
∣∣Δx∣∣≤∣∣A−1∣∣∣∣Δb∣∣
∣
∣
Δ
b
∣
∣
≤
∣
∣
A
∣
∣
∣
∣
x
∣
∣
||\Delta b|| \le ||A||||x||
∣∣Δb∣∣≤∣∣A∣∣∣∣x∣∣
所以
∣ ∣ Δ x ∣ ∣ ∣ ∣ A ∣ ∣ ∣ ∣ x ∣ ∣ ≤ ∣ ∣ A − 1 ∣ ∣ ∣ ∣ Δ b ∣ ∣ ∣ ∣ A ∣ ∣ ∣ ∣ x ∣ ∣ ≤ ∣ ∣ A − 1 ∣ ∣ ∣ ∣ Δ b ∣ ∣ ∣ ∣ b ∣ ∣ \frac{||\Delta x||}{||A||||x||} \le \frac{||A^{-1}||||\Delta b||}{||A||||x||}\le\frac{||A^{-1}||||\Delta b||}{||b||} ∣∣A∣∣∣∣x∣∣∣∣Δx∣∣≤∣∣A∣∣∣∣x∣∣∣∣A−1∣∣∣∣Δb∣∣≤∣∣b∣∣∣∣A−1∣∣∣∣Δb∣∣
c
o
n
d
(
A
)
=
∣
∣
A
∣
∣
∗
∣
∣
A
−
1
∣
∣
cond(A)=||A|| *||A^{-1}||
cond(A)=∣∣A∣∣∗∣∣A−1∣∣记为A的条件数
它越小越好,||A||是A的范数
条件数过大,矩阵就是病态是
逆的求解比较复杂,也有一些经验性公式判断病态矩阵
- 消元中出现绝对值很小的主元
- A元素之间数量级差很大,且无规律
- A某些行列式近似线性相关
- 方程组的解向量中有绝对值很大的分量
迭代改善求解
Ax=b
先求一个
x
1
x_1
x1,然后代入
x
1
x_1
x1求b计算和真实b误差
r
r
r,再求解Ax=r,方法迭代更新
x
x
x