线性方程组的迭代法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方法3 采用近似解的迭代改善方式,逼近方程组的 精确解。
设x^是方程组Ax=b的近似解,则以其残余向量
r=b-Ax^为新的右端项的方程组:Ax=r ( *)
方程组(*)的解e作为近似解x^修正,得到原方程 组更好的近似解 x = x^+e
重复该过程,就可得到一个近似解序列,可以证明 该序列收敛于Ax=b的真解。具体内容可参见有关文 献。
计算方法三⑥
8/35
解线性方程组的所有直接方法比较适用于中小型 方程组.对高阶方程组,即使系数矩阵是稀疏的,但在计 算中很难保持稀疏性,因而有存储量大,程序复杂等不 足,这些不足之处可用迭代法来弥补解决.
计算方法三⑥
9/35
§3.6 迭代法
• 它的基本思想是将线性方程组 AX=b 化为 等价方程组

X=BX+f
• 再由此构造向量序列{X (k)}:

X(k+1)=BX (k)+f
• 若{X (k)}收敛至某个向量X *,则向量X *就是
所求方程组 AX=b 的准确解.
• 线性方程组的迭代法主要有Jocobi迭代法、 Seidel迭代法和超松弛(Sor)迭代法.
计算方法三⑥
10/35
一、Jacobi 迭代法
当cond(A)>>1,则方程组称为“病态”的;
当cond(A)较小时,则方程组称为“良态”的。 病态方程组的求解问题:
首先考虑怎样判断方程组是否属于病态方程组。 设方程组Ax=b的系数矩阵A非奇异计算A的条件数,是 判断病态方程组的可靠方法。但在实际问题中,当方程 组的规模较大时,计算条件数的工作量很大,甚至超过 了求解方程组的计算量。一般采用下列方式,初步进行 直观的判断。
计算方法三⑥
5/35
方法2 采用豫处理,降低矩阵A的条件数,以改善方 程组的病态程度。
例如当系数矩阵A元素的数量级差别很大时,可以对某些行或 列乘上适当的数,使得A的所有行或列按某种范数大体上有相 同的长度。我们称这种方法为行(列)均衡法。
例 设方程组
1 104 11
= x1
104
x2
2
考虑用均衡法改善它的条件数。


x1
x1
x2 10 x2 x2
化为等价于方程组: X=BX+f
2x3 2x3 5x3
11/35
7.2 8.3 4.2
x1

x2

x3
0.1x1 0.2x1
0.1x2 0.2x3 0.2x3
0.2x2
0.72 0.83 0.84
1/35

b
A1 A

b
解的相 对误差
常数项的 相对误差
系数矩阵的 相对误差

|| A1 || || A || A1 A
X

说明系数矩阵和常数项的相对误差 在 解中放大了||A-1|| ||A||倍。
计算方法三⑥
2/35
定义:设A非奇异,称||A-1|| ||A|| 为矩阵A的条件数, 记为Cond (A),即Cond (A)= ||A-1||||A||.
1.29934
8
1.09981
1.19941
•由此构造向量序列{X (k)}: X(k+1)=BX(k)+f
若X(k+1)→X*,则X*即为AX=b的解。
计算方法三⑥
12/35
取迭代初值 x1(0) x2(0) x3(0) 0, 依次代入迭代公式:X(k+1)=BX(k)+f
k
x1(k)
x2(k)
x3(k)
0
0.00000
0.00000
如果确定待解的方程组Ax=b是一个病态方程组,
则数值求解必须小心,选择合适的方法,否则难以达 到要求的精确度。一般方法有:
计算方法三⑥
4/35
方法1 采用尽可能高精度的运算,例如双精度或多精
度,以改善和减轻矩阵病态的影响,但此时的计算量
将大大增大。
1 1/2 1/3 1/4
x1
25/12
例 方程组
计算方法三⑥
3/35
1)当det(A)相对来说很小,或者A的某些行 (或列)近似线性相关,Ax=b可能病态;
2)当系数矩阵A中元素的绝对值相差很大, 且无规则, Ax=b可能病态;
3)如果采用Gauss选主元消去法求解,在消 元过程中出现小主元, Ax=b可能病态;
4)求解方程组时,出现一个很大的解, Ax=b可能病态。
Jacobi迭代和Seidel迭代 是求解线性方程组的两种基 本的迭代法,但由于收敛速 度较慢,已经越来越不适应 当前信息时代人们对计算速 度和精度的要求,所以在实 际应用中使用得并不多。但 是由于它们体现了迭代法的 最基本的思想,所以仍是学 习其它迭代法的基础。
计算方法三⑥
例:设AX=b为
10x1
1/2 1/3 1/4 1/5 1/3 1/4 1/5 1/6
x2 =
x3
77/60 57/60
1/4 1/5 1/6 1/7
x4
319/420
1
分别用3位和5位有效数字舍入运算的
它的精解为 x= 1
消去法求解,得到的解分别为
1 x=(0.988,1.42,-0.428, 2.10)T 和
1 x=(1.0000,0.99950,1.0017, 0.99900)T 显然后者的精度大大提高了
0.00000
1
0.72000
0.83000
0.84000
2
0.97100
1.07000
1.15000
3
1.05700
1.15710
1.24820
4
1.08535
1.18534
1.28282
5
1.09510
1.19510
1029414
6
1.09834
1.19834
1.2950481
解:矩阵A的条件数cond(A)∞≈104,方程组是病态的 。为了使各行元素的大小均衡,将第一个方程乘以
10-4,得到方程组 cond(B)∞≈4
BX =
10-4 1 11
= x1
1
x2
2
计算方法三⑥
6/35
再计算矩阵B的条件数cond(B)∞≈4,显然经过行均 衡后,系数矩阵的条件数得到很大的改善。
计算方法三⑥
7/35
作业:P74-75 8、9、10、 17
实验
25 41 10
A


41 10 6
68 17 10
17 5 3
6
32
10 23
b


23 3331
1、计算A的条件数cond(A). 2、如何改变方程组AX=b的病态性?
相关文档
最新文档