3.2 矩阵的三角分解法
? 我们知道对矩阵进行一次初等变换,就相
当于用相应的初等矩阵去左乘原来的矩阵。
因此我们这个观点来考察 Gauss消元法用
矩阵乘法来表示,即可得到求解线性方程
组的另一种直接法:矩阵的三角分解。
3.2.1 Gauss消元法的矩阵形式
)2()1(
1
)2()2(
2
)2()2(
)1()1()1(
)1()1()1(
)1()1()1(
)1()1()1(
1
31
21
1
)1(
11
)1(
1
1
1
1
1
31
1
21
)1(
11
......
...............
...............
......
......
......
...............
...............
......
......
1.,,,,,00
.,,,,,...
10
1
1
...,32i)()(( 1 )
,,.,,,,0:1
222
11211
21
22221
112
11
AAL
aa
aa
aaa
aaa
aaa
aaa
l
l
l
ni-l
a
a
laaaa
nn
n
n
nnnn
n
n
nn
i
i
in
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
??
,其矩阵形式为,,行行
令消零时,将步等价于第
则
)()()(
)3(
)3()3(
3
)3(
3
)3(
33
)2(
2
)2(
23
)2(
22
)1(
1
)1(
13
)1(
12
)1(
11
2
2
2
)2(
22
)2(
2
2
2
322
)2(
22
.,,00
.,,.,,.,,.,,.,,
.,,00
.,,0
.,,
:
),.,,,4,3(
1.,,00
.,,.,,.,,
0.,,10
0.,,010
0.,,001
02
A
aa
aa
aaa
aaaa
ALA
ni
a
a
l
l
lL
a
nnn
n
n
n
)()(
i
i
n
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
,即有左乘
时,用矩阵步等价于:若同理第
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
??
1
...
1
1
1
1......
...
1
1
...000
...............
...00
...0
...
...
2
32
1
2
1
211
1
)(
)3(
3
)3(
33
)2(
2
)2(
23
)2(
22
)1(
1
)1(
13
)1(
12
)1(
11
1221
n
n
n
nn
n
n
n
nn
l
lL
l
l
L
U
a
aa
aaa
aaaa
ALLLL
因为
以此类推可得
为上三角阵为单位下三角阵,其中
所以
U
1.,,
.,,.,,.,,
1
1
1
.,,).,,(
121
3231
21
1
1
1
2
1
2
1
1
1
1221
L
LUU
lll
ll
l
ULLLLULLLLA
nnnn
nnnn
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
???
??
?
分解。行
直接进否对矩阵因此,关键问题在于能
个三角方程:
就等价于解两由此解线性方程组
LU
A
yUx
bLy
UL
A
bx
bx
?
?
?
?
?
??
?
)(
3.2.2 Doolittle分解
11
31
31311131
11
21
21211121
1111
23
2322
131211
3231
21
333231
232221
131211
)3,2,1(1
1
1
1
3,
u
a
llua
u
a
llua
jauuak
u
uu
uuu
ll
l
aaa
aaa
aaa
nUL
jjjj
??
??
?????
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
得由;得由
时:
为例的各元素,以此分解在于如何算出
)(
3
2
233213313333
332332133133
22
123132
322332123132
1321232323132123
1221222222122122
ululau
uululak
u
ula
lulula
ulauuula
ulauuulak
???
????
?
???
????
?????
得
时:由
得由;得由;得时:
Doolittle分解
? 若矩阵 A有分解,A=LU,其中 L为单位下
三角阵,U为上三角阵,则称该分解为
Doolittle分解,可以证明,当 A的各阶顺
序主子式均不为零时,Doolittle分解可以
实现并且唯一。
? A的各阶顺序主子式均不为零,即
),.,,2,1(0
...
.........
...
1
111
nk
aa
aa
A
kkk
k
k
???
Doolittle分解
各元素方法逐行逐列求解用比较等式两边元素的
令
UL
u
uu
uuu
ll
l
aaa
aaa
aaa
nn
n
n
nnn
n
n
,
...
...
1...
1
1
...
...
...
222
11211
21
21
n2n1n
22221
12111
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?????????
Doolittle分解
。得再由;得由
时:
。得再由;得由
时
),.,,,4,3(
),.,,,3,2(1
2
),.,,,3,2(
),.,,2,1(1
:1
22
1212
22221212
122221212
11
1
11111i
1111
ni
u
ula
lulula
njulauuula
k
ni
u
a
llua
njauua
k
ii
iiii
jijjjjj
i
ii
jjjj
?
?
???
??????
?
???
????
?
Doolittle分解
?
?
?
?
?
?
?
?
????
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1
1
1
1
2
1
121
1
,.,,1,
0
0
]0.,,10.,,[
,.,,,
k
t
tjktkjkj
k
t
kjtjktjj
j
j
kkkkkj
knkkkk
nkkjulau
uulu
u
u
llla
kjuuuk
)(有
步时:计算第
?
?
Doolittle分解
?
?
?
?
?
?
?
?
????
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1
1
1
1
1
11
1
,.,,1/)(
0
0
]0.,,0,1,.,,,[
,.,,,
k
t
kktkitikik
k
t
kkiktkit
kk
k
ikiik
nkkk
nkiuulal
ulul
u
u
lla
kill
)(得
,于是由由于计算
?
?
Doolittle分解
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
?????
?
?
?
?
?
?
nnnn
n
n
kk
k
t
tkitikik
k
t
tjktkjkj
ull
uul
uuu
nkuulal
nkinkjulau
...
...
...
A
,.,,,2,1/)(
),.,,,1;,.,,,(
21
22221
11211
1
1
1
1
????
的各位各元素在计算机内存于
即
Doolittle分解
。可获解
得及再由
T
n
ii
n
ij
jijii
i
j
jijii
xxx
nniuxuyx
niylby
UL
x
yxby
),.,,,,(
1,.,,1,/)(
,.,,,2,1
21
1
1
1
?
????
???
??
?
?
??
?
?
例题
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
?
?
30
19
10
636
19134
652
.D.1
3
2
1
x
x
x
o o l i t t l e 分解求解方程组试用例
例题
。,;,,
,令、分解解:
3
2
6
2
4
6521
1
01
001
636
19134
652
1
31
11
21
131211
33
2322
131211
3231
21
??
?
???
?????
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
?
?
?
l
u
l
uuuk
u
uu
uuu
ll
l
ALU
例题
LUA
ululauk
uulal
ulau
ulauk
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?????
???
?????????
???????
4
73
652
143
12
1
43
4/)(
7)6(219
352132
233213313333
2212313232
13212323
12212222
所以
时:
,时:
例题
T
y
yyy
y
y
y
bLy
)4,1,10(
43034,12019,10
30
19
10
143
12
1
1
2
321
3
2
1
??
????????
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
即
得
)解(
、解方程组
例题
。所以方程组的解为
解得:
解
T
x
xxx
x
x
x
yUx
)1,2,3(
3,2,1
4
1
10
4
73
652
)2(
123
3
2
1
?
???
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Doolittle分解
).,.,,,,()(
),,.,,,(/)(;/)2
),.,,,)(;)1
)(
),.,,,(/)(
),.,,,(
,.,,,)2
),.,,,,(/)
)(
),.,,,,(),,.,,,,,()1(
nix
niuxuyxayx
niylbyby
yUxbLy
nkiuulala
nkkjulaua
nk
niaala
LUA
nibnjia
i
ii
n
ij
jijiinmnn
i
j
jijii
kk
k
t
tkitikikik
k
t
tjktkjkjkj
iii
iij
214
121
2
3
1
1
32
321
2
2121
1
1
1
11
1
1
1
1
11111
?
?????
????
??
?????
?????
?
???
?
??
?
?
?
?
??
?
?
?
?
?
?
输出:方程组的解;
和解;
做对;
分解
输入:
3.2.3 对称矩阵的 Cholesky分解
? 在应用数学中,线性方程组大多数的系
数矩阵为对称正定这一性质,因此利用
对称正定矩阵的三角分解式求解对称正
定方程组的一种有效方法,且分解过程
无需选主元,有良好的数值稳定性。
对称矩阵的 Cholesky分解
? A对称,AT=A
A正定,A的各阶顺序主子式均大于零。
即
),.,,2,1(0
...
.........
...
1
111
nk
aa
aa
A
kkk
k
k
???
对称矩阵的 Cholesky分解
? 由 Doolittle分解,A有唯一分解
。,也就是所以
,,有即
T
TTTT
TTTT
LLAUL
ULLULULU
LULUALU
??
???
???? )(A
对称矩阵的 Cholesky分解
? 定理 3.2.4 设 A为对称正定矩阵,则存在
唯一分解 A=LDLT,其中 L为单位下三角
阵,D=diag(d1,d2,…,dn)且 di>0(i=1,…,n)
对称矩阵的 Cholesky分解
? 证明,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
n
d
d
d
U
ULLUA
Do o l i t t l e
??
??
???
2
1
1
11
,
A
令
非奇异的上三角阵。
为为单位下三角阵,其中分解为
分解可唯一是对称正定,由因为
对称矩阵的 Cholesky分解
均大于零即
。得由;得;由得故有
的顺序主子式均大于零是正定的,则又因为
n
nnn
ddd
ddddd
dddd
A
,.,,,,
00.,,,,,.,,,,, ;0
000
A
21
212
212111
?????
???????
对称矩阵的 Cholesky分解
。所以
为单位上三角阵。为对角阵其中
故
L DUA
UD
DUdd
dd
d
d
d
U
n
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
1
...
......1
*
...
*
1
*
....,,,
*
1
22
11
2
1
1
?
?
?
对称矩阵的 Cholesky分解
。,所以故有
对称,即又因为
TT
TTTT
L DLAUL
ADLUL DUA
A
??
??? )(
推论:设 A为对称正定矩阵,则存在唯一分解
其中 L为具有主对角元素为正数的下三角矩
阵。
TLLA ?
对称矩阵的 Cholesky分解
? 证明,
0,.,,,0,0
))((
4.2.3
),.,,,,(
21
2
1
2
1
21
2
1
???
???
?
n
T
TT
n
dddL
LLLDLDL D LA
dddd i a gD
的主对角元素为其中
则由定理
令
Cholesky分解的求法
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
33
2322
131211
333231
2221
11
333231
232221
131211
21
2221
11
3?
...
......
,
l
ll
lll
lll
ll
l
aaa
aaa
aaa
nl
lll
ll
l
L
LLAA
ij
nnnn
T
为例。以如何求
令
则对称正定设
?
Cholesky分解的求法
。,得由;,得时:由
。;同理得,得由;,得时:由
22
213132
322232213132
2
212222
2
22
2
2122
11
31
31
11
21
21112121
1111
2
1111
2
1
l
lla
llllla
lalllak
l
a
l
l
a
llla
allak
?
???
?????
???
???
Cholesky分解的求法
?
?
?
?
?
?
?
???
??
??
??????
?
?
?
?
?
?
?
?
njnji
lllal
lal
n
lallllak
jj
j
k
jkikijij
j
k
jkjjjj
i
i
,.,,,2,1,,.,,,1
/)(
)(
,
3
1
1
2
11
1
2
2
1
2
33333
2
33
2
32
2
3133
有阶行列式推广到
,得时:由
Cholesky分解法
T
T
LLA
yxL
bLy
bAX
c h o l e sk y
?
?
?
?
?
?
?? 其中
分解法解线性方程组用
Cholesky分解法缺点及优点
优点:可以减少存储单元。
缺点:存在开方运算,可能会出现根号下
负数。
改进 Cholesky分解法
? 改进的 cholesky分解 A=LDLT
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
n
n
n
n
nnnn
T
nnnnnn
d
ldd
ldldd
ldldldd
lll
ll
l
DLLA
d
d
d
D
lll
ll
l
L
??
?
?
?
.........
...
...
...
1...
.........
1
1
1
)(
1...
.........
1
1
1
333
223222
113112111
121
3231
21
2
1
121
3231
21
由
改进的 cholesky分解
?
?
?
?
?
?
?
???
????
???
????
?
?
?
?
?
?
?
?
?
?
?
?
?
1
1
2
1
1
1
1
2
1
1
,.,,,2,1
)1,.,,2,1(/)(
),.,,,2,1(
)1,.,,2,1(
j
k
kikiii
j
j
k
jkkikijij
j
k
ikikii
jij
j
k
jkkikij
nidlad
ijdldlal
niddla
ijdlldla
ji
由此可得
有逐行相乘,并注意到
改进的 cholesky分解
)1,.,,,2,1,.,,,3,2(
,
1
1
1
1
???
?
?
?
?
?
?
?
?
?
??
?
??
??
?
?
?
?
?
?
ijni
lcad
d
c
l
lcac
d
c
ldlc
i
k
ikikiii
j
ij
ij
j
k
jkikijij
j
ij
ijjijij
,
成所以可将上述公式改写
,则可令为减少计算量
T
n
n
n
T
d
y
d
y
d
y
yD
d
d
d
D
DL
L
AC h o l e s k y
yx
by
bx
),.,,,,(
1
1
1
2
2
1
11
2
1
1
1
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
故
即等价于求
分解法解线性方程组用
改进的 cholesky分解算法;;
做对
做对
分解
,输入
?
?
?
?
?
?
???
????
??
?
?
??
1
1
1
1
)2(
1,.,,,2,1)1(
,.,,,3,2
.2
);,.,,2,1(),.,,,2,1(.1
i
k
ikikiiiii
j
ij
ijij
j
k
ikikijij
T
iij
lcada
d
c
lalcac
ij
ni
L D LA
nibni,ja
改进的 cholesky分解算法
。输出:;;
解;;
解
解
),.,,,2,1()3(
)1,.,,,1(
)2(
),.,,,2(
)1(
.3
1
1
1
1
11
nix
nixl
d
y
x
d
y
x
yDxL
niylbyby
bLy
A
i
n
ik
kki
i
i
i
n
n
n
T
i
k
kikii
bx
?
?????
?
????
?
?
?
?
??
?
?
?
例题
分解做解:对系数矩阵
算法解方程组
分解试用改进的例
D o o l i t t eA
x
x
x
C h o l e sk e y
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
6
3
5
321
221
114
2.2.3
3
2
1
例题
T
L DL
A
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
1
11
25.025.01
1
1, 7 5
4
1125.0
25.0
1
1
75.11, 7 5
114
1125.0
25.0
1
1125.0
75.175.125.0
114
3125.0
75.175.125.0
114
3225.0
2225.0
114
321
221
114
例题
T
y
by
yyy
y
y
y
L
)3,
4
7
,5(
3,75.1,5
6
3
5
110, 2 5
125.0
1
321
3
2
1
??
????
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
即
得
得由
例题
T
TT
x
yxy
xxx
x
x
x
DLD
)3,2,1(
1,2,3
3
1
25.1
1
11
25.025.01
)3,1,
4
5
(
123
3
2
1
11
?
???
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
??
所以方程的解:
得
得
,由而
? A=LDLT分解,既适合于解对称正定方程
组,也适合求解 A为对称,而各阶顺序主
子式不为零的方程组
? 而对 A=LLT只适合于对称正定方程组
3.2.4 三对角方程组求解的追赶法
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
????
???
?
nn
nnn
ijnnij
ab
cab
cab
ca
A
ajaA
111
222
11
,01|i|)(
???
即
有,对一切设三对角矩阵
三对角方程组求解的追赶法
),.,,,3,2(
1
1
1
1
,
1
1
11
11
22
11
3
2
ni
cpaq
q
b
p
aq
q
cq
cq
cq
p
p
p
ALU
D o o l i t t l eA
iiii
i
i
i
n
nn
n
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
??
其中
则有分解满足如果
??
??
三对角方程组求解的追赶法
),.,,,2(
1
1
1
1
),.,,,,(
1
11
3
2
1
3
2
1
3
2
21
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
ni
ypfy
fy
f
f
f
f
y
y
y
y
p
p
p
fff
U
L
A
iiii
nnn
T
n
f
yx
fy
fx
解得
,故有其中
等价于求则求
????
三对角方程组求解的追赶法
组的追赶法。以上称为解三对角方程
解得
再由
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
????
)1,.,,,1(
1
1
2
1
1
2
1
11
22
11
ni
q
xcy
x
q
y
x
y
y
y
y
x
x
x
x
q
cq
cq
cq
i
iii
i
n
n
n
n
n
n
n
n
nn
????
三对角方程组求解的追赶法
? 其计算工作量为 5n-4次乘除法。工作量小,
其实现的条件为 qi不为零。有以下定理可得
证三对角矩阵求解的充分性条件。
且追赶法可以实现。非奇异则矩阵
,
且满足形如设三对角矩阵定理
,
|||||,|||)3(
)1,.,,,3,2(||||||)2(
),.,,2,1(0)1(
,1 1 ).2.3(2.2.3
11
A
abcb
nicab
nic
A
nn
iii
i
??
????
??
解三对角矩阵线性方程组的追赶法程序框图
3.3 矩阵求逆
的解。
个方程组的为单位向量
,右端项分别均为问题等价于求系数矩阵解
存在,求的逆矩阵非奇异,则设矩阵
),.,,,2,1(
)0,.,,,1,.,,,0,0(
1
1
njA
n
AA
AAA
jj
T
j
j
ex
e
??
?
?
?
矩阵求逆
这就是原地求逆。
个单元,则可节省放的单元,最后仍用来存
如果将个单元还是很困难的。很大时,这但当
个存储单元即可实现,。算法上增加了则
)()(
式即为顺序消去法知,求解上由
初等变换
21
2
21
||
nAA
nn
nAX
XIIA
J o rd a nG a u ss
?
?
?
??? ??
?
矩阵求逆
11
1
)(
)(
)(
)(
)(
)(
)(
1
11
...
)(
1
)(
1
...1
...
:
LLLA
ki
a
ki
a
a
l
l
l
l
L
IALLL
J o r d a nGa u s s
nn
k
kk
k
kk
k
ik
k
ik
k
nk
k
kk
k
k
K
nn
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
故
其中
消去法矩阵形式由实现
??
??
? 为使求逆过程不断提高求解精度,因此
增加选主元工作,最常用的是选列主元
求逆。因此增加一个数组 Z(n),记录选
主元的交换号,最后在消元工作完成后,
根据 Z(n)对 A中的元素进行相应的列交换,
得到 A-1
Gauss— Jordan原地求逆法
算法(原地求逆法)
);,.,,2,1()3(;,,0)2(;;;)(||m a x||)1(
),.,,2,1.3
);,.,,,2,1()(.2
),.,,2,1,(.1
njaat h e nklif
Dif
aDilikzaa
nk
niiiz
njia
ljkj
lkkkik
nik
ki
ij
k
???
?
????
?
??
?
??
停机输入奇异标志;选主元:
做对;输入:
结束。输出:;做对
),,.,,2,1,(.5
);,.,,,2,1(t h e nif
)(1,.,,,1.4
);,,.,,,2,1()7(
);,,,.,,,2,1,()6(
);,,.,,,2,1()5(;
1
)4(
njia
niaakt
kZtnk
kiniaca
kjkinjiaaaa
kjnjaca
a
ca
ij
itik
ikkik
kjikijij
kjkkj
kk
kkk
?
???
???
????
?????
???
??
例题
。求逆矩阵
设矩阵例
1
122
111
221
1.3.3
?
?
?
?
?
?
?
?
?
?
? ?
?
A
A
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? ?
?
102
011
001
520
310
221
100
010
001
122
111
221
消去法解法一,J o r d a nG a u ss
例题
原地求逆法解法二:
所以得
J o r d a nG a u ss
A
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
120
351
461
120
351
461
100
010
001
120
011
021
100
310
401
1
例题
1
1
2
5
1
2
1
2
1
0
2
1
2
1
1
2
1
2
5
11
2
1
01
2
1
1
2
1
221
111
2
1
1
2
1
221
111
122
2
1
3)1(1)1(
A
A
czk
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
例题
21
2
2
1
0
2
1
2
5
1
2
1
311
2
1
0
2
1
2
5
1
2
1
2
1
1
2
1
13)2(2)2(
AA
czk
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
???,,
例题
3
2
3
201
513
614
201
2
5
13
314
201
2
5
1
2
1
311
23)3(3)3(
A
A
czk
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
???,,
例题
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
??
??? ??
?
?
?
?
?
?
?
?
?
?
?
?
??
??? ??
??
?
120
351
461
120
351
461
021
153
164
3)1(3)2(
1
3
A
A
zz
所以
,由
与第三列
交换第一列
与第三列
交换第二列
? 我们知道对矩阵进行一次初等变换,就相
当于用相应的初等矩阵去左乘原来的矩阵。
因此我们这个观点来考察 Gauss消元法用
矩阵乘法来表示,即可得到求解线性方程
组的另一种直接法:矩阵的三角分解。
3.2.1 Gauss消元法的矩阵形式
)2()1(
1
)2()2(
2
)2()2(
)1()1()1(
)1()1()1(
)1()1()1(
)1()1()1(
1
31
21
1
)1(
11
)1(
1
1
1
1
1
31
1
21
)1(
11
......
...............
...............
......
......
......
...............
...............
......
......
1.,,,,,00
.,,,,,...
10
1
1
...,32i)()(( 1 )
,,.,,,,0:1
222
11211
21
22221
112
11
AAL
aa
aa
aaa
aaa
aaa
aaa
l
l
l
ni-l
a
a
laaaa
nn
n
n
nnnn
n
n
nn
i
i
in
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
??
,其矩阵形式为,,行行
令消零时,将步等价于第
则
)()()(
)3(
)3()3(
3
)3(
3
)3(
33
)2(
2
)2(
23
)2(
22
)1(
1
)1(
13
)1(
12
)1(
11
2
2
2
)2(
22
)2(
2
2
2
322
)2(
22
.,,00
.,,.,,.,,.,,.,,
.,,00
.,,0
.,,
:
),.,,,4,3(
1.,,00
.,,.,,.,,
0.,,10
0.,,010
0.,,001
02
A
aa
aa
aaa
aaaa
ALA
ni
a
a
l
l
lL
a
nnn
n
n
n
)()(
i
i
n
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
,即有左乘
时,用矩阵步等价于:若同理第
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
??
1
...
1
1
1
1......
...
1
1
...000
...............
...00
...0
...
...
2
32
1
2
1
211
1
)(
)3(
3
)3(
33
)2(
2
)2(
23
)2(
22
)1(
1
)1(
13
)1(
12
)1(
11
1221
n
n
n
nn
n
n
n
nn
l
lL
l
l
L
U
a
aa
aaa
aaaa
ALLLL
因为
以此类推可得
为上三角阵为单位下三角阵,其中
所以
U
1.,,
.,,.,,.,,
1
1
1
.,,).,,(
121
3231
21
1
1
1
2
1
2
1
1
1
1221
L
LUU
lll
ll
l
ULLLLULLLLA
nnnn
nnnn
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
???
??
?
分解。行
直接进否对矩阵因此,关键问题在于能
个三角方程:
就等价于解两由此解线性方程组
LU
A
yUx
bLy
UL
A
bx
bx
?
?
?
?
?
??
?
)(
3.2.2 Doolittle分解
11
31
31311131
11
21
21211121
1111
23
2322
131211
3231
21
333231
232221
131211
)3,2,1(1
1
1
1
3,
u
a
llua
u
a
llua
jauuak
u
uu
uuu
ll
l
aaa
aaa
aaa
nUL
jjjj
??
??
?????
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
得由;得由
时:
为例的各元素,以此分解在于如何算出
)(
3
2
233213313333
332332133133
22
123132
322332123132
1321232323132123
1221222222122122
ululau
uululak
u
ula
lulula
ulauuula
ulauuulak
???
????
?
???
????
?????
得
时:由
得由;得由;得时:
Doolittle分解
? 若矩阵 A有分解,A=LU,其中 L为单位下
三角阵,U为上三角阵,则称该分解为
Doolittle分解,可以证明,当 A的各阶顺
序主子式均不为零时,Doolittle分解可以
实现并且唯一。
? A的各阶顺序主子式均不为零,即
),.,,2,1(0
...
.........
...
1
111
nk
aa
aa
A
kkk
k
k
???
Doolittle分解
各元素方法逐行逐列求解用比较等式两边元素的
令
UL
u
uu
uuu
ll
l
aaa
aaa
aaa
nn
n
n
nnn
n
n
,
...
...
1...
1
1
...
...
...
222
11211
21
21
n2n1n
22221
12111
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?????????
Doolittle分解
。得再由;得由
时:
。得再由;得由
时
),.,,,4,3(
),.,,,3,2(1
2
),.,,,3,2(
),.,,2,1(1
:1
22
1212
22221212
122221212
11
1
11111i
1111
ni
u
ula
lulula
njulauuula
k
ni
u
a
llua
njauua
k
ii
iiii
jijjjjj
i
ii
jjjj
?
?
???
??????
?
???
????
?
Doolittle分解
?
?
?
?
?
?
?
?
????
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1
1
1
1
2
1
121
1
,.,,1,
0
0
]0.,,10.,,[
,.,,,
k
t
tjktkjkj
k
t
kjtjktjj
j
j
kkkkkj
knkkkk
nkkjulau
uulu
u
u
llla
kjuuuk
)(有
步时:计算第
?
?
Doolittle分解
?
?
?
?
?
?
?
?
????
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1
1
1
1
1
11
1
,.,,1/)(
0
0
]0.,,0,1,.,,,[
,.,,,
k
t
kktkitikik
k
t
kkiktkit
kk
k
ikiik
nkkk
nkiuulal
ulul
u
u
lla
kill
)(得
,于是由由于计算
?
?
Doolittle分解
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
?????
?
?
?
?
?
?
nnnn
n
n
kk
k
t
tkitikik
k
t
tjktkjkj
ull
uul
uuu
nkuulal
nkinkjulau
...
...
...
A
,.,,,2,1/)(
),.,,,1;,.,,,(
21
22221
11211
1
1
1
1
????
的各位各元素在计算机内存于
即
Doolittle分解
。可获解
得及再由
T
n
ii
n
ij
jijii
i
j
jijii
xxx
nniuxuyx
niylby
UL
x
yxby
),.,,,,(
1,.,,1,/)(
,.,,,2,1
21
1
1
1
?
????
???
??
?
?
??
?
?
例题
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
?
?
30
19
10
636
19134
652
.D.1
3
2
1
x
x
x
o o l i t t l e 分解求解方程组试用例
例题
。,;,,
,令、分解解:
3
2
6
2
4
6521
1
01
001
636
19134
652
1
31
11
21
131211
33
2322
131211
3231
21
??
?
???
?????
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
?
?
?
l
u
l
uuuk
u
uu
uuu
ll
l
ALU
例题
LUA
ululauk
uulal
ulau
ulauk
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?????
???
?????????
???????
4
73
652
143
12
1
43
4/)(
7)6(219
352132
233213313333
2212313232
13212323
12212222
所以
时:
,时:
例题
T
y
yyy
y
y
y
bLy
)4,1,10(
43034,12019,10
30
19
10
143
12
1
1
2
321
3
2
1
??
????????
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
即
得
)解(
、解方程组
例题
。所以方程组的解为
解得:
解
T
x
xxx
x
x
x
yUx
)1,2,3(
3,2,1
4
1
10
4
73
652
)2(
123
3
2
1
?
???
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Doolittle分解
).,.,,,,()(
),,.,,,(/)(;/)2
),.,,,)(;)1
)(
),.,,,(/)(
),.,,,(
,.,,,)2
),.,,,,(/)
)(
),.,,,,(),,.,,,,,()1(
nix
niuxuyxayx
niylbyby
yUxbLy
nkiuulala
nkkjulaua
nk
niaala
LUA
nibnjia
i
ii
n
ij
jijiinmnn
i
j
jijii
kk
k
t
tkitikikik
k
t
tjktkjkjkj
iii
iij
214
121
2
3
1
1
32
321
2
2121
1
1
1
11
1
1
1
1
11111
?
?????
????
??
?????
?????
?
???
?
??
?
?
?
?
??
?
?
?
?
?
?
输出:方程组的解;
和解;
做对;
分解
输入:
3.2.3 对称矩阵的 Cholesky分解
? 在应用数学中,线性方程组大多数的系
数矩阵为对称正定这一性质,因此利用
对称正定矩阵的三角分解式求解对称正
定方程组的一种有效方法,且分解过程
无需选主元,有良好的数值稳定性。
对称矩阵的 Cholesky分解
? A对称,AT=A
A正定,A的各阶顺序主子式均大于零。
即
),.,,2,1(0
...
.........
...
1
111
nk
aa
aa
A
kkk
k
k
???
对称矩阵的 Cholesky分解
? 由 Doolittle分解,A有唯一分解
。,也就是所以
,,有即
T
TTTT
TTTT
LLAUL
ULLULULU
LULUALU
??
???
???? )(A
对称矩阵的 Cholesky分解
? 定理 3.2.4 设 A为对称正定矩阵,则存在
唯一分解 A=LDLT,其中 L为单位下三角
阵,D=diag(d1,d2,…,dn)且 di>0(i=1,…,n)
对称矩阵的 Cholesky分解
? 证明,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
n
d
d
d
U
ULLUA
Do o l i t t l e
??
??
???
2
1
1
11
,
A
令
非奇异的上三角阵。
为为单位下三角阵,其中分解为
分解可唯一是对称正定,由因为
对称矩阵的 Cholesky分解
均大于零即
。得由;得;由得故有
的顺序主子式均大于零是正定的,则又因为
n
nnn
ddd
ddddd
dddd
A
,.,,,,
00.,,,,,.,,,,, ;0
000
A
21
212
212111
?????
???????
对称矩阵的 Cholesky分解
。所以
为单位上三角阵。为对角阵其中
故
L DUA
UD
DUdd
dd
d
d
d
U
n
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
,
1
...
......1
*
...
*
1
*
....,,,
*
1
22
11
2
1
1
?
?
?
对称矩阵的 Cholesky分解
。,所以故有
对称,即又因为
TT
TTTT
L DLAUL
ADLUL DUA
A
??
??? )(
推论:设 A为对称正定矩阵,则存在唯一分解
其中 L为具有主对角元素为正数的下三角矩
阵。
TLLA ?
对称矩阵的 Cholesky分解
? 证明,
0,.,,,0,0
))((
4.2.3
),.,,,,(
21
2
1
2
1
21
2
1
???
???
?
n
T
TT
n
dddL
LLLDLDL D LA
dddd i a gD
的主对角元素为其中
则由定理
令
Cholesky分解的求法
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
33
2322
131211
333231
2221
11
333231
232221
131211
21
2221
11
3?
...
......
,
l
ll
lll
lll
ll
l
aaa
aaa
aaa
nl
lll
ll
l
L
LLAA
ij
nnnn
T
为例。以如何求
令
则对称正定设
?
Cholesky分解的求法
。,得由;,得时:由
。;同理得,得由;,得时:由
22
213132
322232213132
2
212222
2
22
2
2122
11
31
31
11
21
21112121
1111
2
1111
2
1
l
lla
llllla
lalllak
l
a
l
l
a
llla
allak
?
???
?????
???
???
Cholesky分解的求法
?
?
?
?
?
?
?
???
??
??
??????
?
?
?
?
?
?
?
?
njnji
lllal
lal
n
lallllak
jj
j
k
jkikijij
j
k
jkjjjj
i
i
,.,,,2,1,,.,,,1
/)(
)(
,
3
1
1
2
11
1
2
2
1
2
33333
2
33
2
32
2
3133
有阶行列式推广到
,得时:由
Cholesky分解法
T
T
LLA
yxL
bLy
bAX
c h o l e sk y
?
?
?
?
?
?
?? 其中
分解法解线性方程组用
Cholesky分解法缺点及优点
优点:可以减少存储单元。
缺点:存在开方运算,可能会出现根号下
负数。
改进 Cholesky分解法
? 改进的 cholesky分解 A=LDLT
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
n
n
n
n
nnnn
T
nnnnnn
d
ldd
ldldd
ldldldd
lll
ll
l
DLLA
d
d
d
D
lll
ll
l
L
??
?
?
?
.........
...
...
...
1...
.........
1
1
1
)(
1...
.........
1
1
1
333
223222
113112111
121
3231
21
2
1
121
3231
21
由
改进的 cholesky分解
?
?
?
?
?
?
?
???
????
???
????
?
?
?
?
?
?
?
?
?
?
?
?
?
1
1
2
1
1
1
1
2
1
1
,.,,,2,1
)1,.,,2,1(/)(
),.,,,2,1(
)1,.,,2,1(
j
k
kikiii
j
j
k
jkkikijij
j
k
ikikii
jij
j
k
jkkikij
nidlad
ijdldlal
niddla
ijdlldla
ji
由此可得
有逐行相乘,并注意到
改进的 cholesky分解
)1,.,,,2,1,.,,,3,2(
,
1
1
1
1
???
?
?
?
?
?
?
?
?
?
??
?
??
??
?
?
?
?
?
?
ijni
lcad
d
c
l
lcac
d
c
ldlc
i
k
ikikiii
j
ij
ij
j
k
jkikijij
j
ij
ijjijij
,
成所以可将上述公式改写
,则可令为减少计算量
T
n
n
n
T
d
y
d
y
d
y
yD
d
d
d
D
DL
L
AC h o l e s k y
yx
by
bx
),.,,,,(
1
1
1
2
2
1
11
2
1
1
1
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
故
即等价于求
分解法解线性方程组用
改进的 cholesky分解算法;;
做对
做对
分解
,输入
?
?
?
?
?
?
???
????
??
?
?
??
1
1
1
1
)2(
1,.,,,2,1)1(
,.,,,3,2
.2
);,.,,2,1(),.,,,2,1(.1
i
k
ikikiiiii
j
ij
ijij
j
k
ikikijij
T
iij
lcada
d
c
lalcac
ij
ni
L D LA
nibni,ja
改进的 cholesky分解算法
。输出:;;
解;;
解
解
),.,,,2,1()3(
)1,.,,,1(
)2(
),.,,,2(
)1(
.3
1
1
1
1
11
nix
nixl
d
y
x
d
y
x
yDxL
niylbyby
bLy
A
i
n
ik
kki
i
i
i
n
n
n
T
i
k
kikii
bx
?
?????
?
????
?
?
?
?
??
?
?
?
例题
分解做解:对系数矩阵
算法解方程组
分解试用改进的例
D o o l i t t eA
x
x
x
C h o l e sk e y
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
6
3
5
321
221
114
2.2.3
3
2
1
例题
T
L DL
A
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
1
11
25.025.01
1
1, 7 5
4
1125.0
25.0
1
1
75.11, 7 5
114
1125.0
25.0
1
1125.0
75.175.125.0
114
3125.0
75.175.125.0
114
3225.0
2225.0
114
321
221
114
例题
T
y
by
yyy
y
y
y
L
)3,
4
7
,5(
3,75.1,5
6
3
5
110, 2 5
125.0
1
321
3
2
1
??
????
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
即
得
得由
例题
T
TT
x
yxy
xxx
x
x
x
DLD
)3,2,1(
1,2,3
3
1
25.1
1
11
25.025.01
)3,1,
4
5
(
123
3
2
1
11
?
???
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
??
所以方程的解:
得
得
,由而
? A=LDLT分解,既适合于解对称正定方程
组,也适合求解 A为对称,而各阶顺序主
子式不为零的方程组
? 而对 A=LLT只适合于对称正定方程组
3.2.4 三对角方程组求解的追赶法
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
????
???
?
nn
nnn
ijnnij
ab
cab
cab
ca
A
ajaA
111
222
11
,01|i|)(
???
即
有,对一切设三对角矩阵
三对角方程组求解的追赶法
),.,,,3,2(
1
1
1
1
,
1
1
11
11
22
11
3
2
ni
cpaq
q
b
p
aq
q
cq
cq
cq
p
p
p
ALU
D o o l i t t l eA
iiii
i
i
i
n
nn
n
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
??
其中
则有分解满足如果
??
??
三对角方程组求解的追赶法
),.,,,2(
1
1
1
1
),.,,,,(
1
11
3
2
1
3
2
1
3
2
21
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
ni
ypfy
fy
f
f
f
f
y
y
y
y
p
p
p
fff
U
L
A
iiii
nnn
T
n
f
yx
fy
fx
解得
,故有其中
等价于求则求
????
三对角方程组求解的追赶法
组的追赶法。以上称为解三对角方程
解得
再由
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
????
)1,.,,,1(
1
1
2
1
1
2
1
11
22
11
ni
q
xcy
x
q
y
x
y
y
y
y
x
x
x
x
q
cq
cq
cq
i
iii
i
n
n
n
n
n
n
n
n
nn
????
三对角方程组求解的追赶法
? 其计算工作量为 5n-4次乘除法。工作量小,
其实现的条件为 qi不为零。有以下定理可得
证三对角矩阵求解的充分性条件。
且追赶法可以实现。非奇异则矩阵
,
且满足形如设三对角矩阵定理
,
|||||,|||)3(
)1,.,,,3,2(||||||)2(
),.,,2,1(0)1(
,1 1 ).2.3(2.2.3
11
A
abcb
nicab
nic
A
nn
iii
i
??
????
??
解三对角矩阵线性方程组的追赶法程序框图
3.3 矩阵求逆
的解。
个方程组的为单位向量
,右端项分别均为问题等价于求系数矩阵解
存在,求的逆矩阵非奇异,则设矩阵
),.,,,2,1(
)0,.,,,1,.,,,0,0(
1
1
njA
n
AA
AAA
jj
T
j
j
ex
e
??
?
?
?
矩阵求逆
这就是原地求逆。
个单元,则可节省放的单元,最后仍用来存
如果将个单元还是很困难的。很大时,这但当
个存储单元即可实现,。算法上增加了则
)()(
式即为顺序消去法知,求解上由
初等变换
21
2
21
||
nAA
nn
nAX
XIIA
J o rd a nG a u ss
?
?
?
??? ??
?
矩阵求逆
11
1
)(
)(
)(
)(
)(
)(
)(
1
11
...
)(
1
)(
1
...1
...
:
LLLA
ki
a
ki
a
a
l
l
l
l
L
IALLL
J o r d a nGa u s s
nn
k
kk
k
kk
k
ik
k
ik
k
nk
k
kk
k
k
K
nn
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
故
其中
消去法矩阵形式由实现
??
??
? 为使求逆过程不断提高求解精度,因此
增加选主元工作,最常用的是选列主元
求逆。因此增加一个数组 Z(n),记录选
主元的交换号,最后在消元工作完成后,
根据 Z(n)对 A中的元素进行相应的列交换,
得到 A-1
Gauss— Jordan原地求逆法
算法(原地求逆法)
);,.,,2,1()3(;,,0)2(;;;)(||m a x||)1(
),.,,2,1.3
);,.,,,2,1()(.2
),.,,2,1,(.1
njaat h e nklif
Dif
aDilikzaa
nk
niiiz
njia
ljkj
lkkkik
nik
ki
ij
k
???
?
????
?
??
?
??
停机输入奇异标志;选主元:
做对;输入:
结束。输出:;做对
),,.,,2,1,(.5
);,.,,,2,1(t h e nif
)(1,.,,,1.4
);,,.,,,2,1()7(
);,,,.,,,2,1,()6(
);,,.,,,2,1()5(;
1
)4(
njia
niaakt
kZtnk
kiniaca
kjkinjiaaaa
kjnjaca
a
ca
ij
itik
ikkik
kjikijij
kjkkj
kk
kkk
?
???
???
????
?????
???
??
例题
。求逆矩阵
设矩阵例
1
122
111
221
1.3.3
?
?
?
?
?
?
?
?
?
?
? ?
?
A
A
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? ?
?
102
011
001
520
310
221
100
010
001
122
111
221
消去法解法一,J o r d a nG a u ss
例题
原地求逆法解法二:
所以得
J o r d a nG a u ss
A
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
120
351
461
120
351
461
100
010
001
120
011
021
100
310
401
1
例题
1
1
2
5
1
2
1
2
1
0
2
1
2
1
1
2
1
2
5
11
2
1
01
2
1
1
2
1
221
111
2
1
1
2
1
221
111
122
2
1
3)1(1)1(
A
A
czk
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
例题
21
2
2
1
0
2
1
2
5
1
2
1
311
2
1
0
2
1
2
5
1
2
1
2
1
1
2
1
13)2(2)2(
AA
czk
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
???,,
例题
3
2
3
201
513
614
201
2
5
13
314
201
2
5
1
2
1
311
23)3(3)3(
A
A
czk
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
???,,
例题
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
??
??? ??
?
?
?
?
?
?
?
?
?
?
?
?
??
??? ??
??
?
120
351
461
120
351
461
021
153
164
3)1(3)2(
1
3
A
A
zz
所以
,由
与第三列
交换第一列
与第三列
交换第二列