当前位置:文档之家› 2.6 条件数与病态方程组

2.6 条件数与病态方程组

注: 仅由 b引起的解的相对误差限可大致认为是 原始扰动的相对误差的倍数,倍数近似等于条件数。
例如: Hilbert矩阵就是一个著名的病态矩阵
1
1
2 1
2
1
1
3
4
1
n
1
Hn
1
n
3
1
( n 1)
n
1
( n 1)
4
1
( n 2)
6
1
8
对 称 正 定 矩 阵
(2n 1)
10
cond1 ( H ) cond2 ( H ) cond ( H )
2.6.2 矩阵的预处理
常用的几种判定方程组为病态的经验方法 当 det( A) 相对来说很小时,或者矩阵A 的某些
行(列)近似线性相关时,可能为病态;
矩阵在采用选主元消去法求解方程组时,在消
元过程中出现很小的主元,可能为病态;
解方程组得到了一个很大的解,或者特征值相差大
数量级,可能为病态;
当系数矩阵的元素间数量级相差很大,且无一定
规则时,可能为病态。
求解病态方程组时,常用的几种处理原则 采用高精度的算术运算; 采用预处理方法;
Ax b PAQQ x Pb Ax b
其中
1
A PAQ; x Q x; b Pb
1
可逆矩阵P 和 Q的选择要求满足:
cond ( PAQ )
cond ( A)
采用某些特殊的数值方法求解; 重新寻找出现病态的原因,改变原问题的提法。
1 4 3 T 精确解为 x ( 2 10) 0.0001 0 0.0002
上例说明该方程组的解对初始元素的扰动非常敏感。 设方程组为
Ax b
系数矩阵 A 和常数方程组为
( A A) x (b b)
Def 2.6设 A R 为可逆阵,则称 ( A) A A 为矩阵 A(或者相应方程组)的条件数.
n n
1
若矩阵范数取2-范数,则得到谱条件数:
2 ( A) A
2
A
1 2
若矩阵范数取1-范数,则得到1-条件数:
若矩阵范数取 -范数,则得到 -条件数
1 ( A) A 1 A
1 1
( A) A A
1

定理 设 A R 为可逆阵,x 和 x x 分别满 足方程组 Ax b 和 ( A A)( x x ) b b
n n
其中 b 则
0 ,且 A
满足
A
1
A 1
|| x || || x ||
§2.6 条件数与病态方程组
2.6.1 矩阵的条件数
初始数据误差和方程组的近似解的误差之间关系
例1 考察方程组:
精确解为

1 x1 4 3.0001 1 x 4.0001 2 3
T
x (1 1)
设方程组存在扰动
1 x1 4 3 2.9999 1 x 4.0002 2
|| A || || b || ( A) || A || || A || || b || 1 ( A) || A ||
其中

为满足条件
I 1 的矩阵范数.
推论(补充)
在上述定理的条件下,
如果 A 0; b 0 ,则
x b ( A) x b
28375 15514 28375
2.9E+7 1. 5E+7 2.9E+7
3.39E+10 3.54E+13 1.53E+10 1.60E+13 3.39E+10 3.54E+13
若A为8阶Hilbert矩阵,解线性方程组 Ax=b, 假设真实解为x=[1,1,1,1,1,1,1,1]’
• • • • • • • • • • • • for i=1:8 for j=1:8 A(i,j)=1/(i+j-1); end end >>cond(A) ans= 1.5258e+010 >>xe=[1,1,1,1,1,1,1,1]’; >>b=A*xe; bd = b + 0.001*randn(8,1); xv = inv(A)*bd
相关主题