逐次超松弛迭代法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
号次序列方程.于是,由(3.9)式Βιβλιοθήκη Baidu得到方程组
图6.2
14
4 u 11 u 21 u 01 u 12 u 10 0
4
u
21
u 31
u 11
u 22
u 20
0
4 4
u u
31 41
u 41 u 51
4
取初始向量 x0 0,0,0,0T ,迭代六次得结果见表 6.1.
从表 6.1 得到 x6 x 1.022103
图表6.1
应用 SOR 方法(取 O=1.2)的迭代公式为
x1(k )
0.2x1(k 1)
0.24
x
(k 2
1)
0.24 x3(k 1)
0.24 x4(k 1)
0.96
x2(k ) 0.12 x1(k ) 0.2x2(k1) 0.12 x3(k1) 0.12 x4(k1) 1.44
就例 3,取 S1 1,3, S2 2,4,易知它们满足定义 3 中的条件(1)和(2).因此例 1 的矩阵 A
具有性质 A .
例4
考虑 (x, y) 平面的区域 G 内的 Dirichlet 问题:
2u x 2
2u y 2
0
, (x, y) G;
u f (x, y) ,(x, y)
此处 为区域 G 的边界 G , 如图 6.1 所示.
因此 2 1
q (q )2 (q )2 q(2 )(2 q) 0 ,
从而
(T ) 1.
故 SOR 方法收敛.
9
当 1时,SOR 方法就是 Gauss—Seidel 迭代法.因此,若且是对称正定矩阵,则 Gauss—
Seidel 迭代法亦收敛. 例 2 容易验证例 1 的线性方程组的系数矩阵是对称正定的.因此,对于解这个方程
其中
Tw (I L)1 ((1 )I U ) (3.5)
它是 SOR 方法的迭代矩阵.特别,若取 1,则 T1 (I L)1U 是 Gauss-Seidel 迭代法的
迭代矩阵.
若将矩阵 A 分裂成
A 1 (D DL) 1 ((1 )D DU ), 0
按§1 所述的建立相容迭代法的方法,立即可得 SOR 方法.因此,SOR 方法与方程组 Ax b 是完
全相容的.
3
例1 方程组
5x1 x2 x3 x4 4
x
10x2 x3 x1 x2 5x3
x4 x4
12 8
x1 x2 x3 10x4 34
有唯一解 x 1,2,3,4.我们应用 Gauss-Seidel 迭代法和 SOR 方法(取 1,2 来解这个方程
组.Gauss—Seidel 迭代公式为
则说 A 是具有相容次序的矩阵.
10
注意:
若矩阵 A aij 具有相容次序,则属于同一子集的元素之间没有联系,即若 i, j Wk ,则 aij 0, ,且 a ji 0 .
例3
4 0 0 1
A 1
4
1
0
0 1 4 0
1 0
0
4
取三个互不相交子集,W1 {1} ,W2 {2,4},W3 {3}.容易验证它们满足定义 2 中的条件(1)和(2).
输出 近似解 x1, x2 ,xn 或迭代次数超过 m 的信息.
step 1 对 k 1,, n 做 step2—4.
step 2 对 i 1,2,, n
step 3 step 4
i 1
n
(bi aij x j aij xoj
xi (1 )x0i
j 1
j i 1
若 x x0 TOL ,则输出 (x1,, xn ) ;停机.
(T ) 1 其中 T 是 SOR 方法的迭代矩阵.
定理 2 设方程组 Ax b 的系数矩阵 A 的主对角元素 aij 0,i 1,, n ,则 SOR 方法 的迭代矩阵了。的谱半径大于等于 1 ,即
(T ) 1
且 SOR 方法收敛的必要条件是
0 2
证明 由(3.5)式,有
(3.6)
x3(k )
0.24 x1(k )
0.24 x2(k )
0.2x3(k 1)
0.24
x
(k 4
1)
1.92
x4(k ) 0.12 x1(k ) 0.12 x2(k ) 0.12 x3(k ) 0.2x4(k1) 4.08
k 1,2
取初始得量 x0 0,0,0,0T ,迭代六次得结果见表 6.2.
A D DL DU
又因假设 A 是对称正定的,因此 DU (DL)T
x H DUx x H (DL)T x (x H DLx ) H i
q 0
从而有
于是
x H Ax x H (D DL DU )x q 2 0
qqi qi
2q(q( q )2) 2 2 222
由假设 0 2 ,有
(1) S1 S2 W; (2) 若 i, j 有联系,则 i, j 分别属于这两个子集, 则称矩阵 A 具有性质 A
11
注意:定义 3 中 S1 或 S2 可以是空集.若有一个是空集,则矩阵 A 必为对角阵.从定义 3 还 可看到,若矩阵 A 具有性质 A ,则属于同一子集的元素之间没有联系,即若 i, j S1 :或i, j S2 , 则 aij 0 或 a ji 0
或
((1 )I U )x (I L)x
用 xH D 左乘上式两端得
(1 )x H D x H DUx x H D x H DLx ,
其中 D diag(a11,, ann ) , x H 表示 x 的共轭转置.记 x H Dx q , x H DLx i ,由(2.8)式
8
有
例如, i 1W1, a2,1 1 0,2 W2 , a14 1 0,4 W2 , i 2 W2 , a21 1 0 1W1, a23 1 0,3 W3
因此矩阵 A 具有相容次序.
定义3
给定一个 n 阶矩阵 A aij ,记W 1,2,, n.若存在W 的两个不相交的子集 S1, S2 使得
x1(k )
1 (4 5
x (k 1) 2
x (k 1) 3
x4(k 1) )
x2(k )
1 10
(12
x1(k
)
x (k 1) 3
x (k 1) 4
)
x3(k )
1 (8 5
x1(k )
x2(k )
x4(k 1) )
x4(k )
1 (34 10
x1(k )
x2(k )
x3(k ) )
k 1,2,
对任何线性方程组,SOR 方法都收敛.
定理 3 若线性方程组 Ax b 的系数矩阵 A 是对称正定的,则 0 2 当时,SOR 方法收敛.
证明
设 是 SOR 方法的迭代矩阵
Tw (I L)1 ((1 )I U ) 的任意一个特征值, x 为与其相应的特征向量,则有等式
(I L)1((1 )I U )x x
对 i 1,2,, n
x0i xi
step5 输出(‘Maximun number of iterations exceeded,);
停机.
6
3.2 SOR方法的收敛性 现在,我们来讨论逐次超松弛迭代法的收敛性问题.
定理 1 设方程组 Ax b 的系数矩阵 A 的主对角元素 aij 0,i 1,, n ,则 SOR 方法 收敛的充分必要条件为
组,Gauss~Seidel 迭代法收敛,并且取 1.2时,SOR 方法亦收敛.
3.3 相容次序、性质A和最佳松弛因子
我们从例 1 看到,SOR 方法收敛得快慢与松驰因子。的选择有关.松弛因子选择得好,会加快 SOR 方法的收敛速度.这一段,我们将对一类特殊的矩阵(在偏微分方程数值解法中常遇到的), 简要地叙述最佳松弛因子如何选取的问题.
deTt()detI((L)1)de1t ( ()IU) de1t ( ()IU)
(1)n
7
从 (T ) 1 而,迭代矩阵了-的所有特征值之积等于 (1 )n .因此有 (T ) 1
据定理 1,若 SOR 方法收敛,则 (T ) 1,因此 1 1.由于。取实数,故有 0 2
定理 2 说明,若要 SOR 方法收敛,必须选取松弛因子 ,使 (0,2) .但当 (0,2) 时,未必
§3 逐次超松弛迭代法(SOR方法)
By alex
1
一般说来,Jacobi 迭代法收敛太慢,在实践中很少使用.在 Jacobi 迭代法收敛很慢的情 况下,Gauss-Seidel 迭代法也并不明显快一些.因此,欲对 Gauss-Seidel 迭代法作简单的修 改,以提高其收敛速度.
假设方程组 Ax b 的系数矩阵 A aij nn , aii 0(i 1,, n),b b1,,bn T .我们用下面的迭代格式来建
立解方程组 Ax b 的遥次超松弛迭代法(SOR 方法)
~xi(k)
1 aii
(bi
i 1
aij
x
(k j
)
j 1
n
a x (k 1) ij j
j i1
xi(k )
x (k 1) i
(~xi(k )
x (k 1) i
)
(3.1)
i 1,2,, n
这里,引入一个中间量
~xi(k ) 和一个加速收敛的参数
用 uij 表示 u(xi , y j ) 的近似值,便得到与问题(3.7)的微分方程相应的方程
4 u ij u i 1 ,j u i 1 ,j u i,j 1 u i,j 1 0
(3.9)
对 G 内的每一个内部结点都建立这样的方程,便可得到一个线性方程组.
对所考虑的区域 G ,我们采用步长 h 1的正方形网格,按图 6.2 所示的内部结点编
图表6.2
5
从表6.2得到
x6x
5.5 61 04
算法6.3 应用SOR方法解方程组 Axb
输人 方程组的阶数 n ; A 的元素 aij (i, j 1,, n) ;b 的分量 bi (i 1,, n) ;初始向量 x0 的分量
x0i (i 1,, n) ;参数 ;容限TOL;最大迭代次数 m
方形网格所覆盖.两组平行直线的交点称为网格结点.我们只考虑属于 G+F 的结点.若
一结点的所有四个相邻结点都属于 G ,则称此结点为内部结点;若一结点的四个相邻结
点中至少有一个不属于 G ,则称此结点边界结点.
在每一个内部结点上,我们用二阶中心差代替问题(3.7)中的二阶导数
u (x i h ,y i) 2 u ( h x i2 ,y i) u (x i h ,y i) ( x 2 u 2 )(x i,y i)
(限于实数),称。为松弛因子
x (k ) i
可
以看作是
x (k 1) i
和 ~xi(k )
的加权平均.当
1时(3.1)就是
Gauss-Seidel
迭代法.
1时,
(3.1)称为逐次超松弛迭代法; 1时,(3.1)称为逐次低松弛迭代法.通常,统称为逐次超
松弛迭代法,或简称为 SOR 迭代法.
2
我们把(3.1)式中的中间 ~xi(k) 消去,则有
~xi(k)
aii
(bi
i 1
aij
x
(k j
)
j 1
n
aij
x
(k j
1)
)
(1
)
xi(
k
1)
j i1
i 1,2,, n, k 1,2 (3.2)
上式的矩阵表示形式是
或者
xk (Lxk Ux k1 D 1b) (1 )xk1 (3.3)
xk T xk1 (I L)1 D 1b (3.4)
定义 1 给定一个 n 阶矩阵 A aij ,对 i j ,若或 a ji 0 ,则说 i, j 是有联系的.
定义 2 给定一个 n 阶矩阵 A aij ,记自然数集合W 1,2,,n.若存在W 的t 个
互不相交的子集W1,W2 ,,Wt 使得
(1)
t Wk W
k 1
(2) 对 i Wk ,若 i, j 有联系,则当 j i 时, j Wk1 ;当 j i 时, j Wk1 ,
u (x i,y i h ) 2 u ( h x i2 ,y i) u (x i,y i h ) ( x 2 u 2 )(x i,y i)
则有
13
2u
2u
(x2)(xi,yj)(y2)(xi,yj)
u(xi h,yi)u(xih,yi)u(xi,yj h)u(xi,yj h)4u(xi,yj) h2
(3.7)
图6.1
12
我们在 (x, y) 平面上作两组平行直线
x x0 ih, y y0 jh i, j 0,1,2,
(3.8)
(x0 , y0 ) 是平面 (x, y) 上的任意一点,通常取 (x0 , y0 ) 为坐标原点, h( 0) 称为步长.这样,整
个平面就被这两组平行直线构成的正方形网格所覆盖,所讨论的区域 G+P 可被有限个正