Jacobi, Gauss

Download Report

Transcript Jacobi, Gauss

第六章
线性方程组的迭代法
— Jacobi, G-S and SOR
1
内容提要
 迭代算法基本概念
 Jacobi 迭代法和 Gauss-Seidel 迭代法
 SOR(超松弛)迭代法
 共轭梯度法
2
本讲内容
 几个基本的迭代法
 Jacobi 迭代法
 Gauss-Seidel 迭代法
 SOR(超松弛)迭代法
 迭代法收敛性分析
3
Jacobi 迭代
 Jacobi 迭代法
考虑线性方程组
Ax = b
其中 A=(aij)nn 非奇异,且对角线元素全不为 0
 将 A 分裂成 A = D - L- U, 其中
D  diag(a11 , a22 ,
 0
 a
21
L


  an1
, ann )
0
 an, n1

0


, U  




0

 a12
0
 a1n 


 an1, n 

0 
4
Jacobi 迭代
Jacobi 迭代法
令 M = D,N = L + U,可得 雅可比 (Jacobi) 迭代方法
x
( k 1)
1
 D (L  U)x
(k)
1
D b
k = 0, 1, 2, …
1
 迭代矩阵记为: J  D ( L  U )
 分量形式:
xi( k 1)
i 1
n


  bi   aij x j   aij x j  aii
j 1
j  i 1


i = 1, 2, … , n, k = 0, 1, 2, …
5
Gauss-Seidel 迭代
 x1( k 1)   b1  a12 x2( k )  a13 x3( k )   a1 n xn( k )  a11

 x2( k 1)   b2  a21 x1( k )  a23 x3( k )   a2 n xn( k )  a22


 ( k 1)
(k)
(k)
(k)
x

b

a
x

a
x


a
x

n
n1 1
n2 2
n , n 1 n 1  ann
 n
 在计算 xi( k 1) 时,如果用 x1( k1) ,
则可能会得到更好的收敛效果。
, xi(k11) 代替 x1( k ) ,
, xi(k1) ,
 x1( k 1)   b1  a12 x2( k )  a13 x3( k )   a1 n xn( k )  a11

 x2( k 1)   b2  a21 x1( k 1)  a23 x3( k )   a2 n xn( k )  a22


 ( k 1)
( k 1)
( k 1)
( k 1)
x

b

a
x

a
x


a
x
 n n1 1
n2 2
n , n 1 n 1  ann
 n
6
Gauss-Seidel 迭代
写成矩阵形式:
x ( k 1)  D 1  b  Lx ( k 1)  Ux ( k ) 
可得
x
( k 1)
  D  L  Ux
1
(k)
  D  L b
1
k = 0, 1, 2, …
此迭代方法称为 高斯-塞德尔 (Gauss-Seidel) 迭代法
 迭代矩阵记为: G   D  L  U
1
7
SOR 迭代
G-S 迭代法的分量形式
xi( k 1)   bi  ai 1 x1( k 1) 
x
(k)
i
 ai , i 1 xi(k11)  ai ,i 1 xi(k1) 
 ai ,n xn( k )  aii
i 1
n

( k 1)
(k) 
  bi   aij x j   aij x j  aii
j 1
j i


 为了得到更好的收敛效果,可在修正项前乘以一个 松弛因子
,于是可得迭代格式
xi( k 1)
i 1
n

(k)
( k 1)
(k) 
 xi    bi   aij x j   aij x j  aii
j 1
j i


8
SOR 迭代
写成矩阵形式:
x ( k 1)  x ( k )   D 1  b  Lx ( k 1)  Ux ( k )  Dx ( k ) 
可得
x
( k 1)
  D   L
1
 (1   ) D  U  x
(k)
   D   L b
1
—— SOR (Successive Over-Relaxation) 迭代方法
 迭代矩阵记为: L   D   L 
1
 (1   ) D  U 
 SOR 的优点:通过选取合适的 ,可获得更快的收敛速度
 SOR 的缺点:最优参数  的选取比较困难
9
M  D, N  L  U
 Jacobi 迭代
Jacobi、G-S、SOR
x
 D (L  U)x  D b
( k 1)
xi( k 1)
 G-S 迭代
1
(k)
1
i 1
n

(k)
(k) 
  bi   aij x j   aij x j  aii
j 1
j  i 1


M  D  L, N  U
x
x
( k 1)
( k 1)
i
  D  L  Ux
1
(k)
  D  L b
1
i 1
n

( k 1)
(k) 
  bi   aij x j   aij x j  aii
j 1
j  i 1


 SOR 迭代 M  1  D   L  , N  1  (1   ) D  U 


x ( k 1)   D   L 
x
( k 1)
i
x
(k)
i
1
 (1   ) D  U  x ( k )    D   L  b
i 1
n

( k 1)
(k) 
   bi   aij x j   aij x j  aii
j 1
j i


