目录
b
三.用 LU 分解法解方程组
摘要.................................................................................................1
一.用列主元消去法解方程组................................................................... 2
1.问题的提出 .......................................................................................................................... 2
2.问题的分析 .......................................................................................................................... 2
3.问题的解决 .......................................................................................................................... 3
二.编写一个列主元消去法求逆矩阵的程序................................................... 4
1.问题的提出 .......................................................................................................................... 4
2.问题的分析 .......................................................................................................................... 4
3.问题的解决 .......................................................................................................................... 5
Ax ............................................................. 5
1.问题的提出 .......................................................................................................................... 5
2.问题的分析 .......................................................................................................................... 5
3.问题的解决 .......................................................................................................................... 6
四.用改进平方根法解方程组................................................................... 7
1.问题的提出 .......................................................................................................................... 7
2.问题的分析 .......................................................................................................................... 7
3.问题的解决 .......................................................................................................................... 8
五.用追赶法解方程组........................................................................... 9
1.问题的提出 .......................................................................................................................... 9
2.问题的分析 .......................................................................................................................... 9
3.问题的解决 ........................................................................................................................ 10
六.分别用雅可比迭代法与高斯-赛德尔迭代法解方程组....................................11
1.问题的提出 ........................................................................................................................ 11
2.问题的分析 ........................................................................................................................ 11
3.问题的解决 ........................................................................................................................ 12
参考文献......................................................................................... 14
个人体会......................................................................................... 15
附录:程序代码................................................................................. 16
摘要
在科技研究和工程技术所提出的计算问题中,经常会遇到线性方程组的求解问题,这里
主要是有关线性方程组的直接解法。解线性方程组的直接法是用有限次运算求出线性方程组
Ax=b 的解的方法。线性方程组的直接法主要有 Gauss 消元法及其变形、LU(如 Doolittle、
Crout 方法等)分解法和一些求解特殊线性方程组的方法(如追赶法、LDLT 法等)。这里主
要有列主元消元法,LU 分解法,改进的平方根法,追赶法和雅可比迭代,高斯—塞德尔迭代
的构造过程及相应的程序。线性方程的解法在数值计算中占有极重要的地位,因此,线性方
程组的求解是数值分析课程中最基本的内容之一。
关键词:列主元消元法;LU 分解 ;改进平方根法;追赶法;雅可比迭代;高斯—塞德
尔迭代
1
一.用列主元消去法解方程组:
1.问题的提出:
x
4
x
x
3
3
x
x
2
x
x
2
2
x
1
2
x
1
3
x
1
x
1
3
x
(1)
3
2
2
4
x
2
3
(2)
x
x
1
2
x
1
x
x
1
x
x
1
2
2
2
2
x
2
3
4
2
x
x
3
4
3
x
3
2
x
4
3
x
3
x
3
1
4
x
4
x
4
3
x
4
8
20
4
4
2.问题的分析:
列主元消去算法主要分为两个过程:消去过程和回代过程
1. 消去过程
,
n
k
,2,1
对
1
(1)选主元 找 ki
,
k ,
n
,
使
(
k
)
a
ki
k
max
nik
)
a
(
k
ik
(2)若
)
(
ka k
ik
0
则停止计算(detA=0)
(3)若 ki
k 则换行
E
k
E
ki
(4)消元
,1
对i =
k
,
n
1
ikl
)
)
a
a
(
k
ik
(
k
kk
对
j
k
,1
,
n
1
a
(
k
ij
)1
)
a
(
k
ij
)
al
ik
(
k
kj
2.回代过程
)( n
nna
(1)若
(2)
nx
(
)
n
a
,
nn
(
n
a
nn
1
)
0
则停止计算(detA=0)
2
(3)对
i
,1 n
1,
a
ix
)
(
n
,
1
ni
n
j
a
i
)
(
n
ii
n
)
(
ij
x
j
a
1
3.问题的解决:
(1)解:对于
A |)1(
b
=
bA |
=
第 1 步选列主元为
a
)1(
31
,3
1 i
3
1
1
2
1
3
1
1
2
,作变换
0
1
1
3
E
1
3
1
2
1
E
4
1
3
4
3
,然后计算
l
21
2
3
.0
667
,
l
31
1
3
.0
333
,
l
41
1
3
.0
333
再 作 变 换
E
2
El
1
21
EE
2
,
3
El
1
31
EE
3
,
4
El
1
41
E
,4
得 到
A
)2(
)2(
=
| b
1
3
.10
667
.10
333
.10
667
1
333
.0
333
.0
.2
667
2
333
.0
333
.2
333
.0
3
3
5
3
第 2 步,对 )2(A 选列主元为
a
)2(
22
5
3
.1
667
,
2 i
2
,计算
l
32
4
5
E
3
再做变换
(
8.0
,
42 l
1
,
El
32
2
)
E
3
,
(
E
4
El
42
2
)
E
4
,得到
)3( bA
)3(
1
3
3/50
0
0
0
0
1
3/1
15/9
3
2
3/1
15/39
0
3
3
5/13
0
消去过程结束,回代计算得到解
x
1
1
x
2
2
x
3
0
x
4
1
所以原方程组的解为
X
)1,0,2,1(
T
。
(2)解:对于
A
|)1(
b
bA
|
1
2
1
1
21
32
1
1
41
1
3
0
3
8
20
2
4
3
第 1 步选列主元为
a
2
,
1 i
作变换
,2
E
1
E
,2
然后计算
l
21
l
31
l
41
1
2
,
)1(
21
再作变换
E
2
El
1
21
EE
2
,
El
1
31
3
EE
3
,
4
El
41
1
E
4
,得到
A
)2(
)2(
|
b
2
0
0
0
2
0
2
0
3
3
2/1
2/1
2/32/1
2/9
2/5
20
2
8
14
第 2 步,对 )2(A 选列主元为
a
)2(
32
,2 2
i
,3
作变换
(
E
2
)
(
E
3
)
得到
)3( bA
)3(
2
0
0
0
2
2
0
0
3
3
2/32/1
2/1
2/1
2/5
2/9
20
8
2
14
第 3 步,对 )3(A 选列主元为
a
)3(
43
,2/5
i
3
4
,作换行
(
E
3
)
(
E
4
)
,计算
43 l
5/1
,作
变换
(
E
4
El
43
3
)
E
4
,则
)4(
(
A
|
b
)4(
)
2
0
0
0
2
2
0
0
3
2/1
2/5
0
3
2/3
2/9
5/2
20
8
14
5/4
消去过程结束,回代计算得到
x
1
7
x
2
3
x
3
2
x
4
2
所以原方程组的解为
X
)2,2,3,7(
T
二.编写一个列主元消去法求逆矩阵的程序,并用以求如下
矩阵的逆矩阵。
1.问题的提出:
A
5
2
1
2
8
3
1
3
6
2.问题的分析:
1A
设 A 是 n 阶非奇异矩阵,则
(
1
X
A
存在,令
nX
,
,
2
XX
,
1
)
则
其中,
AX
(
,
EE
1
E
,
2
E
,
nE
)
是单位矩阵
4
(
AX
从而
即
求解上述 n 个方程组时,将它们的增广矩阵
(
)
,
EE
1
n
,2,1
,
n
AX
2
k
,
,
,
E
k
,
1
AX
AX
k
,
2
,
E
n
)
(
,
kEA
)
合并后有
(
,
EA
)
a
a
a
11
1
1
r
n
a
a
a
r
rr
rn
a
a
a
1
1
n
nr
nn
按列选主元无回代高斯消元法得
( BE
,
)
(
EE
1
,
2
,
,
BBE
2
n
,
,
1
,
,
AX
E
k
,
k
k
1
0
0
0
0
1
0
0
1
B
n
)
1
0
0
0
1
0
0
0
1
,2,1
n
的解。
,
b
b
b
11
1
1
r
n
b
b
b
r
rr
rn
b
b
b
1
n
nr
nn
1
kB
B
A 1
显然列向量 是方程
因此
3.问题的解决:
5
2
1
解:由上述过程可得
5
2
1
2
8
3
1
3
6
3B
2
8
3
0
0
1
1
3
6
1B =
1
0
0
,
5
2
1
2
8
3
1
3
6
2B
0
1
0
,
,解得
B
B
1
B
2
B
3
203
.0
032
.0
05.0
032
.0
11.0
06.0
05.0
06.0
128
.0
所以
1A
032
.0
11.0
06.0
203
.0
032
.0
05.0
05.0
06.0
128
.0
三.用 LU 分解法解方程组 b
Ax
1.问题的提出:
0
12
20
2
48
24
0
6
24
24
6
6
12
12
2
16
A
b
4
4
2
2
2.问题的分析:
5
求解线性方程组的 LU 分解法:将系数矩阵 A 分解成两个三角矩阵的乘积,
A=LU 的形式
即:
其中,L 为下三解矩阵,U 为上三解矩阵,则线性方程组:Ax=b
可改写为
令
得
LUx=b
Ux=y
Ly=b
然后,用前代方法求 Ly=b 得列矩阵 y,再用回代方法求 Ux=b,得到的列矩阵 x 即为所求的
线性方程组的解.
3.问题的解决:
1
1
l
43
u
11
u
12
u
22
U
u
13
u
u
23
33
24
u
14
u
u
u
34
44
得到
1
l
l
32
42
u
12
u
21
22
lu
22
lu
22
32
42
u
13
lu
13
21
lu
23
31
lu
23
42
u
23
u
32
33
lu
33
43
lu
13
lu
13
41
u
14
21
lu
24
42
lu
14
31
lu
24
u
24
32
lu
34
u
43
34
u
44
lu
14
41
lu
14
31
41
lu
12
lu
12
lu
12
0
12
20
2
12
12
2
16
解:设
L
21
1
l
l
l
31
41
21
31
u
11
lu
11
lu
11
lu
41
11
24
24
6
6
LU
48
24
0
6
解得:
1
0.5
0
0.125
Ux ,
y
L
令
,
(
U submatrix M 0
3
8
0
48
0
0
1
0
0.071
0
0
0
0
1
U
11
)
24
12
0
0
0
12
14
0
12
6
1
12.929
0
1
0.5
0.25
Ax
LUx
Ly
b
b
,
1
5.0
0
.0
125
48
1
5.0
25.0
24
0
12
12
14
所以原方程组的解为
1
071
.0
12
6
1
929
.12
.0
X
2
y
1
y
y
y
3
4
1
x
1
x
x
x
3
2
4
=
4
4
2
2
4
6
5
357
.3
解得
y
解得
x
4
6
5
357
.3
0.521
1.006
0.376
-
-
0.26
521
.1
006
.0
376
26.0
T
。
6
四.用改进平方根法解方程组:
1.问题的提出:
用改进平方根法解下列方程组:
(1)
5.0
5.1
5.0
25.0
25.0
0
0
5.0
5.1
25.0
25.0
0
35.0
35.1
00.2
00.1
35.0
35.0
00.2
00.2
00.2
00.2
35.1
35.0
00.1
00.2
35.0
35.0
00.2
00.1
35.0
35.1
00.2
00.2
35.0
35.0
b
5.0
5.0
0
0
0
0
b
A
Ax
Ax
35.1
35.0
00.2
00.2
35.0
35.0
00.1
00.2
(2)
A
0
25.0
25.0
5.1
5.0
0
35.0
35.0
00.1
00.2
35.1
35.0
00.2
00.2
0
25.0
25.0
5.0
5.1
5.0
0
0
0
0
5.0
5.0
b
1
0
0
0
0
0
35.0
35.0
00.2
00.2
35.0
35.1
00.2
00.1
00.1
00.2
35.0
35.0
00.2
00.2
35.1
35.0
00.2
00.2
35.0
35.0
00.2
00.1
35.0
35.1
b
00.2
00.2
00.12
00.12
00.2
00.2
00.2
00.2
2.问题的分析:
平方根法主要用于求解对称正定矩阵方程:首先要提到的是关于正定矩阵的定理,说的
是若 A 为 n 阶地对称正定矩阵,则存在一个实的非奇异下三角矩阵 L,使 A=LL’(L’表示 L
的对称矩阵)。根据这个前提,在结合前面的 LU 分解算法,便有了平方根算法。平方根算
法的计算量约为普通三角分解算法的一半,但由于这里要用到开平方,效率不是很高,所以,
便有了为效率而存在的改进的平方根算法。
对称矩阵分解法(改进平方根法)如下:
设对称矩阵,存在分解式
A
LDU
,因 A 对称矩阵,即
TAA 得
ULLU
T
,
T
,
A
T
LDL
AA
T
LDU
T
T
T
DLU
,由分解的唯一性得
于是可得对称矩阵 A 的 LR 分解式
7