第五节 线性代数方程组的迭代解法
DESCRIPTION
第五节 线性代数方程组的迭代解法. 迭代法适用于求解大型稀疏的线性方程组,其 基本思想是通过构造迭代格式产生迭代序列,由迭代 序列来逼近原方程组的解,因此,要解决的基本问题 是: 1. 如何构造迭代格式 2. 迭代序列是否收敛. 一 . 基本迭代法的格式及收敛性 二 . 几种实用的基本迭代法 三 . 应用实例. 设有线性代数方程组 a 11 x 1 +a 12 x 2 + ···· +a 1n x n =b 1 a 21 x 1 + a 22 x 2 + ···· +a 2n x n =b 2 - PowerPoint PPT PresentationTRANSCRIPT
数值分析
数值分析
迭代法适用于求解大型稀疏的线性方程组,其
基本思想是通过构造迭代格式产生迭代序列,由迭代
序列来逼近原方程组的解,因此,要解决的基本问题
是: 1. 如何构造迭代格式 2. 迭代序列是否收敛
第五节 线性代数方程组的迭代解法
一 一 . . 基本迭代法的格式及收敛性基本迭代法的格式及收敛性二 二 . . 几种实用的基本迭代法几种实用的基本迭代法三 三 . . 应用实例应用实例
数值分析
数值分析
一 . 基本迭代法的格式及收敛性 设有线性代数方程组
a11x1+a12x2+····+a1nxn=b1
a21x1+a22x2+····+a2nxn=b2 . . . . . . . . . . . . . . . . . . . . .
an1x1+an2x2+····+annxn=bn
A=M+N M 的逆好求。 Ax =b (M+N)x=b Mx=-Nx+b x=-M-1Nx+M-1b
用矩阵表示: Ax =b
A 为系数矩阵,非奇异且设 aii≠0 ; b 为右端, x 为解向量
1 1, ,Ax b x Bx g B M N g M b
数值分析
数值分析
1
(
1
1) ( )
, ,
( 0,1,2, )n
k k
n
x B
Ax b x Bx
x
g B M N g M b
k
B R g n
g
基
其中 称为迭代矩
本迭代法的
阵, 是已知
迭 格式
的
代
维向量,(0) ( 1) ( )
( )
,
{ }
k k
k
x x Bx g
x
给定 由迭代格式
即可产生迭代序列 。( )
( 1) ( )
lim k
k
k k
x x
x Bx g
x Bx g Ax b
当
对 取极限得
注:分解 A 是一个重要问题
数值分析
数值分析
20
, 33
36
,
Ax b A b
A A M N M N
例:
解:
8 -3 2
对线性方程组 ,其中 = 4 11 -1
6 3 12
8 0 0 0 -3 2
将 分解为 ,其中 = 0 11 0 = 4 0 -1
0 0 12 6 3 0
2 3
1 3
1 2
( )
20 3 2
33 4
36 6 3
Ax b x M Nx M b M b Nx
x x
x x
x x
-1 -1 -1
1 0 0810 011
10 0 12
2 3
1 3
1 2
(20 3 2 ) / 8(33 4 ) / 11(36 6 3 ) / 12
x x xx x xx x x
1
2
3
数值分析
数值分析
( ) ( )2 3( ) ( )1 3( ) ( )1 2
(20 3 2 ) / 8(33 4 ) / 11(36 6 3 ) / 12 0,1,2, ....
k k
k k
k k
x x xx x xx x x k
(k+1)1(k+1)2(k+1)3
迭代格式的分量形式为
(3.000032,1.999838,0.9998813)(3,2,1)
T
T
xx
(10)
迭代到第10次,得到
已知精确解为( 1) ( )
,
k kx Bx g
B g
迭代格式
3 2 200 -8 8 84 1 33迭代矩阵 = - 011 11 116 3 36- - 012 12 12
数值分析
数值分析
( 1) ( )
( ) (0) ( ){ }
k k
k k
x Bx gx x x x
k
基本迭代法 产生的迭代序列 ,如果对任取初始向量 都有l im ,
则称此迭代法是收敛的,否则是
定义
发散的。
( ) ( ) ( ) ( )1 2
1 2( ) ( )
( , , , ) ,( , , , ) ,
lim lim ,( 1,2, , )
k k k k Tn
T nn
k ki ik k
x x x xx x x x R
x x x x i n
对
则
在 Rn 中,点列的收敛等价于每个分量的收敛。即
( )
( ) ( )
( ) ( )
( ), ( ),
lim lim ,( , 1,2, , )
k
k kij ij
k kij ijk k
A
A a A a
A A a a i j n
同理, 的收敛与所选择的范数无关。若则
lim 0k
kB
数值分析
数值分析
( ) ( 1)
( ) ( ) ( 1) ( 1)
(0)
(0) (0)
( )
k k
k k k k
k
x Ax b x Bx g
x Bx g
x x B x x B
B
x x
是精确解
迭代格式为
误差向量
其中 是初始误差向量,是一个确定的值
收敛性分析
(0)
( ) 0 ( )k k
x
x B k
由此,得到结论:对任意初值 ,
迭代序列 收敛
数值分析
数值分析
1
21
r
Jordan P
J
JP BP J
J
由矩阵的 标准型知存在非奇异阵 使
( 1) ( ) (0)
( )
( ) 1.
k kx Bx g x
B
迭代法收敛的充要条件迭代格式 对任意初始向量都收敛的充分必要条件是
定理1
( ) (0): 0( ).
0( ) ( ) 1.
k k k
k
B B k
B k B
由 知迭代法收敛以下证明 的充分必要条件是
证明
数值分析
数值分析
( )
,
1
1
( 1,2, , )
1
i i
i
i
i
ii
i n n
J
J i r
为若当块 且
1
1
1
1 1 1 1
,r
ii
k k
n n B PJP
J P BP
J P BPP BP P BP P B P
于是
数值分析
数值分析
1
1 2 , ( 1, 2, )
k
kk k
kr
J
JP B P J k
J
1
, , 0 0
k k
k k
B PJ P
k B J
故显然当 时
数值分析
数值分析
1 2
0 0( 1,2, , )
( ) ( ) max( , , , )
, 0 1,( 1,2, , )
k ki
r
ki i
J J i r
B J
J i r
为此 只需证明
2
2 2
2
1 2
1
1 0 2 1
0 1 , 0 2 ,
0 0 0 0
( 1)
20
0 0
k k k
k k k
k
J J
k kk
J k
例:
数值分析
数值分析
0 1 ( )
0 ( ) 1 ( 1,2, , )
0 ( ) ( ) 1
j k jk
ki i
k
C k
J k i r
B k B
由极限运算知:
所以
即此结论
1 ( 1)1 1
2 ( 2)1 1
1 1
( )
! ( 1) ( 1),
!( )! !
i i
i i
i i
n k nk ki k i k i
n k nk ki k i k i
ki
kk i
ki n n
jk
c c
c c
J
c
k k k k jC
j k j j
其中
数值分析
数值分析
21,2det( ) 6 0, 6,
( ) 2.449 1. 1 .
I B
B
由 得
由定理 迭代格式不收敛
1 2
1 2
2 5
3 5
x x
x x
用迭代法求 程组例: 解方
( 1) ( )
( 1) ( )1 2( 1) ( )2 1
: ,
5 2( 1,2, )
3 5
0 2 5,
3 0 5
k k
k k
k k
x Bx g
x xk
x x
B g
构造迭代格解 式
,
迭代矩阵
数值分析
数值分析
( ) ( 1)
( )
1
2
, .
k kx Bx g B
B
迭代法收敛的充分条件如果迭代格式 的迭代矩阵 的某一种
范数 则此迭
定
代格式收敛
理
, . , ( 1, 2, )
( )
n n
p
p
A R p
A A
(特征值上界定理)设 对于 有
引理
: , ,
, .
p p p p
p
A U
AU U
U U AU A U
A
A
设 是 的任一特征值 为相应的特征向量则有
因 是
证
的任一特征值 故定理得证
明
数值分析
数值分析
( ) ( 1) ( ) ( )
( ) ( ) ( 1)
1
k k k k
k k k
x x B x x B x x
Bx x x x
B
从而
( ) ( 1)
( ) ( ) ( 1)
( ) (1) (0)
1,
.
1
1
3 k k
k k k
k
k
x Bx g B B
Bx x x x
B
Bx x x x
B
如果迭代格式 的迭代矩阵 满足则有如下的误差估计式
定理
( ) ( 1)
( ) ( 1)
( 1) ( ) ( )
:
( )
( ) ( )
k k
k k
k k k
x Bx g x Bx g
x x B x x
B x x B x x
由 和证明 有
数值分析
数值分析
: (1) , .
(2) 1 , .
B
B
注 越小收敛越快
接近 时 收敛慢
( ) ( 1) ( 1) ( 2)
1( 1) ( 2) (1) (0)
( )
( ) ( )
k k k k
kk k
x x B x x
B x x B x x
( ) ( ) ( 1) (1) (0)
1 1
k
k k kB Bx x x x x x
B B
( ) ( 1) ( 1) ( 2)
( ) ( 1) ( 1) ( 2)( )
k k k k
k k k k
x Bx g x Bx g
x x B x x
又因为 ,
数值分析
数值分析
max
max
(3) k
k k
给出最大迭代次数
当 迭代终止,给出失败信息。
( ) ( 1)
( )
( ) ( 1) ( ) ( 1)
|| || 1, 2, ,
.
,
||
(
|| ma |
1)
x |
k kp
k
k k k ki i
i
x x p
x x
p
x x x x
绝对误差标准。给出容许误差界
当 时, 终止迭代,
解取为常取
( ) ( 1)
( )
|| ||
|| ||
(2)k k
k
x x
x
相对误差标准。给出容许误差界
迭代终止标准
数值分析
数值分析
( ) (1) (0)
1
k
k Bx x x x
B
由误差估计式 估计迭代次数
( ) (1) (0)
(1) (0)
1ln
1
( )
ln
k
k
B
x xk
Bx x x x
B B
估计迭代次数
数值分析
数值分析
( ) (0)
( ) (0) (0)
( ) (0)
|| || || || ||| || ( ( )) || ||
( ( ))
0 1 || || || || .
( ( )) .
k k
k k k
k
k
k
B
B B
B
B
由
说明 表示迭代误差的缩减因子,若希望
实际的缩减因子为( ),即
则可令
渐近收敛速度
610
6ln10
ln(
ln
( ))
ln( ( ))
kB
kB
由此,可估计出所需的迭代次数
相当于相对误差限,如取 ,则有
ln( ( ))R B 为迭代格式的渐定义 近收敛速度。
数值分析
数值分析
( 1) ( ) ( )
3 2 3
1 2 1( ), ( 0,1, ...)k k k
A b
x x Ax b kAx b
已知 , ,用迭代公式
求解 。问 取什么实数可使迭代收敛,且 为何值时,
例:
收敛最快。
23 25 4 ( 1)( 4)
1 2I A
1 , 1 4 ,B I A 1 2迭代矩阵 的特征值为
1 1 1 1 1 2 0,1
1 4 1 1 1 4 1 0,2
1, 4,A 1 2的特征值为
B I A (1)迭代矩阵解:
数值分析
数值分析
21 1 4 (1 ) 1 4 5 2 ,
52
5
当 时,收敛最快。
1
4
1 4
1
1
1
2
2
5
10
2 当 时,迭代格式收敛。
数值分析
数值分析
( )( )
x Bx g I B x gI B
实际计算中,存在舍入误差
当 呈病态时,迭代
舍入误差分析
解会失真。
数值分析
数值分析
二 . 几种实用的基本迭代法 1 、 Jacobi 迭代法 2 、 Gauss-Seidel 迭代法 3 、超松弛迭代法( SOR) 4 、对称超松弛迭代法( SSOR) 5 、块超松弛迭代法( BSOR 法)
数值分析
数值分析
1 、 Jacobi 迭代
12 1
2
1
21
1 , 1
2
,
11
2
n
n
n n
n nnn n
a
a
A D
a
a
a
U
a
L
a
a
a
a
4 2 2
1 4 2
1 1 4
4 0 0 0 0 0 0 2 2
0 4 0 , 1 0 0 , 0 0 2
0 0 4 1 1 0 0 0 0
A D L U
D L U
例:
数值分析
数值分析
1 1
1 1
( )
( ),
J
J
Ax b x D L U x D b
B x g
B D L U g D b
于是
其中
( 1) ( )k kJ
Jaco
x x g
i
B
b
迭代的矩阵格式
Jacobi 迭代矩阵
1 1
( )
( )
( )
Ax b D L U x b
Dx L U x b
x D L U x D b
数值分析
数值分析
推导其分量形式
11 1 12 2 13 3 1 1
22 2 21 1 23 3 2 2
1 1 2 2 1 1
n n
n n
nn n n n nn n n
a x a x a x a x ba x a x a x a x b
a x a x a x a x b
第 i 个方程除以 aii(i =1,2,…,n), 得
( ) ( )Ax b D L U x b Dx L U x b 由 得
13 112 11 2 3
11 11 11 11
23 221 22 1 3
22 22 22 22
1 2 11 2 1
nn
nn
n n nn nn n
nn nn nn nn
a aa bx x x x
a a a aa aa b
x x x xa a a a
a a a bx x x x
a a a a
数值分析
数值分析
13 112 11 2 3
11 11 11 11
23 221 22 1 3
22 22 22 22
1 2 11 2 1
nn
nn
n n nn nn n
nn nn nn nn
a aa bx x x x
a a a aa aa b
x x x xa a a a
a a a bx x x x
a a a a
Jacobi 迭代的分量形式( 1) ( ) ( ) ( )13 112 1
21 311 11 11 11
( 1) ( ) ( ) ( )23 221 21 32
22 22 22 22
( 1) ( ) ( ) ( )1 2 11 2 1
k k k knn
k k k knn
k k k kn n nn nn n
nn nn nn nn
a aa bx x x x
a a a aa aa b
x x x xa a a a
a a a bx x x x
a a a a
数值分析
数值分析
112 1
11 11 11( )1
2 221 ( )( ) 2
2222 22
( )
1 2
0
0,
0
n
k
n kk
J
kn
nn n
nnnn nn
aa b
a a ax
a bax
aa aB x g
xba a
aa a
令: ,
则 x(k+1)=BJx(k)+g ,
这里 BJ=D-1(L+U) , g=D-1b
数值分析
数值分析
( 1) ( )
1
( ) / ,1, 2, ,
nk k
i i ij j iijj i
x b a x ai n
( 1) ( )k kJ
Jaco
x x g
i
B
b
迭代的矩阵格式
JacobiJacobi迭代公式(分量形式)迭代公式(分量形式)
给出初始向量 x(0), 即可得到向量序列: x(1),x(2),…,x(k),…
若 x(k) → x*, 则 x* 是解。
数值分析
数值分析
例 1 :设方程组为
31032
2024
1225
321
321
321
xxx
xxx
xxx
解: Jacobi 迭代格式为试写出其 Jacobi 分量迭代格式以及相应的迭代矩阵,并求解。
103
103
51)323(
101
521
41)220(
41
512
51
52)212(
51
)(2
)(1
)(2
)(1
)1(3
)(3
)(1
)(3
)(1
)1(2
)(3
)(2
)(3
)(2
)1(1
kkkkk
kkkkk
kkkkk
xxxxx
xxxxx
xxxxx
故 Jacobi 迭代矩阵为 2 1
05 5
1 104 2
31 05 10
JB
取 x(0)=(0,0,0)t, e=10-3, 终止准则:‖ x(k)-x(k-1)‖<e
x(14)=
-3.9997
2.9998
1.9998
数值分析
数值分析
例 2 :设方程组为 1 2 3
1 2 3
1 2 3
5 2 12
4 2 20
2 3 10 3
x x x
x x x
x x x
解: Gauss-Seidel 迭代格式为
试写出 Gauss-Seidel 迭代格式 .
( 1) ( ) ( ) ( ) ( )1 2 3 2 3
( 1) ( 1) ( ) ( 1) ( )2 1 3 1 3
( 1) ( 1) ( 1) ( 1) ( 1)3 1 2 1 2
1 2 1 12( 12 2 )5 5 5 5
1 1 1(20 2 ) 54 4 2
3 31 1(3 2 3 )10 5 10 10
k k k k k
k k k k k
k k k k k
x x x x x
x x x x x
x x x x x
2 、 Gauss-Seidel 迭代法
数值分析
数值分析
( 1) ( ) ( ) ( )13 112 121 3
11 11 11 11
( 1) ( 1) ( ) ( )23 221 21 32
22 22 22 22
( 1) ( 1) ( 1) ( 1)1 2 11 2 1
k k k knn
k k k knn
k k k kn n nn nn n
nn nn nn nn
a aa bx x x x
a a a a
a aa bx x x x
a a a a
a a a bx x x x
a a a a
Gauss-Seidel 迭代的分量形式
1( 1) ( 1) ( )
1 1
( ) / ,
1, 2, ,
i nk k k
i i ij j ij j iij j i
x b a x a x a
i n
数值分析
数值分析
( 1) ( ) ( )1312 121 3
11 11 11
( 1) ( 1) ( )2321 21 32
22 22 22
( 1) ( 1) ( 1)31 32 33 1 2
33 33 33
k k k
k k k
k k k
aa bx x x
a a aaa b
x x xa a aa a b
x x xa a a
由
( 1) ( ) ( )11 1 12 2 13 3 1
( 1) ( 1) ( )22 2 21 1 23 3 2
( 1) ( 1) ( 1)33 3 31 1 32 2 3
k k k
k k k
k k k
a x a x a x b
a x a x a x b
a x a x a x b
得
( 1) ( 1) ( )k k kDx b Lx Ux
21
31 32
12 13
23
0 0 0
0 0
0
0
0 0
0 0 0
L a
a a
a a
U a
推导 Gauss-Seidel 迭代法的矩阵形式
数值分析
数值分析
( 1) ( ) ( ) ( )13 112 121 3
11 11 11 11
( 1) ( 1) ( ) ( )23 221 21 32
22 22 22 22
( 1) ( 1) ( 1) ( 1)1 2 11 2 1
k k k knn
k k k knn
k k k kn n nn nn n
nn nn nn nn
a aa bx x x x
a a a aa aa b
x x x xa a a a
a a a bx x x x
a a a a
由
( 1) ( ) ( ) ( )11 1 12 2 13 3 1 1
( 1) ( 1) ( ) ( )22 2 21 1 23 3 2 2
( 1) ( 1) ( 1) ( 1)1 1 2 2 1 1
k k k kn n
k k k kn n
k k k knn n n n nn n n
a x a x a x a x b
a x a x a x a x b
a x a x a x a x b
得
( 1) ( 1) ( )k k kDx b Lx Ux
数值分析
数值分析
( )Ax b D L x b Ux
( 1) ( 1) ( )
( 1) ( )
( 1) 1 ( ) 1
( )
( ) ( )
k k k
k k
k k
Dx b Lx Ux
D L x b Ux
x D L Ux D L b
( 1) ( )k kGx B x g
Gauss-Seidel迭代的矩阵格式
Gauss-Seidel 迭代矩阵1 1( ) , ( )GB D L U g D L b 其中
数值分析
数值分析
1( 1) ( 1) ( )
1 1
( ) / ,1, 2, ,
i nk k k
i i ij j ij j iij j i
x b a x a x ai n
( 1) ( )
1 1( ) , ( )
k kG
G
x B x g
B D L U g D L g
Gauss-Seidel迭代
中
的矩阵格式
其
Gauss-SeidelGauss-Seidel 迭代公式迭代公式
给出初始向量 x(0), 即可得到向量序列: x(1),x(2),…,x(k),…
若 x(k) → x*, 则 x* 是解。
数值分析
数值分析
max
max
, , ,
:
( ) 0,( 1,2, , )
1, ,
1 :
0
A b K
x i i n
k
Gauss Seidel x b
K
ER
A
给出 和允许误差界 表示最大迭代次数计算步骤如下①置②对 循环执行到第⑨步③置
算法 迭代法求解
( ) ( 1)
( )( , , ) , ,
( , , ) ,
k k
kJacobi k i j x x
k i j x
程序实现:
Gaus迭代法:三套循环 ,两套数组s-seid 迭代法:三套循环 ,一套数组el
数值分析
数值分析
1,2, ,
( )
0
( ) ( , ),
( 1, 2, , ; )
( ) ( ( ) ) / ( , )
( )
,
,
, ,
i n
SA x i
sum
sum sum x j a i j
j n j i
x i b i sum a i i
PR x i SA
PR ER ER PR
ER
x ER k
对 循环执行到第⑧步④⑤
⑥⑦
⑧如果 则⑨如果 停机。⑩输出结果
数值分析
数值分析
1 2 3
1 2 3
1 2 3
1 1 1 1 1 20
2 4 3 4 3 21 1 1 1 1
04 5 4 3 51 1 1 1 1 5
3 5 5 3 3 3
x x x
x x x
x x x
用Gauss-seidel迭代法求解线性方程组
( )
( )
( )
例:
Ab.ma(1,1)=1/2+1/4+1/3;a(1,2)=-1/4;a(1,3)=-1/3;a(2,1)=a(1,2);a(2,2)=1/4+1/3+1/5;a(2,3)=-1/5;a(3,1)=a(1,3);a(3,2)=a(2,3);a(3,3)=1/3+1/5+1/3;b(1)=20/2;b(2)=0;b(3)=5/3;
数值分析
数值分析
function [x,k]=gs(A,b)[n n]=size(A);x=zeros(1,n);for k=1:1000 error=0; for i=1:n s=0;xb=x(i); for j=1:n if i~=j,s=s+A(i,j)*x(j);end end x(i)=(b(i)-s)/A(i,i); error=error+abs(x(i)-xb); endif error/n<0.0001,break;endendfprintf('k.no.=%3.0f,error=%7.2e\n',k,error)
数值分析
数值分析
2
3
4
A
A
D A Jacobi
对称正定 Gauss-Seidel迭代法收敛若 是对称正定的
准则 :准则 ,
则 是对称正定 迭:
代法收敛
( ) 1,
|| || 1
( ) 1
|| || 1
J
J
G
G
BJacobi
B
B
B
收敛
Gauss-Sei
一
d
般收敛原则
el收敛
,
|| || 1
1
,2 J
A
A Jacobi
B Jacobi
由 来直接判断(充分准则)严格对角占优 迭代法 Gauss-Seidel
迭代法收敛迭代法 Gauss-Se
实用准则:准则 :
准 i del迭则 : 代法收敛.
收敛准则
数值分析
数值分析
1
11
,
( ) max 1
.
n
ii ijj
j i
nij
J Ji n
j iij i
A a a
aB B
a
Jacobi
严格对角占优 即
由
所以 迭代法收敛
1 A Jacobi
证明准则 : 严格对角占优 迭代法收敛Gauss-Seidel迭代法收敛
1 ,
0
,
:
J J
ijij
ii
B I D A B
i j
ab
Jacob
i ja
i
且 的元素为证明 ① 迭代法
数值分析
数值分析
1
1
1det( ) det(( ) ) 0
, ,
1det( ) 0 det(( ) ) 0
D L D L U
A A
D L D L U
上式可改写为
已知 严格对角占优 的对角元非零
故 ,只有
1( ) .GGauss Seidel B D L U
Gauss Seidel
迭代法的迭代矩阵为
② 迭代法
1
1,
, ( ) 0 ,
det( ) det[ ( ) ] 0
, G
G G
G
B
B x x I B x
I B I D L U
设 有特征值由 方程组 有非零解 于是有反证
1(( ) ) ,A D L U
由 严格对角占优可推出 也严格对角占优
数值分析
数值分析
1(( ) )A D L U
由 严格对角占优可推出 也严格对角占优
5 2 2
1 5 2
1 1 5
2 25
1 21 ( ) 1 5
1 1 5
A D L U
D L U
= 严格对角占优
当 时, 也严
例:
格对角占优
1, det(( ) ) 0 ,
1, ( ) 1, .G G
D L U
B B G S
是非奇异阵 应有 ,与所设矛盾
故 的特征值 即 收敛
数值分析
数值分析
, , 2,
1.
2.
3.
Jacobi Gauss Seidel
A Gauss Seidel D AJacobi
对一个任意给定的系数矩阵迭代法和 迭代法可能同时收敛,或
同时不收敛,或者一个收敛而另一个不收敛。在都收敛的情况下,其收敛的速度也不一定是哪一种一定快。对称正定 一定收敛 但 不一
注:
定也是对称正定 所以 法未必收敛。例如
|A|=12+4-15=1, |2D-A|=12-4-15=-7
1 2 1 1 2 1
2 6 1 ,2 2 6 1
1 1 2 1 1 2
A D A
正定 不正定
数值分析
数值分析
例 : 讨论用 Gauss-Seidel 迭代法求解方程组 Ax=b 时的收敛性,已知 3 1 2
0 4 1
1 0 2
A
解 :(1) 对 A :不是严格对角占优的矩阵,无法用充分准则 I ,
(2) 考虑充分准则 II ,计算 Jacobi 迭代矩阵 BJ=D-1
( L+U ) =I-D-1A3 0 0 0 0 1 2
4 0 0 0 0 0 1
2 1 0 0 1 0 0
D L U
, ,
数值分析
数值分析
1 20 3 310 0 , 14
1 0 02
J J
可求出
不满足充分准则 II ,故无法判断。
先求出 Gauss-Seidel 迭代矩阵 BG=(D-L)-1U
(3) 考虑用定理 2 的充分条件
1 20 3 310 0 4
1 10 6 3
G
1G
1
5
4G
不满足定理 2 的充分条件,故无法判断。
数值分析
数值分析
,故收敛易知
)(,得到 ,
1)(
2212
10
0)24
1)
3
1(()Β-det(
max
321
G
G
i
(4) 再用定理 1 的充要条件1 20 3 3
10 0 41 10 6 3
G
数值分析
数值分析
例 : 讨论用 Jacobi 迭代法和 Gauss-Seidel 迭代法求解方程组 Ax=b 时的收敛性,如果收敛,并比较哪种方法收敛较快,其中 3 0 2
0 2 1
2 1 2
A
解 : (1) 对 Jacobi 方法,迭代矩阵20 0 310 0 2
11 02
JB
111
12J ( ) , 故方法收敛。
数值分析
数值分析
(2) 对 Gauss-Seidel 方法,迭代矩阵1 20 0 31 0
11 0 0 0 21 11 0 0220 0 310 0 2
110 0 12
GB
111
12G ( ) , 故方法收敛。
11 11(3)
12 12G J ( ) ( )
Gauss-Seidel 方法比 Jacobi 方法收敛快。
数值分析
数值分析
3 、超松弛迭代法( SOR 法)
( 1) ( ) ( ) ( )13 112 121 3
11 11 11 11
( 1) ( 1) ( ) ( )23 221 21 32
22 22 22 22
( 1) ( 1) ( 1) ( 1)1 2 11 2 1
k k k knn
k k k knn
k k k kn n nn nn n
nn nn nn nn
a aa bx x x x
a a a a
a aa bx x x x
a a a a
a a a bx x x x
a a a a
( 1)(1)
kx
用Gauss-seidel迭代法计算
( 1)( 1) ( )
(2)
(1 ) , 1,2, ...,kk k
ii ix x x i n
引入松弛因子 ,
数值分析
数值分析
以三阶方程为例,推导超松弛迭代法( SOR 法)的分量形式
( 1) ( ) ( )1312 121 3
11 11 11
( 1) ( 1) ( )2321 21 32
22 22 22
( 1) ( 1) ( 1)31 32 33 1 2
33 33 33
k k k
k k k
k k k
aa bx x x
a a aaa b
x x xa a aa a b
x x xa a a
( 1)(1)
kx
用Gauss-seidel迭代法计算
( 1)( 1) ( )(1 ) , 1,2, 3
(2)kk k
ii ix x x i
引入松弛因子 ,
( 1) ( ) ( ) ( )1312 1 112 11 3
11 11 11 11
( 1) ( 1) ( ) ( )2321 2 221 3 22
22 22 22 22
( 1) ( 1) ( 1) ( )31 32 3 333 1 2 3
33 33 33 33
( ) (1 )
( ) (1 )
( ) (1 )
k k k k
k k k k
k k k k
aa b ax x x x
a a a aaa b a
x x x xa a a aa a b a
x x x xa a a a
数值分析
数值分析
( 1) ( ) ( ) ( )1312 1 112 11 3
11 11 11 11
( 1) ( 1) ( ) ( )2321 2 221 3 22
22 22 22 22
( 1) ( 1) ( 1) ( )31 32 3 333 1 2 3
33 33 33 33
( ) (1 )
( ) (1 )
( ) (1 )
k k k k
k k k k
k k k k
aa b ax x x x
a a a aaa b a
x x x xa a a aa a b a
x x x xa a a a
( 1) ( ) ( ) ( ) ( )1 1 11 1 12 2 131 3
11
( 1) ( ) ( 1) ( ) ( )2 2 21 1 22 2 23 32
22
( 1) ( ) ( 1) ( 1) ( )3 3 3 31 1 32 2 33 3
33
( )
( )
( )
k k k k k
k k k k k
k k k k k
x x b a x a x a xa
x x b a x a x a xa
x x b a x a x a xa
数值分析
数值分析
( 1) ( ) ( ) ( ) ( )13 112 1 112 11 3
11 11 11 11 11
( 1) ( 1) ( ) ( ) ( )23 221 2 221 3 22
22 22 22 22 22
( 1) ( 1) ( 1)1 2 11 2 1
( ) (1 )
( ) (1 )
(
k k k k knn
k k k k knn
k k kn n nnn n
nn nn nn
a aa b ax x x x x
a a a a aa aa b a
x x x x xa a a a a
a a ax x x x
a a a
( 1) ( )) (1 )k kn nnn
nn nn
b ax
a a
( 1) ( ) ( ) ( )1 1 11 1 11
11
( 1) ( ) ( 1) ( ) ( )2 2 21 1 22 2 22
22
( 1) ( ) ( 1) ( 1) ( )1 1 1 1
( )
( )
( )
k k k kn n
k k k k kn n
k k k k kn n n n nn n nn n
nn
x x b a x a xa
x x b a x a x a xa
x x b a x a x a xa
数值分析
数值分析
1( 1) ( ) ( 1) ( )
1
1,2, ,
i nk k k k
i i i ij j ij jj j iii
x x b a x a xa
i n
( )
SORSOR迭代公式(分量形式)迭代公式(分量形式)
1,
1,
1,
Gauss seidel
为 迭代法,超松弛迭代法,低松弛迭代法。
数值分析
数值分析
推导 SOR 迭代格式的矩阵形式(以三阶方程为例)( 1) ( ) ( ) ( )1312 1 11
2 11 311 11 11 11
( 1) ( 1) ( ) ( )2321 2 221 3 22
22 22 22 22
( 1) ( 1) ( 1) ( )31 32 3 333 1 2 3
33 33 33 33
( ) (1 )
( ) (1 )
( ) (1 )
k k k k
k k k k
k k k k
aa b ax x x x
a a a aaa b a
x x x xa a a aa a b a
x x x xa a a a
( 1) ( ) ( ) ( )11 12 2 13 1 11 11 3
( 1) ( 1) ( ) ( )22 21 1 23 3 2 22 22
( 1) ( 1) ( 1) ( )33 3 31 1 32 2 3 33 3
( ) (1 )
( ) (1 )
( ) (1 )
k k k k
k k k k
k k k k
a x a x a x b a x
a x a x a x b a x
a x a x a x b a x
)()()1()1( )1()( kkkk DxUxLxbDx
数值分析
数值分析
推导 SOR 迭代格式的矩阵形式( 1) ( ) ( ) ( ) ( )13 112 1 11
2 11 311 11 11 11 11
( 1) ( 1) ( ) ( ) ( )23 221 2 221 3 22
22 22 22 22 22
( 1) ( 1) ( 1)1 2 11 2 1
( ) (1 )
( ) (1 )
(
k k k k knn
k k k k knn
k k kn n nnn n
nn nn nn
a aa b ax x x x x
a a a a aa aa b a
x x x x xa a a a a
a a ax x x x
a a a
( 1) ( )) (1 )k kn nnn
nn nn
b ax
a a
( 1) ( ) ( ) ( )11 1 12 2 1 1 11 1
( 1) ( 1) ( ) ( ) ( )22 2 21 1 23 3 2 2 22 2
( 1) ( 1) ( 1) ( 1) ( )1 1 2 2 1 1
( ) (1 )
( ) (1 )
( ) (1 )
k k k kn n
k k k k kn n
k k k k knn n n n nn n n nn n
a x a x a x b a x
a x a x a x a x b a x
a x a x a x a x b a x
)()()1()1( )1()( kkkk DxUxLxbDx
数值分析
数值分析
( 1) ( 1) ( ) ( )
( 1) ( )( ) (1 )
( ) ( (1 ) )
k k k k
k kDx b Lx Ux DxD L x U D x b
( 1) ( )
1
1
( ) ( (1 ) )
( )
k kx B x g
B D
SOR
L U D
g D L b
迭代法的矩阵形式
迭代矩阵右端向量收敛准则
( ) 1
|| || 1
BSOR
B
一般准则 收敛
用 加速,收敛性与 直接有关,因此,要研究如
实 准则:何选择
用
数值分析
数值分析
1
1
1
det( ) det(( ) ) det( (1 ) )1
(1 ) (1 )n
n niin
iii
i
B D L U D
aa
0 2SOR : 方法收敛的必要条件是定理1( ) ( (1 ) )B D L U D 证 :明
1 21
det( )n
n ii
B B
又设 的特征值为 , , , ,则又有
1
1n
ni
i
于是有 ( )
1
1 (n
n
ii
B
n( )) 1 B ( )
11 1
0 2
SOR BSOR
再由 迭代收敛的充要条件( )即可得知,若 方法收敛,则有
数值分析
数值分析
1
2
选择最优松弛因子
实用中
选择 的实用方
采取试算法是
法()
( ) 最有效的)(11
22
J
optB
SOR 法收敛性的结论:( 1 ) SOR 方法收敛的必要条件为 0< <2( 2 )若系数阵 A 对称正定,则当 0< <2 时, SOR 方法收敛
( 3 )若系数阵 A 严格对角占优,则当 0< 1时, SOR 方法收敛。
数值分析
数值分析
max1
(1) 1.1 ~ 1.8
(2)
(3)
| |max ii n
x k k
:实际计算和程序实现
初值
计算
迭代终止标准
在计算机上采用动态计算形式
1( 1) ( ) ( 1) ( )
1
( )i n
k k k ki i i ij j ij j
j j iii
x x b a x a xa
1
( )
( 1 2 )
n
i i ij jjii
i i i
x b a xa
x x x i n
,, ,
数值分析
数值分析
max
2 SOR x
b K
b
给出 , , 和允许误差界 , 表示最大迭代次数,计算
算法 方法求解
步骤如下:
(1) x(i)=0 (i=1,2,…,n)
(2) 对 k =1,…,Kmax, 循环计算到第 (7) 步(3) 置 ER=0
数值分析
数值分析
1,2, , , (6)(4) 0
( ) ( , ) ( 1,2, , )(5) ( ( ) ) / ( , )(6)
( ) ( )
(7)(8) , , .
i nsum
sum sum x j a i j j nDx b i sum a i i
Dx ER ER Dx
x i x i Dx
ERx ER k
对 循环执行到第 步
如果 则
如果 ,停机。输出结果
数值分析
数值分析
4 、对称超松弛迭代法( SSOR法)
1( ) ( )2
1( ) 1 ( ) 12
( )
1 11( ) ( )( ) ( )2
1( )(
1
) 2
2
( ) ( (
(1) ,
1 ) )
( ) ( (1 ) ) ( )
( ),( 1, , )
k k
k k
kf f
i nk kk ki i ij j ij j
j j ii
k
i
k
D L x U D x b
x D L U D x D L bB x g
x x b a x a x
SOR x
i n
x
a
用向前迭代
分量形
的 方 由
式
法, 求
数值分析
数值分析
1( )( 1) 2
1( )( 1) 1 12
1( )
2
1 1( )
1(
( )( 1) ( 1)2
) ( 1)2
2
1 1
( ) ( (1 ) )
( ) ( (1 ) ) ( )
( )
( , ,
(2)
1
kk
kk
k
b bi nk kk k
i i i ij j ij jj j
k
ii
k
i
D U x L D x b
x D U L D x D U b
B x g
x x b a x a xa
i n n
SOR x x
分量形
再用向
式
后迭代的 方法,由 求 。
, 2,1)
数值分析
数值分析
SSOR 迭代法的矩阵形式:
fb
kk
BBS
gxSx
其中
)()1(
注:
( 1 )关于 的收敛条件和准则与 SOR 方法相同;
( 2 )收敛快慢对 的选取不敏感。
数值分析
数值分析
5 、块超松弛迭代法( BSOR 法)
1( 1) ( ) ( 1) ( )
1
1,2, ,
i nk k k k
ii i ii i i ij j ij jj j i
A X A X B A X A X
i m
( )
11 12 1 1 1
21 22 2 2 2
1 2
...
...
... ... ... ...
...
m
m
m m mm m m
A A A X B
A A A X B
A A A X B
数值分析
数值分析
1.案 例 1 ( 热传导问题 )
设有一维热传导方程的初边值问题
试用数值方法求出 t=0.2 时刻金属杆的温度分布 .
0),1(),0(
)10()sin()0,(
)0,10(2
2
tTtT
xxxT
txx
T
t
T
三.应用实例
数值分析
数值分析
解 :(1) 对空间进行离散 .
.01.0
,1.0
时间间隔取空间间隔h
(2) 对微分算子进行离散 .
)(
),(),(2),(),(
)(),(),(
),(
2
2
11
2
2
1
hO
h
txTtxTtxTtx
x
T
OtxTtxT
txt
T
njnjnjnj
njnjnj
t
0.02
0.01
00 0.1 0.2 …. 0.9 1 x
数值分析
数值分析
2
11
2
2
1
2),(
),(
h
TTTtx
x
T
TTtx
t
T
nj
nj
nj
nj
nj
nj
nj
采用无条件稳定的 Crank-Nicholson 格式 , 则有
)22
(2
12
11
111
2
11
1
h
TTT
h
TTT
TT
nj
nj
nj
nj
nj
nj
nj
nj
数值分析
数值分析
101.0
01.0
)2()2(2
1
2
11
11111
1
h
TTTTTT
TT
nj
nj
nj
nj
nj
nj
nj
nj
其中
或
加上边界条件后有
09,...,2,1
,)(2
1
2
12
2
1
100
111
111
1
nn
nj
nj
nj
nj
nj
nj
TTj
dTTTTT
数值分析
数值分析
加上边界条件后有
09,...,2,1
,)(2
1
2
12
2
1
100
111
111
1
nn
nj
nj
nj
nj
nj
nj
TTj
dTTTTT
其矩阵形式为
ATn+1=dn
22/1
2/12
2/1
22/1
2/12
A
数值分析
数值分析
2.案 例 2 数值求解正方形域上的 Poisson 方程边值问题
0)1,()0,(),1(),0(
1,0),,(2
2
2
2
xuxuyuyu
yxyxfy
u
x
u
数值分析
数值分析
解 :(1)剖分求解域 .
1,,...,1,0,
,,
NNji
jhyyihxx ji
(2) 对微分算子进行离散 .
)(),(),(2),(
),(
)(),(),(2),(
),(
22
11
2
2
22
11
2
2
hOh
yxuyxuyxuyx
y
u
hOh
yxuyxuyxuyx
x
u
jijijiji
jijijiji
0 1 2 …. N N+1 X
Y
N+1
N
:
2
1
0
数值分析
数值分析
在每个点 (xi,yj) 上的有限差分方程为
2
1,,1,
2
2
2
,1,,1
2
2
2),(
2),(
h
uuuyx
y
u
h
uuuyx
x
u
jijijiji
jijijiji
Nji
fhuuuuu ijjijijijiji
,1
4 21,1,,1,1,
在边界上
0, 1, ,0 , 1 0j N j i i Nu u u u
又称为五点差分格式
(i,j)
(i,j+1)
(i,j-1)
(i-1,j) (i+1,j)
数值分析
数值分析
对非边界点进行编号 :
顺序为 -----从下往上 ,从左往右
),(),...,,(),,(),...,,(...,
),,(),,(),,(),...,,(),,(
212
222111211
NNNNN
N
yxyxyxyx
yxyxyxyxyx
相应的解向量和右端向量分别为
TNNN
NNN
TNNN
NNN
ff
fffffffhf
uu
uuuuuuuu
),...,
,,...,,...,,,,...,,(
),...,
,,...,,...,,,,...,,(
,,2
,12,2,22,11,1,21,12
,,2
,12,2,22,11,1,21,1
数值分析
数值分析
Nji
fhuuuuu ijjijijijiji
,1
4 21,1,,1,1,
0, 1, ,0 , 1 0j N j i i Nu u u u
0, 1, ,0 , 1
( 1) ( ) ( ) ( ) ( ) 2, 1, 1, , 1 , 1
0
1:
1 :
( ) / 4
j N j i i N
k k k k ki j i j i j i j i j ij
u u u u
for j N
for i N
u u u u u h f
end
end
Jacobi迭代格式:
数值分析
数值分析
Nji
fhuuuuu ijjijijijiji
,1
4 21,1,,1,1,
0, 1, ,0 , 1 0j N j i i Nu u u u
0, 1, ,0 , 1
( 1) ( 1) ( ) ( 1) ( ) 2, 1, 1, , 1 , 1
0
1 :
1 :
( ) / 4
j N j i i N
k k k k ki j i j i j i j i j ij
u u u u
for j N
for i N
u u u u u h f
end
end
Gauss-Seidel迭代格式:
数值分析
数值分析
Gauss-Seidel 迭代法参考程序 : n=9;b(2:n+1,2:n+1)=0.02;U=zeros(n+2,n+2);e=0.000000001;for k=1:1000 % 迭代求解 er=0; for j=2:n+1 for i=2:n+1 Ub=U(i,j); U(i,j)=(U(i-1,j)+U(i+1,j)+U(i,j-1)+U(i,j+1)+b(i,j))/4; er=er+abs(Ub-U(i,j)); %估计当前误差end end if er/n^2<e,break;end % 判断是否达到计算精度,如果达到则退出循环end
f(x,y)=2, h=0.1
数值分析
数值分析
差分方程组的矩阵形式为 Au=f
如果把每一条线上的网点看作一个组 , 如
TNNNNN
TN
TN
TNNNNN
TN
TN
fffhb
fffhb
fffhb
uuuv
uuuv
uuuv
),...,,(
,......,),...,,(
,),...,,(
),...,,(
,......,),...,,(
,),...,,(
,,2,12
2,2,22,12
2
1,1,21,12
1
,,2,1
2,2,22,12
1,1,21,11
数值分析
数值分析
其中
NNAI
I
AI
IA
A22
11
NN b
b
b
f
v
v
v
u2
1
2
1
41
1
41
14
iiA
可用块迭代法
( 即线迭代法 )
求解 Au=f
数值分析
数值分析
1 1 , 1jj j j j jA v v v b j N
0 1 0Nv v 0 1
( 1) ( ) ( )1 1
0,
1 :
(
N
k k kjj j j j j
v v
for j N
A v v v b
end
块Jacobi迭代格
可用追赶法求解)
式:
0 1
( 1) ( 1) ( )1 1
0,
1 :
(
N
k k kjj j j j j
v v
for j N
A v v v b
end
块Gauss-S
可用追赶法
eidel迭代
求解)
格式:
数值分析
数值分析
三版习题 P139-----20 , 23 , 24 , 25 ,22
二版习题 P149-----2, 5, 6, 7,4
( 1) ( ) ( )
2 0 1 1
0 5 0 , 3
2 0 3 1
( ), ( 0,1,2, )
.
k k k
A b
x x a Ax b k
Ax b a a
,已知 用迭代公式
求解 问 取什么实数可使迭代收敛,且 为何值时收敛最快?