第三章 线性方程组的解法 3 .3 lu 分解与矩阵求逆

29
1 ii n i j j ij i i u x u b x 1 nn n n n n a a a a a a a a a A 2 1 2 22 21 1 12 11 b Ax 第第第 第第第第第第第第 3.3 LU 第第第第第第第

Upload: ignatius-eaton

Post on 14-Mar-2016

189 views

Category:

Documents


6 download

DESCRIPTION

第三章 线性方程组的解法 3 .3 LU 分解与矩阵求逆. 3 .3 LU 分解与矩阵求逆问题. 3.3.1 LU 分解. Gauss 消去法的消元过程矩阵描述 : 消元的每一步等价于左乘初等下三角矩阵,即: k =1, 有. 行变换相 当于左乘 初等矩阵. 其中. 第 k 次消元. 有. 即. 从而. 因此 , 消元完成后 , 有. U=A (n-1) (3-6). 故. 即. 顺序主元. 且. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

1

ii

n

ijjiji

i u

xub

x

1

nnnn

n

n

aaa

aaaaaa

A

21

22221

11211

bAx

第三章 线性方程组的解法 3.3 LU 分解与矩阵求逆

Page 2: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

2

3.3 LU 分解与矩阵求逆问题

),( )1()1( bA

)1()1()1(2

)1(2

)1(2

)1(22

)0(1

)0(1

)0(12

)0(11

0

0

nnnn

n

n

baa

baabaaa

3.3.1 LU 分解

行变换相行变换相当于左乘当于左乘初等矩阵初等矩阵

Gauss 消去法的消元过程矩阵描述 : 消元的每一步等价于左乘初等下三角矩阵,即: k=1, 有),( )0()0(

1 bAL

其中

1

11

1

211

nl

lL

niaal i

i ,,3,2)0(

11

)0(1

1

Page 3: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

3

1

11

1

,

,1

kn

kkk

l

lL

第 k 次消元

有 ),( )1()1( kkk bAL ),( )()( kk bA

1,,3,2,1 nk

)1( kk AL)(kA即

Page 4: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

4

),( )0()0( bA121 LLLn

),( )1()1( nn bA

因此 , 消元完成后 , 有

A故

为上三角矩阵。 1 )n(AU , L 为单位下三角矩阵其中:

)1(11

12

11

nn ALLL 7)-(3 LU

从而 AL 1 2L 1nL )1( nA

)1()1(

)1(2

)1(2

)1(22

)0(1

)0(1

)0(12

)0(11

nn

nnn

n

n

ba

baabaaa

U=AU=A(n-1) (n-1) (3-6)(3-6)

8)(3 11

12

11

nLLLL

Page 5: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

5

11

11

1

1,3,2,1,

2,12,11,1

3231

21

nnnnn

nnn

lllllll

lll

L

)1(

)1(2

)1(22

)0(1

)0(12

)0(11

nnn

n

n

a

aaaaa

)(nAU

且 UdetAdet 顺序主元

n

i

iiia

1

)(

Page 6: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

6

定义定义 .. 称 A=LU ( 3 - 7 )式为矩阵 A 的 LU 分解或三角分解。当 L 为单位下三角矩阵时,称为 Doolittle 分解。当 U 为上三角矩阵时,称为 Crout 分解。

解解 :: 由上述分析不难得到

nnnkn

knkkk

nk

aaa

aaa

aaa

A

1

1

1111

1

1

1

1

1

nkn

k

ll

l

)(

)()(

)1(1

)1(1

)1(11

nnn

kkn

kkk

nk

a

aa

aaa

阶顺序主子式k

kA

, kkk ULA kAdet kUdet

k

i

iiia

1

)(

kL kU

问题问题:矩阵 A 存在 LU 分解(即 Gauss 消去法可以执行)的条件是什么?

Page 7: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

7

nkAk

,,2,10det

nia iii

,,2,10)(

Gauss 消去法可以执行

定理定理 3.13.1

0,det AD子式n A若 阶方阵 的顺序主 kk

nk ,,2,1 .且唯一. A LU则 的 分解存在

[[ 证证 ]] 存在性证明见前;唯一性证明(略) .

Page 8: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

8

3.3.2 基本的三角分解法 (Doolittle 法 )

0,D的顺序主子式)(an A若 阶方阵 knnij Adet k nk ,,2,1 即,一A LU的 分解存在且唯,则由上节可知

nnnkn1

knkkk1

1n1k11

aaa

aaa

aaa

A

1ll

1l

1

nkn1

k1

)(nnn

)(kkn

)(kkk

)(1n

)(1k

)(11

a

aa

aaa

1

11

000

LU

Page 9: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

9

1

1

1

1

1

nrn

r

ll

l

nn

rnrr

nr

u

uu

uuu

1111

nnnrn

rnrrr

nr

aaa

aaa

aaa

A

1

1

1111

上式可记为

为的第一行元素根据矩阵的乘法原理 jaA 1,njua jj ,,2,111

为元素以右行元素主对角线的第 ),,("" nrjarA rj

r

kkjrkrj ula

1 n,,2,1 r

, , ( )j r n j r

导出 U

Page 10: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

10

1

1

1

1

1,1

nrn

r

ll

l

nn

rnrr

nr

u

uu

uuu

1111

nnnrn

rr

rnrrr

nr

aaa

aaaa

aaa

A

1

,1

1

1111

同样 , 由

为素列元素主对角线以下元的第可知 ),,1( nriarA ir

r

kkrikir ula

1 1,,2,1 nr

nri ,,1

1111,1, ular ii 时显然 ni ,,3,2

导出 L

Page 11: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

11

综合以上分析 , 有njua jj ,,2,111

r

kkjrkrj ula

1 nr ,,2,1

nrj ,,

r

kkrikir ula

1 1,,2,1 nr

nri ,,1

1111 ula ii ni ,,3,2

因此可以推导出ju1 ja1 nj ,,2,1 U 的第一行

11

11 ual i

i ni ,,3,2 L 的第一列

rj

r

kkjrkrj uula

11

1rrir

r

kkrikir ulula

1

1

------(3.9)

------(3.10)

U L

Page 12: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

12

1

1

r

kkjrkrjrj ulau nr ,,2,1

nrj ,,U 的第 r 行 ------(3.11)( 逐行算出 )

rr

r

kkrikir

ir u

ulal

1

11,,2,1 nr

nri ,,1L 的第 r 列 ------(3.12)( 逐列算出 )

称上述 (3.9) ~ (3.12) 式所表示的分解过程为 Doolittle 分解

.(3.12) ~ (3.9),,

式的表达式请找出类似于分解表示为单位上三角阵的

表示为下三角阵中的如果将CroutU

LLUA思考思考

Page 13: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

13

对于线性方程组 bAx

系数矩阵非奇异 , 经过 Doolittle 分解后 LUA

Ax=L(Ux)=b 可化为下面两个三角形方程组 1)-13-(3 bLy

2)-13-(3 yUx

为中间未知量向量其中 y:

1

11

1

321

3231

21

nnn lll

lll

nn

nnnn

n

n

uuu

uuuuuuu

U,11,1

,22322

,1131211

消去回代

nn b

bb

y

yy

2

1

2

1

L=

Page 14: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

14

11 by

1

1

r

jjrjrr ylby

)143(,,3,2

nr

12122 ylby

的解的解便得到再由 bAxyUx

nn

nn u

yx

rr

n

rjjrjr

r u

xuyx

1

1,2,,2,1)153(

nnr

1

11

1

321

3231

21

nnn lll

lll

nn

n,nn,n

n,

n,

uuu

uuuuuuu

111

22322

1131211

上述解线性方程组的方法称为三角 (LU) 分解的 Doolittle 法 .

nn y

yy

x

xx

2

1

2

1

nn b

bb

y

yy

2

1

2

1

Page 15: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

15

1jj au 1

11

11 ual i

i

Doolittle 法的特点 : 紧凑 ( 无中间过程 ); 内积计算 ( 精度高 )

例例 3. 3 用 Doolittle 法解方程组

1391444321

13124330102

4

3

2

1

xxxx

72510

解解 :: 由 Doolittle 分解 14131211 uuuu 30102

Tlll 4131211 T25.05.11

逐行算出 U 的元素逐列算出 L 的元素

Page 16: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

16

2423220 uuu 5.812110

Tll 423210 T11/611/310

343300 uu 11/211/300

Tl43100 T9100

44000 u 4000

得解 ,bLy

Tyyyy 4321 T1611/172010

1

1

r

kkjrkrjrj ulau

rr

r

kkrikir

ir u

ulal

1

1

11 by

1

1

r

jjrjrr ylby

逐行算出 U 的元素逐列算出 L 的元素

Page 17: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

17

得解 ,yUx

Txxxx 4321 T4321

nn

nn u

yx

rr

n

rjjrjr

r u

xuyx

1

Doolittle 法在计算机上容易实现 , 但若按上述流程运算需要较大的存储空间 :

;)1(11 的存储位置即不再需要后的第一行求出 jauU jj

的存储位置即不再需要后的第一列求出 )2(11 ialL ii

的存储位置即不再需要后行的第求出 )( rjaurU rjrj

的存储位置即不再需要后列的第求出 )1( rialrL irir

A,b,x,L,U,y 都需要单独存储 , 而从 lij,uij 的计算过程知 :

Page 18: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

18

因此可按下列方法存储数据 :

nrrjua rjrj ,,2,1),(

1,,2,1),1( nrrila irir

有如下特点:时解三角形方程组同样 ,, bLy

的存储位置即不再需要后求出 11 by

的存储位置即不再需要后求出 )2( iby ii

Page 19: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

19

niyb ii ,,2,1,

空出的存储位置的存储可以使用因此 )1( iby ii

直接三角分解的 Doolittle 法可以用以下过程表示 :

4

3

2

1

44434241

34333231

24232221

14131211

bbbb

aaaaaaaaaaaaaaaa

45

35

25

15

44434241

34333231

24232221

14131211

aaaa

aaaaaaaaaaaaaaaa

Page 20: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

20

4

3

2

1

44434241

34333231

24232221

141312111

bbby

aaalaaalaaaluuuu

r

4

3

2

1

44434241

34333231

24232221

141312112

bbyy

aallaalluuuluuuu

r

4

3

2

1

44434241

34333231

24232221

141312113

byyy

allluulluuuluuuu

r

4

3

2

1

44434241

34333231

24232221

141312114

yyyy

ullluulluuuluuuu

r

yUL ,,可知从上式最后一个矩阵中

yUx 然后解线性方程组

存储单元 ( 位置 )

Page 21: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

21

算法的数据组织算法的数据组织

)(by

)(by)(by)(by

)(au)(al)(al)(al

)(au

)(au

)(al

)(al)(au)(au)(au)(al)(au)(au)(au)(au

nn

33

22

11

nnnnn3n3n2n2n1n1

3n3n333332323131

2n2n232322222121

2n1n131312121111

计算 (3-9)~(3-14) 得出的元素可按下框排列 :

其中 () 为老值 (A,b), 外为新值 (LU,y). 计算顺序逐框进行 : 逐行算出 U 的元素 uij; 逐列算出 L 的元素 lij. 该分解又称为 LU 分解的紧凑格式 (Doolittle 分解 ).

Page 22: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

22

例例 3.43.4 用紧凑格式的 Doolittle 法解方程组 ( 例例 3.33.3 ) 解解 ::

45

35

25

15

44434241

34333231

24232221

14131211

aaaa

aaaaaaaaaaaaaaaa

A

72510

1391444321

13124330102

7

2

5

10

139142

43221

1312423

30102

1r

ju1 ja1

11

11 ual i

i

1

1

r

kkjrkrjrj ulau

rr

r

kkrikir

ir u

ulal

1

111 by

1

1

r

jjrjrr ylby

Page 23: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

23

7

2

20

10

1391162

43113

21

21712112

330102

2r

1

1

r

kkjrkrjrj ulau

rr

r

kkrikir

ir u

ulal

1

1

7111720

10

1391162

112

113

113

21

21712112

330102

3r

11 by

1

1

r

jjrjrr ylby

Page 24: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

24

16111720

10

491162

112

113

113

21

21712112

330102

4r

L

x

U

4

3

2

1

491162

112

113

113

21

21712112

330102

yUx解

4

3

2

1

x

x

x

x

x

4

3

2

1

所以所以

y

U

nn

nn u

yx

rr

n

rjjrjr

r u

xuyx

1

Page 25: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

25

问题 : 在 Doolittle 法 ( 包括 LU 分解紧凑格式 ) 中 , 会反复用到公式

1

1

r

kkjrkrjrj ulau

rr

r

kkrikir

ir u

ulal

1

1

仍有可能为小主元做除数 ?)r(

rrrr aGaussu 1法的列主元相当于显然

法的列主元为仍然称 Doolittleurr

为此 , 也应考虑在算法中加入选取列主元即紧凑格式的Doolittle 列主元法 ( 略 ).

Page 26: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

26

Doolittle 法的特点 : 紧凑 ( 无中间过程 ); 内积计算 ( 精度高 )

说明说明 :: 若计算没有舍入误差 , 用 Gauss 消去法和 Doolittle 法求得的结果应相同 . 但在计算机上计算 , 能产生不同的结果 . 按矩阵三角分解法 (Doolittle) 的公式 (3-9)~(3-12)中有内积计算 Σxiyi, 可以用双精度运算 . 当完成内积计算后再舍入成单精度 .

Page 27: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

27

3.3.3 矩阵求逆问题常使用 LU分解求解系列方程组

( 1, ), , (3-16)nj j j jAx b j m x b R

求解时分两步 :

1. 分解 : A=LU

2. 对 j=1,…,m, 解 :

njjjj Ry,x),byL m1,(j

Tnjjj )x,...,x(x),xyU 1 m1,(j

比较 : 用 Gauss 消去法解 (3-16), 计算量约 O(1/3mn3); 用 LU分解求解计算量约 O(1/3n3+mn2); 后者优于前者 .

Page 28: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

28

当 A 可逆 , 有 AA-1=I. 若记 A-1=(X1,X2,…,Xn), I= (e1,e2,…,en), (Xi€Rn) 有 AXi=ei , (i=1,…,n) (3-17)

即 A-1=( X1,X2,…,Xn) 可从 n 个 AXi=ei 的解得到 . (3-17) 系数阵相同 ,右端项不同 . 利用 LU 分解求解 A-1 是 很好的方法 . 实际中应尽量避免求逆矩阵的问题 .

如 : 算 A-1 b 可化为 Ax=b 的求解问题 .例 3.5 不用求逆计算

111

431212321

)101(

1

Page 29: 第三章     线性方程组的解法 3 .3  LU 分解与矩阵求逆

29

本节习题① 用 LU 分解法求解 pp.89,1 题