线性方程组的迭代解法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 -ω
ω
D +U
(7)
若 AX = b 中 A 是 正 定 的 , 且 0 < ω < 2, 则
SSOR 法收敛 。 1. 5 收敛性分析
这里 D 为 A 的对角素构成的对角矩阵 , L 为严格下 三角阵 , U 为严格上三角阵 。
SOR 迭代法的矩阵形式为
X
( k +1 )
= HSOR X
-1
xi
( k +1 )
=
1
aii
n
( bi -
∑a
j =1 j≠ i
ij
xj
( k)
) , i = 1, 2, . . . , n ( 4 )
迭代矩阵 HJ 的谱半径 ρ( HJ ) < 1 ,则对于任意 迭代初值 X
( 0)
, Jacobi迭代法收敛 。
1. 2 Gauss- Se idel迭代法
在科学研究和大型工程设计中出现了越来越多 的数学问题 ,而这些问题往往需要求数值解 。在进 行数值求解时 , 经离散后 , 常常归结为求解形如 A x = b 的大型线性方程组 。 20 世纪 50 年代至 70 年 代 ,由于电子计算机的发展 ,人们开始考虑和研究在 计算机上用迭代法求线性方程组 A x = b的近似解 , 用某种极限过程去逐渐逼近精确解 , 并发展了许多 非常有效的迭代方法 , 迭代法具有需要计算机存储 单元少 、 程序设计简单 、 原始系数矩阵在计算过程中 始终不变等优点 。例如 Jacobi 方法 、 Gauss- Seidel 方法 、 SOR 方法 、 SSOR 方法 , 这几种迭代方法是最 常用的一阶线性定常迭代法 。 大量偏微分方程的离散形式是大规模线性代数 方程组 ,其数值计算是科学工程计算的核心 ,占有绝 大部分的总体运算时间 , 解大规模稀疏线性方程组 的 Krylov 子空间方法显示出与众不同的有效性 。 当矩阵是对称正定时 , 常用的方法是具有短递推的 共轭梯度方法 ( CG) 。系数矩阵不对称时 ,常用的方 法中有完全正交化方法 ( FOM ) 和广义最小残量方 法 (G MRES) 。 还有很多迭代方法正在被人们发现和研究 , 新 的有效的方法层出不穷 ,其中基于大型稀疏非 Her2 m itian的正定阵的系数矩阵的 Herm itian 和 Skew Herm itian分裂的 HSS方法 , IHSS方法等具有非常好
0
‖ ( 12 )
14 期
k
李爱芹 : 线性方程组的迭代解法
3
3359
‖x
- x ‖≤ ‖x 1 - ‖HJ ‖
‖HJ ‖
k
- x
k - 1‖
20
- 1 ( 13 ) A = - 1
- 1
- 1
20 0
0 20
… … … ω … …
- 1
0
- 1 - 1
0 0
其中 , x 是方程组 ( 11 )的精确解 。 式 ( 12 )可作为误差估计式 , 并且说明 ‖H ‖越 ( k) 小 , x 收敛越快 。式 ( 13 )说明了只要 ‖H ‖不是很 小 ,当相邻两次迭代向量 x
dSOR = ω ( D - ωL )
-1
b。
计算公式为 :
xi
( k +1 )
= ( 1 - ω) xi
n
( k)
+ω × ( bi aii
1
= HJ X
( k)
+ dJ
(3)
∑a
j =1
ij
x
( k +1 ) j
-
j = i+1
∑a
ij
xj
( k)
) ,
( 3 )式中 : dJ = D - 1 b ; HJ = I - D - 1 A ,称 HJ 为 Jacobi迭代矩阵 。其计算公式为 :
执行 c语言程序 interator_m ethod. c 得到 result . 从中可以得到三种方法的迭代性能对比如表 1。
表 1 三种方法的迭代性能 IT CPU Ti m e /m s ‖x
18 3. 00000 10 2. 00000
(k)
另外 , 若 A 是对 称正 定矩 阵 , 则 式 ( 14 ) 也 是
线性方程组的迭代解法
李爱芹
(山东交通学院数理系 ,济南 250023)
摘 要 线性方程组的数值求解常见于许多科学与工程计算领域 ,介绍了求解大型线性方程组的主要迭代算法 。首先 ,对一 些经典迭代法 ( Jacobi 方法 、 Gauss- Seidel方法 、 SOR 方法 、 SSOR 方法和 CG 方法等 ) 进行了详细的讨论 ,并从理论上对收敛性 进行分析 。其次 ,讨论了最新的 Herm itian / Skew- Herm itian sp litting ( HSS) 迭代理论 ,给出了迭代公式和收敛性定理 。最后 ,通 过数值实验对所有迭代法的有效性进行了验证 。 关键词 迭代法 线性方程组 共轭梯度法 HSS迭代方法 中图法分类号 O24116; 文献标识码 A
第 7卷 第 14 期 2007 年 7 月 1671 2 1819 ( 2007 ) 14 2 3357 2 08
科 学 技 术 与 工 程
Science Technology and Engineering
Vol17 No114 July 2007 Ζ 2007 Sci1 Tech1 Engng .
x
( k +1 ) i
计算公式为 : 先按自然次序 ( i = 1, 2, …, n ) 用向前的 SOR 法逐点计算 xi
1 (k+ ) 2
。
- ω) xi xj
( k) ( k)
=
1
aii
i- 1
n
( bi -
∑
j =1
aij x
( k +1 ) j
-
j = i+1
∑
aij x
( k) j
x ),
1. 3 SO R( successive over relaxa tion )迭代法
( 0)
i = 1, 2, …, n; k = 0, 1, …
( 10 )
, Guass- Seidel迭代
然后按相反的次序 ( i = n, n - 1, …, 1 ) 用向后 ( k +1 ) 的 SOR 方法逐点计算 xi 。 ( k +1 ) ( k) 1 ( bi xi = ( 1 - ω) xi + ω ×
i- 1
1 (k+ ) 2 i
=
n
(1
+ ω ×
1
aii
( bi
-
i = 1, 2, . . . , n
k = 0, 1, . . .
(6)
∑a
j =1
ij
x
( k +1 ) j
-
j = i+1
∑a
ij
) ,
若 A 为严格或不可约对角占优矩阵 ,或 A 为对 称正定阵 ,则对于任意初值 X 法收敛 。
HSSOR = ( D - ωL ) [ ( 1 - ω) D + ωU ] ( D -
Gauss- Seide 迭代矩阵形式为
X
( k +1 )
ωU )
-1
-1
[ ( 1 - ω) D +ωL ]。
= HGS X
( k) -1
+ dGS。
上式中 : HGS = ( D - L ) U ; dGS = ( D - L ) L。 称 HGS 为 G- S迭代矩阵 。 计算公式为 :
( 14 )
Method
18 - 42
…
‖作为迭代终止的判别式。这个结论对逐次
( 15 )
1× 64
( 0)
T 精确解 : X = ( 1 1 1. . . 1 1 ) 1 ×64 ; 取 X
=
( 0 0 0. . . 0 0 ) txt文件 。
T 1× 64
; 精度为 : 0. 000 1。
ቤተ መጻሕፍቲ ባይዱ
8. 19628 × 10 -5 1. 68024 × 10
几乎比 Jacobi 收敛速度快 一倍 退化成 Gauss
_Seidel迭代 使 SOR 迭代
SOR w ithω = 1. 0 SOR
10 2. 00000 6 1. 00000
x 和 x x
( k - 1) ( k)
3
… - 1 0
- 42
… 0 - 1
… 0 - 1
… 20 - 1
… - 1 20
,
64 × 64
和 x
( k - 1)
很接近时 , 解
( k)
3
( k)
也是很接近的 。因此 , 可以用 ‖ x
b =
18 18
逼近法也成立 。特别地 ,应该指出 ,以上讨论的收敛 性及收敛速度均是对一般迭代式 ( 12 )而言。因此 ,其 结论对以后要讨论的 G- S迭代法和 SOR 法也成立。 对于 Gauss- Seidel迭代方法有关收敛性和收敛 速度的讨论完全与 Jacobi 方法相同 ,只是迭代阵不 同 。类似于 Jacobi 方法 , SOR 迭代收敛的充分必要 条件是 : ρ( HSOR ) < 1, 可以证明 ρ( Lω ) ≥ ω - 1 。 因此 , SOR 收敛的必要条件是 : 0 <ω < 2
SOR 迭代收敛的充分条件 。使 SOR 迭代收敛速度
- x ‖∞
-5
3
Info
最快的松弛因子 ω 称为最佳松弛因子 , 记为 ωop t 。 对于某些特殊类型的矩阵 ,可以证明 : ωop t =
2 其中 ρ( HJ ) 2 1 /2 。 1 + ( 1 - (ρ( HJ ) ) )
Jacobi Gauss_Seidel
2007 年 3 月 19 日收到
的实用性 。 但没有一种算法是通用的 , 对于具体问题必须 根据所得到的线性方程组和算法的特点进行选择 。
1 经典迭代法概述
20 世纪 50 年代至 70 年代 , 人们开始考虑和研 究用迭代法求解线性方程组 ( 1) Ax = b
的近似解 ,发展了许多有效的方法 ,其中有 Jacobi方 法、 Gauss- Seidel 方法 , SOR 方法 、 SSOR 方法 , 这几 种迭代方法均属一阶线性定常迭代法 , 即若系数矩 阵 A 的一个分裂 : A = M - N ; M 为可逆矩阵 ,线性 方程组 ( 1 )化为 :
aii
i- 1 n ij
对于非奇异方程组 ,若 D 为 A 的对角素构成的 对角矩阵 ,且对角线元素全不为零 ; 系数矩阵 A 的 一个分解 :
A =
∑a
j =1
xj
( k +1 )
-
j = i+1
∑a
ij
xj
( k)
) ,
i = n, n - 1, …, 1; k = 0, 1, …
( 11 )
1 D - L ω
( 8) i = 1, 2, . . . , n; k = 0, 1, . . . ( 8 )式中 : ω为实数 ,称为松弛因子 , 0 < ω < 2。 当 ω = 1时 SOR 迭代退化成 Gauss- Seidel迭代。 若 A 为对称正定的 ,且 0 < ω <2,则 SOR 法收敛。 1. 4 SSO R迭代法 SSOR ( symmertric successive over relaxation ) 迭 代法的矩阵形式为 :
(M - N ) X = b;
] M X = N X + b; ] X = M N X +M 得到迭代方法的一般公式 :
-1 -1
b。 ( 2)
( 0)
X
-1
( k +1 )
= HX
-1
( k)
+d
其中 : H = M N , d = M b, 对任意初始向量 X 一阶定常迭代法收敛的充分必要条件是 : 迭代矩阵 H 的谱半径小于 1, 即 ρ( H ) < 1; 又因为对于任何 矩阵范数恒有 ρ( H ) ≤ ‖H ‖, 故又可得到收敛的 一个充分条件为 : ‖H ‖ < 1 。 1. 1 Jacob i迭代法 若 D 为 A 的对角素构成的对角矩阵 ,且对角线
X X
1 (k+ ) 2
对于非奇异方程组 ,若 D 为 A 的对角素构成的 对角矩阵 ,且对角线元素全不为零 ; 系数矩阵 A 的一 个分解 :
A = (D - L ) - U
= HFSOR X = HB SOR X
-1
( k) ( k)
+ dFSOR + dB SOR
( k +1 )
( 9)
SSOR 迭代矩阵为 : (5)
3358
科 学 技 术 与 工 程
7卷
元素全不为零 。 系数矩阵 A 的一个分解 : A = D - ( L + U ) ; 这里 D 为 A 的对角素构成的对角矩阵 , L 为严格下 三角阵 , U 为严格上三角阵 。
Jacobi迭代的矩阵形式为 :
X
( k +1 ) i- 1
( k)
+ dSOR 。
现在先讨论一下 Jacobi方法的收敛速度的快慢 及影响速度的因素 。 定理 : 若 ‖HJ ‖ < 1,则 Jacobi方法成立 ‖x
k
式中 :
HSOR = ( D - ωL ) [ ( 1 - ω) D +ωU ],
- x ‖≤ ‖x 1 - ‖HJ ‖
3
‖HJ ‖
k
1
- x