第五节 线性代数方程组的迭代解法

83
数数数数 数数数数 数数数数数数数数数数数数数数数数数数 数数数数数数数数数数数数数数数数数数数 数数数 数数数数数数数数数数数 数数数 数数数数数数数数 ,, 1. 数数数数数数数数 2. 数数数数数数数数 数数数 数数数数数数数数数数数数 . . 数数数数数数数数数数数数 数数数数数数数数数数数数 . . 数数数数数数数数数数 数数数数数数数数数数 . . 数数数数 数数数数

Upload: neo

Post on 23-Jan-2016

204 views

Category:

Documents


8 download

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 Presentation

TRANSCRIPT

Page 1: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

迭代法适用于求解大型稀疏的线性方程组,其

基本思想是通过构造迭代格式产生迭代序列,由迭代

序列来逼近原方程组的解,因此,要解决的基本问题

是: 1. 如何构造迭代格式 2. 迭代序列是否收敛

第五节 线性代数方程组的迭代解法

一 一 . . 基本迭代法的格式及收敛性基本迭代法的格式及收敛性二 二 . . 几种实用的基本迭代法几种实用的基本迭代法三 三 . . 应用实例应用实例

Page 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

Page 3: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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 是一个重要问题

Page 4: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

Page 5: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( ) ( )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

Page 6: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( 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

Page 7: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( ) ( 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

由此,得到结论:对任意初值 ,

迭代序列 收敛

Page 8: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

由 知迭代法收敛以下证明 的充分必要条件是

证明

Page 9: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( )

,

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

于是

Page 10: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

故显然当 时

Page 11: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

例:

Page 12: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

其中

Page 13: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

构造迭代格解 式

迭代矩阵

Page 14: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( ) ( 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

设 是 的任一特征值 为相应的特征向量则有

因 是

的任一特征值 故定理得证

Page 15: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( ) ( 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

由 和证明 有

Page 16: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

: (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

又因为 ,

Page 17: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

相对误差标准。给出容许误差界

迭代终止标准

Page 18: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( ) (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

估计迭代次数

Page 19: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( ) (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 为迭代格式的渐定义 近收敛速度。

Page 20: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( 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)迭代矩阵解:

Page 21: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

21 1 4 (1 ) 1 4 5 2 ,

52

5

当 时,收敛最快。

1

4

1 4

1

1

1

2

2

5

10

2 当 时,迭代格式收敛。

Page 22: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( )( )

x Bx g I B x gI B

实际计算中,存在舍入误差

当 呈病态时,迭代

舍入误差分析

解会失真。

Page 23: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

二 . 几种实用的基本迭代法 1 、 Jacobi 迭代法 2 、 Gauss-Seidel 迭代法 3 、超松弛迭代法( SOR) 4 、对称超松弛迭代法( SSOR) 5 、块超松弛迭代法( BSOR 法)

Page 24: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

例:

Page 25: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

Page 26: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

推导其分量形式

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

Page 27: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

Page 28: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

Page 29: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( 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* 是解。

Page 30: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

例 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

Page 31: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

例 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 迭代法

Page 32: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( 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

Page 33: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( 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 迭代法的矩阵形式

Page 34: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( 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

Page 35: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( )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 其中

Page 36: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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* 是解。

Page 37: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

Page 38: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

对 循环执行到第⑧步④⑤

⑥⑦

⑧如果 则⑨如果 停机。⑩输出结果

Page 39: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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;

Page 40: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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)

Page 41: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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迭则 : 代法收敛.

收敛准则

Page 42: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

且 的元素为证明 ① 迭代法

Page 43: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

由 严格对角占优可推出 也严格对角占优

Page 44: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

是非奇异阵 应有 ,与所设矛盾

故 的特征值 即 收敛

Page 45: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

, , 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

正定 不正定

Page 46: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

例 : 讨论用 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

, ,

Page 47: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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 的充分条件,故无法判断。

Page 48: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

,故收敛易知

)(,得到 ,

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

Page 49: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

例 : 讨论用 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 ( ) , 故方法收敛。

Page 50: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

(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 方法收敛快。

Page 51: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

引入松弛因子 ,

Page 52: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

以三阶方程为例,推导超松弛迭代法( 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

Page 53: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( 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

Page 54: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( 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

Page 55: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

为 迭代法,超松弛迭代法,低松弛迭代法。

Page 56: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

推导 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

Page 57: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

推导 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

Page 58: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

( 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

一般准则 收敛

用 加速,收敛性与 直接有关,因此,要研究如

实 准则:何选择

Page 59: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

再由 迭代收敛的充要条件( )即可得知,若 方法收敛,则有

Page 60: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

1

2

选择最优松弛因子

实用中

选择 的实用方

采取试算法是

法()

( ) 最有效的)(11

22

J

optB

SOR 法收敛性的结论:( 1 ) SOR 方法收敛的必要条件为 0< <2( 2 )若系数阵 A 对称正定,则当 0< <2 时, SOR 方法收敛

( 3 )若系数阵 A 严格对角占优,则当 0< 1时, SOR 方法收敛。

Page 61: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

,, ,

Page 62: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

max

2 SOR x

b K

b

给出 , , 和允许误差界 , 表示最大迭代次数,计算

算法 方法求解

步骤如下:

(1) x(i)=0 (i=1,2,…,n)

(2) 对 k =1,…,Kmax, 循环计算到第 (7) 步(3) 置 ER=0

Page 63: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

对 循环执行到第 步

如果 则

如果 ,停机。输出结果

Page 64: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

用向前迭代

分量形

的 方 由

法, 求

Page 65: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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)

Page 66: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

SSOR 迭代法的矩阵形式:

fb

kk

BBS

gxSx

其中

)()1(

注:

( 1 )关于 的收敛条件和准则与 SOR 方法相同;

( 2 )收敛快慢对 的选取不敏感。

Page 67: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

Page 68: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

1.案 例 1 ( 热传导问题 )

设有一维热传导方程的初边值问题

试用数值方法求出 t=0.2 时刻金属杆的温度分布 .

0),1(),0(

)10()sin()0,(

)0,10(2

2

tTtT

xxxT

txx

T

t

T

三.应用实例

Page 69: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

解 :(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

Page 70: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

Page 71: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

Page 72: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

加上边界条件后有

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

Page 73: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

2.案 例 2 数值求解正方形域上的 Poisson 方程边值问题

0)1,()0,(),1(),0(

1,0),,(2

2

2

2

xuxuyuyu

yxyxfy

u

x

u

Page 74: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

解 :(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

Page 75: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

在每个点 (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)

Page 76: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

对非边界点进行编号 :

顺序为 -----从下往上 ,从左往右

),(),...,,(),,(),...,,(...,

),,(),,(),,(),...,,(),,(

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

Page 77: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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迭代格式:

Page 78: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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迭代格式:

Page 79: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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

Page 80: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

差分方程组的矩阵形式为 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

Page 81: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

其中

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

Page 82: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

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迭代

求解)

格式:

Page 83: 第五节  线性代数方程组的迭代解法

数值分析

数值分析

三版习题  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

,已知 用迭代公式

求解 问 取什么实数可使迭代收敛,且 为何值时收敛最快?