第六章第三节逐次超松弛迭代法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
n 从 (T ) 1 而,迭代矩阵了-的所有特征值之积等于 (1 ) .因此有
(T ) 1
据定理 1,若 SOR 方法收敛,则 (T ) 1 ,因此 1 1 .由于。取实数,故有 0 2
定理 2 说明,若要 SOR 方法收敛,必须选取松弛因子 ,使 (0,2) .但当 (0,2) 时,未必 对任何线性方程组,SOR 方法都收敛.
2
x 我们把(3.1)式中的中间 ~i( k ) 消去,则有
i 1 ~ ( k ) (b a x ( k ) xi ij j i aii j 1
j i 1
a
n
ij
x (jk 1) ) (1 ) xi( k 1)
i 1,2,, n, k 1,2
( ( ( ( x3k ) 0.24 x1( k ) 0.24 x2k ) 0.2 x3k 1) 0.24 x4k 1) 1.92
( ( ( ( x4k ) 0.12 x1( k ) 0.12 x2k ) 0.12 x3k ) 0.2 x4k 1) 4.08
( x4k )
1 ( ( (34 x1( k ) x2k ) x3k ) ) 10
k 1,2,
4
取初始向量 x0 0,0,0,0T ,迭代六次得结果见表 6.1. 从表 6.1 得到
x6 x
1.022 10 3
图表6.1
应用 SOR 方法(取 O=1.2)的迭代公式为
或
((1 ) I U ) x ( I L) x
H 用 x 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)式
10
则说 A 是具有相容次序的矩阵.
注意:
若矩阵 A aij 具有相容次序, 则属于同一子集的元素之间没有联系, 即若 i, j Wk , aij 则
0, , a ji 0 . 且
例3
0 0 1 4 1 4 1 0 A 0 1 4 0 0 4 1 0
i 1,2,, n
x 这里,引入一个中间量 ~i 和一个加速收敛的参数 (限于实数),称。为松弛因子 xi(k ) 可 ( k 1) 以看作是 xi 和 ~i( k ) 的加权平均.当 1时(3.1)就是 Gauss-Seidel 迭代法. 1 时, x
(k )
(3.1)称为逐次超松弛迭代法; 1 时,(3.1)称为逐次低松弛迭代法.通常,统称为逐次超 松弛迭代法,或简称为 SOR 迭代法.
3
例1 方程组
5 x1 x 2 x3 x 4 4 x 10 x x x 12 2 3 4 x1 x 2 5 x3 x 4 8 x1 x 2 x3 10 x 4 34
有唯一解 x 1,2,3,4 .我们应用 Gauss-Seidel 迭代法和 SOR 方法(取 1,2 来解这个方程 组.Gauss—Seidel 迭代公式为
§3 逐次超松弛迭代法(SOR方法)
By alex
1
一般说来,Jacobi 迭代法收敛太慢,在实践中很少使用.在 Jacobi 迭代法收敛很慢的情 况下,Gauss-Seidel 迭代法也并不明显快一些.因此,欲对 Gauss-Seidel 迭代法作简单的修 改,以提高其收敛速度.
T 假设方程组 Ax b 的系数矩阵 A aij nn , aii 0(i 1,, n), b b1 ,, bn .我们用下面的迭代格式来建
3.3 相容次序、性质A和最佳松弛因子
我们从例 1 看到,SOR 方法收ຫໍສະໝຸດ Baidu得快慢与松驰因子。的选择有关.松弛因子选择得好,会加快 SOR 方法的收敛速度.这一段,我们将对一类特殊的矩阵(在偏微分方程数值解法中常遇到的), 简要地叙述最佳松弛因子如何选取的问题.
定义 1
定义 2
给定一个 n 阶矩阵 A aij ,对 i j ,若或 a ji 0 ,则说 i, j 是有联系的.
立解方程组 Ax b 的遥次超松弛迭代法(SOR 方法)
i 1 ~ ( k ) 1 (b a x ( k ) xi ij j i aii j 1
j i 1
a
n
ij
x (jk 1)
(3.1)
xi( k ) xi( k 1) ( ~i( k ) xi( k 1) ) x
2
q (q )2 2 2
(q ) 2 2 2
由假设 0 2 ,有
q (q )2 (q ) 2 q (2 )(2 q) 0 ,
因此 1
2
从而
(T ) 1 .
故 SOR 方法收敛.
9
当 1时,SOR 方法就是 Gauss—Seidel 迭代法.因此,若且是对称正定矩阵,则 Gauss— Seidel 迭代法亦收敛. 例2 容易验证例 1 的线性方程组的系数矩阵是对称正定的.因此,对于解这个方程
组,Gauss~Seidel 迭代法收敛,并且取 1.2 时,SOR 方法亦收敛.
x0i (i 1,, n) ;参数 ;容限 TOL ;最大迭代次数 m
输出 近似解 x1 , x2 , x n 或迭代次数超过 m 的信息.
step 1
对 k 1,, n 做 step2—4. 对 i 1,2,, n
step 2
xi (1 ) x0i
step 3 step 4 对 i 1,2,, n
定理 3 若线性方程组 Ax b 的系数矩阵 A 是对称正定的,则 0 2 当时,SOR 方法收敛.
证明
设 是 SOR 方法的迭代矩阵
Tw ( I L) 1 ((1 ) I U )
的任意一个特征值, x 为与其相应的特征向量,则有等式
( I L) 1 ((1 ) I U ) x x
定义3
1 给定一个 n 阶矩阵 A aij ,记 W ,2,, n.若存在 W 的两个不相交的子集 S1 , S 2 使得
(1) (2)
S1 S 2 W ;
若 i, j 有联系,则 i, j 分别属于这两个子集,
11
则称矩阵 A 具有性质 A
注意:定义 3 中 S1 或 S 2 可以是空集.若有一个是空集,则矩阵 A 必为对角阵.从定义 3 还 可看到,若矩阵 A 具有性质 A ,则属于同一子集的元素之间没有联系,即若 i, j S1 :或 i, j S 2 , 则 aij 0 或 a ji 0
的迭代矩阵了。的谱半径大于等于 1 ,即
(T ) 1
且 SOR 方法收敛的必要条件是
0 2
(3.6)
证明 由(3.5)式,有
det(T ) det((I L) 1 ) det((1 ) I U ) det((1 ) I U ) (1 ) n
取三个互不相交子集, W1 {1} , W2 {2,4} ,W3 {3} .容易验证它们满足定义 2 中的条件(1)和(2). 例如, i 1 W1 , a2,1 1 0,2 W2 , a14 1 0,4 W2 , i 2 W2 , a21 1 0 1 W1 , a23 1 0,3 W3 因此矩阵 A 具有相容次序.
(3.2)
上式的矩阵表示形式是
xk ( Lx k Ux k 1 D 1b) (1 ) xk 1
或者
(3.3)
xk T xk 1 ( I L) 1 D 1b
其中
(3.4)
Tw ( I L) 1 ((1 ) I U )
(bi aij x j
j 1
i 1
j i 1
a
n
ij
xoj
若 x x0 TOL ,则输出 ( x1 ,, x n ) ;停机.
x 0 i xi
step5 输出(‘Maximun number of iterations exceeded,); 停机.
6
3.2 SOR方法的收敛性 现在,我们来讨论逐次超松弛迭代法的收敛性问题.
定理 1 设方程组 Ax b 的系数矩阵 A 的主对角元素 aij 0, i 1,, n ,则 SOR 方法
收敛的充分必要条件为
(T ) 1
其中 T 是 SOR 方法的迭代矩阵.
定理 2
设方程组 Ax b 的系数矩阵 A 的主对角元素 aij 0, i 1,, n ,则 SOR 方法
1 就例 3,取 S1 ,3 , S 2 2,4 ,易知它们满足定义 3 中的条件(1)和(2).因此例 1 的矩阵 A
具有性质 A .
例4
考虑 ( x, y ) 平面的区域 G 内的 Dirichlet 问题:
2u 2u 0 , ( x, y ) G ; x 2 y 2
(3.5)
1 它是 SOR 方法的迭代矩阵.特别,若取 1,则 T1 ( I L) U 是 Gauss-Seidel 迭代法的
迭代矩阵. 若将矩阵 A 分裂成
A 1
( D DL)
1
((1 ) D DU ), 0
按§1 所述的建立相容迭代法的方法,立即可得 SOR 方法.因此,SOR 方法与方程组 Ax b 是完 全相容的.
( ( ( x1( k ) 0.2 x1( k 1) 0.24 x2k 1) 0.24 x3k 1) 0.24 x4k 1) 0.96
( ( ( ( x2k ) 0.12 x1( k ) 0.2 x2k 1) 0.12 x3k 1) 0.12 x4k 1) 1.44
1 ( ( ( x1( k ) (4 x2k 1) x3k 1) x4k 1) ) 5 1 ( ( ( x2k ) (12 x1( k ) x3k 1) x4k 1) ) 10
1 ( ( ( x3k ) (8 x1( k ) x2k ) x4k 1) ) 5
给定一个 n 阶矩阵 A aij ,记自然数集合 W 1,2,, n.若存在W 的 t 个
互不相交的子集 W1 ,W2 ,,Wt 使得 (1) (2)
W
k 1
t
k
W
对 i Wk ,若 i, j 有联系,则当 j i 时, j Wk 1 ;当 j i 时, j Wk 1 ,
k 1,2
T 取初始得量 x0 0,0,0,0 ,迭代六次得结果见表 6.2.
图表6.2
5
从表6.2得到
算法6.3
输人
5.56 10 4 应用SOR方法解方程组 Ax b
x6 x
方程组的阶数 n ; A 的元素 aij (i, j 1,, n) ; b 的分量 bi (i 1,, n) ;初始向量 x 0 的分量
8
有
A D DL DU
又因假设 A 是对称正定的,因此
DU ( DL) T
x H DUx x H ( DL) T x ( x H DLx ) H i
q0
从而有
x H Ax x H ( D DL DU ) x q 2 0
于是
q q i q i
n 从 (T ) 1 而,迭代矩阵了-的所有特征值之积等于 (1 ) .因此有
(T ) 1
据定理 1,若 SOR 方法收敛,则 (T ) 1 ,因此 1 1 .由于。取实数,故有 0 2
定理 2 说明,若要 SOR 方法收敛,必须选取松弛因子 ,使 (0,2) .但当 (0,2) 时,未必 对任何线性方程组,SOR 方法都收敛.
2
x 我们把(3.1)式中的中间 ~i( k ) 消去,则有
i 1 ~ ( k ) (b a x ( k ) xi ij j i aii j 1
j i 1
a
n
ij
x (jk 1) ) (1 ) xi( k 1)
i 1,2,, n, k 1,2
( ( ( ( x3k ) 0.24 x1( k ) 0.24 x2k ) 0.2 x3k 1) 0.24 x4k 1) 1.92
( ( ( ( x4k ) 0.12 x1( k ) 0.12 x2k ) 0.12 x3k ) 0.2 x4k 1) 4.08
( x4k )
1 ( ( (34 x1( k ) x2k ) x3k ) ) 10
k 1,2,
4
取初始向量 x0 0,0,0,0T ,迭代六次得结果见表 6.1. 从表 6.1 得到
x6 x
1.022 10 3
图表6.1
应用 SOR 方法(取 O=1.2)的迭代公式为
或
((1 ) I U ) x ( I L) x
H 用 x 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)式
10
则说 A 是具有相容次序的矩阵.
注意:
若矩阵 A aij 具有相容次序, 则属于同一子集的元素之间没有联系, 即若 i, j Wk , aij 则
0, , a ji 0 . 且
例3
0 0 1 4 1 4 1 0 A 0 1 4 0 0 4 1 0
i 1,2,, n
x 这里,引入一个中间量 ~i 和一个加速收敛的参数 (限于实数),称。为松弛因子 xi(k ) 可 ( k 1) 以看作是 xi 和 ~i( k ) 的加权平均.当 1时(3.1)就是 Gauss-Seidel 迭代法. 1 时, x
(k )
(3.1)称为逐次超松弛迭代法; 1 时,(3.1)称为逐次低松弛迭代法.通常,统称为逐次超 松弛迭代法,或简称为 SOR 迭代法.
3
例1 方程组
5 x1 x 2 x3 x 4 4 x 10 x x x 12 2 3 4 x1 x 2 5 x3 x 4 8 x1 x 2 x3 10 x 4 34
有唯一解 x 1,2,3,4 .我们应用 Gauss-Seidel 迭代法和 SOR 方法(取 1,2 来解这个方程 组.Gauss—Seidel 迭代公式为
§3 逐次超松弛迭代法(SOR方法)
By alex
1
一般说来,Jacobi 迭代法收敛太慢,在实践中很少使用.在 Jacobi 迭代法收敛很慢的情 况下,Gauss-Seidel 迭代法也并不明显快一些.因此,欲对 Gauss-Seidel 迭代法作简单的修 改,以提高其收敛速度.
T 假设方程组 Ax b 的系数矩阵 A aij nn , aii 0(i 1,, n), b b1 ,, bn .我们用下面的迭代格式来建
3.3 相容次序、性质A和最佳松弛因子
我们从例 1 看到,SOR 方法收ຫໍສະໝຸດ Baidu得快慢与松驰因子。的选择有关.松弛因子选择得好,会加快 SOR 方法的收敛速度.这一段,我们将对一类特殊的矩阵(在偏微分方程数值解法中常遇到的), 简要地叙述最佳松弛因子如何选取的问题.
定义 1
定义 2
给定一个 n 阶矩阵 A aij ,对 i j ,若或 a ji 0 ,则说 i, j 是有联系的.
立解方程组 Ax b 的遥次超松弛迭代法(SOR 方法)
i 1 ~ ( k ) 1 (b a x ( k ) xi ij j i aii j 1
j i 1
a
n
ij
x (jk 1)
(3.1)
xi( k ) xi( k 1) ( ~i( k ) xi( k 1) ) x
2
q (q )2 2 2
(q ) 2 2 2
由假设 0 2 ,有
q (q )2 (q ) 2 q (2 )(2 q) 0 ,
因此 1
2
从而
(T ) 1 .
故 SOR 方法收敛.
9
当 1时,SOR 方法就是 Gauss—Seidel 迭代法.因此,若且是对称正定矩阵,则 Gauss— Seidel 迭代法亦收敛. 例2 容易验证例 1 的线性方程组的系数矩阵是对称正定的.因此,对于解这个方程
组,Gauss~Seidel 迭代法收敛,并且取 1.2 时,SOR 方法亦收敛.
x0i (i 1,, n) ;参数 ;容限 TOL ;最大迭代次数 m
输出 近似解 x1 , x2 , x n 或迭代次数超过 m 的信息.
step 1
对 k 1,, n 做 step2—4. 对 i 1,2,, n
step 2
xi (1 ) x0i
step 3 step 4 对 i 1,2,, n
定理 3 若线性方程组 Ax b 的系数矩阵 A 是对称正定的,则 0 2 当时,SOR 方法收敛.
证明
设 是 SOR 方法的迭代矩阵
Tw ( I L) 1 ((1 ) I U )
的任意一个特征值, x 为与其相应的特征向量,则有等式
( I L) 1 ((1 ) I U ) x x
定义3
1 给定一个 n 阶矩阵 A aij ,记 W ,2,, n.若存在 W 的两个不相交的子集 S1 , S 2 使得
(1) (2)
S1 S 2 W ;
若 i, j 有联系,则 i, j 分别属于这两个子集,
11
则称矩阵 A 具有性质 A
注意:定义 3 中 S1 或 S 2 可以是空集.若有一个是空集,则矩阵 A 必为对角阵.从定义 3 还 可看到,若矩阵 A 具有性质 A ,则属于同一子集的元素之间没有联系,即若 i, j S1 :或 i, j S 2 , 则 aij 0 或 a ji 0
的迭代矩阵了。的谱半径大于等于 1 ,即
(T ) 1
且 SOR 方法收敛的必要条件是
0 2
(3.6)
证明 由(3.5)式,有
det(T ) det((I L) 1 ) det((1 ) I U ) det((1 ) I U ) (1 ) n
取三个互不相交子集, W1 {1} , W2 {2,4} ,W3 {3} .容易验证它们满足定义 2 中的条件(1)和(2). 例如, i 1 W1 , a2,1 1 0,2 W2 , a14 1 0,4 W2 , i 2 W2 , a21 1 0 1 W1 , a23 1 0,3 W3 因此矩阵 A 具有相容次序.
(3.2)
上式的矩阵表示形式是
xk ( Lx k Ux k 1 D 1b) (1 ) xk 1
或者
(3.3)
xk T xk 1 ( I L) 1 D 1b
其中
(3.4)
Tw ( I L) 1 ((1 ) I U )
(bi aij x j
j 1
i 1
j i 1
a
n
ij
xoj
若 x x0 TOL ,则输出 ( x1 ,, x n ) ;停机.
x 0 i xi
step5 输出(‘Maximun number of iterations exceeded,); 停机.
6
3.2 SOR方法的收敛性 现在,我们来讨论逐次超松弛迭代法的收敛性问题.
定理 1 设方程组 Ax b 的系数矩阵 A 的主对角元素 aij 0, i 1,, n ,则 SOR 方法
收敛的充分必要条件为
(T ) 1
其中 T 是 SOR 方法的迭代矩阵.
定理 2
设方程组 Ax b 的系数矩阵 A 的主对角元素 aij 0, i 1,, n ,则 SOR 方法
1 就例 3,取 S1 ,3 , S 2 2,4 ,易知它们满足定义 3 中的条件(1)和(2).因此例 1 的矩阵 A
具有性质 A .
例4
考虑 ( x, y ) 平面的区域 G 内的 Dirichlet 问题:
2u 2u 0 , ( x, y ) G ; x 2 y 2
(3.5)
1 它是 SOR 方法的迭代矩阵.特别,若取 1,则 T1 ( I L) U 是 Gauss-Seidel 迭代法的
迭代矩阵. 若将矩阵 A 分裂成
A 1
( D DL)
1
((1 ) D DU ), 0
按§1 所述的建立相容迭代法的方法,立即可得 SOR 方法.因此,SOR 方法与方程组 Ax b 是完 全相容的.
( ( ( x1( k ) 0.2 x1( k 1) 0.24 x2k 1) 0.24 x3k 1) 0.24 x4k 1) 0.96
( ( ( ( x2k ) 0.12 x1( k ) 0.2 x2k 1) 0.12 x3k 1) 0.12 x4k 1) 1.44
1 ( ( ( x1( k ) (4 x2k 1) x3k 1) x4k 1) ) 5 1 ( ( ( x2k ) (12 x1( k ) x3k 1) x4k 1) ) 10
1 ( ( ( x3k ) (8 x1( k ) x2k ) x4k 1) ) 5
给定一个 n 阶矩阵 A aij ,记自然数集合 W 1,2,, n.若存在W 的 t 个
互不相交的子集 W1 ,W2 ,,Wt 使得 (1) (2)
W
k 1
t
k
W
对 i Wk ,若 i, j 有联系,则当 j i 时, j Wk 1 ;当 j i 时, j Wk 1 ,
k 1,2
T 取初始得量 x0 0,0,0,0 ,迭代六次得结果见表 6.2.
图表6.2
5
从表6.2得到
算法6.3
输人
5.56 10 4 应用SOR方法解方程组 Ax b
x6 x
方程组的阶数 n ; A 的元素 aij (i, j 1,, n) ; b 的分量 bi (i 1,, n) ;初始向量 x 0 的分量
8
有
A D DL DU
又因假设 A 是对称正定的,因此
DU ( DL) T
x H DUx x H ( DL) T x ( x H DLx ) H i
q0
从而有
x H Ax x H ( D DL DU ) x q 2 0
于是
q q i q i