1
10
举例
例:分别用 Jacobi、G-S、SOR 迭代解线性方程组
 2 1 0   x1   1 
 1 3 1  x2    8 
 0  1 2   x   5 

  3  
2
x*   3 
 
 1
取初始向量 x(0) = ( 0, 0, 0 ),迭代过程中小数点后保留 4 位。
解:
 x1( k 1)   1  x2( k )  2

 ( k 1)
(k)
(k)
Jacobi 迭代:  x2   8  x1  x3  3
 ( k 1)
  5  x2( k )  2
 x3
迭代可得: x(1) = ( 0.5000, 2.6667, -2.5000 )T
x(21) = ( 2.0000, 3.0000, -1.0000 )T
11
举例
 x1( k 1)   1  x2( k )  2
G-S 迭代: 
 ( k 1)
( k 1)
(k)
x

8

x

x
 1
 2
3  3
 ( k 1)
( k 1)
x


5

x

2
 3
2
迭代可得:
x(1) = ( 0.5000, 2.8333, -1.0833 )T
x(9) = ( 2.0000, 3.0000, -1.0000 )T
12
举例
 x1( k 1)  x1( k )    1  2 x1( k )  x2( k )  2


SOR 迭代:  x2( k 1)  x2( k )    8  x1( k 1)  3 x2( k )  x3( k )  3
 ( k 1)
(k)
( k 1)
(k)
x

x



5

x

2
x

 3
3
2
3  2
取  = 1.1,迭代可得
x(1) = ( 0.5500, 3.1350, -1.0257 )T
x(7) = ( 2.0000, 3.0000, -1.0000 )T
如何确定 SOR 迭代中的最优松弛因子是一件很困难的事
13
收敛性
收敛性分析
 Jacobi 迭代收敛的充要条件 (J)<1
 G-S 迭代收敛的充要条件 (G)<1
 SOR 迭代收敛的充要条件 (L)<1
 Jacobi 迭代收敛的充分条件 ||J|| <1
 G-S 迭代收敛的充分条件 ||G|| < 1
 SOR 迭代收敛的充分条件 ||L|| < 1
14
对角占优矩阵
对角占优矩阵
定义:设 ARnn,若
| aii |
n

j 1, j  i
| aij |
( i = 1, 2, ... , n )
且至少有一个不等式严格成立,则称 A 为 弱对角占优;
若所有不等式都严格成立,则称 A 为 严格对角占优。
15
可约与不可约
不可约矩阵
定义:设 ARnn,若存在排列矩阵 P 使得
r r
( n r )( n r )
A

R
,
A

R
A
A
 11
11
22
12 
T
P AP  
,

0
A
1 r  n1
22 

则称 A 为 可约矩阵;否则称为 不可约矩阵 。
 如果 A 是可约矩阵,则方程组 Ax = b 等价于
P
T
AP  P x   P b
T
y
T
 A11 y1  A12 y2  f1

A22 y2  f2

f
即可以把原方程组化成两个低阶的方程组来处理。
16
Jacobi、G-S 收敛性
 Jacobi 和 G-S 迭代法的收敛性
定理:若 A 严格对角占优或不可约弱对角占优,则 A 非奇异
证明:板书
定理:若 A 严格对角占优或不可约弱对角占优,则 Jacobi 迭
代和 G-S 迭代均收敛
证明:板书
定理:设 A 对称且 D 正定,则 Jacobi 迭代收敛的充要条件是
A 和 2D-A 都正定。
证明:略
定理:设 A 对称且 D 正定,则 G-S 迭代收敛的充要条件是
A 正定。
证明:略
17
SOR 收敛性
 SOR 收敛的必要条件
定理:若 SOR 迭代收敛,则 0 <  < 2。
证明:板书
 SOR 收敛的充分条件
定理:若 A 对称正定,且 0 <  < 2,则 SOR 迭代收敛。
证明:板书
定理:若 A 严格对角占优或不可约弱对角占优,且 0 < 
 1,则 SOR 迭代收敛。
证明:略
18
举例
1 a a
例:设 A   a 1 a  ,给出 Jacobi 和 G-S 收敛的充要条件
a a 1


解: A 对称,且对角线元素均大于 0,故
(1) Jacobi 收敛的充要条件是 A 和 2D-A 均正定
(2) G-S 收敛的充要条件是 A 正定
A 正定
2D-A 正定
D1  1  0, D2  1  a2  0, D3  (1  a)2(1  2a)  0
0.5  a  1
D1  1  0, D2  1  a2  0, D3  (1  a)2(1  2a)  0
0.5  a  0.5
Jacobi 收敛的充要条件是:-0.5<a<0.5
G-S 收敛的充要条件是:-0.5<a<1
19
举例
 0 a a 
解法二: Jacobi 的迭代矩阵为 J   a 0 a 
 a a 0 


设  是 J 的特征值,则由 det(I - J) = 0 可得
(  - a)2 (  +2a) = 0
Jacobi 收敛的充要条件是 (J)<1  ||<1,
即 -0.5<a<0.5
20