数值计算方法
线性方程组的解法
张晓平
2019 年 9 月 30 日
武汉大学数学与统计学院
Table of contents
1. 高斯消去法
2. 三角形方程组和三角分解
3. 选主元三角分解
4. 平方根法及改进的平方根法
5. 追赶法
1
线性方程组的求解问题是一个古老的数学问题
•《九章算术》:详细记载了消元法
• 19 世纪初,西方有了Gauss 消去法
• 求解大型线性方程组则是在 20 世纪计算机问世后才成为可能
2
线性方程组数值解法的分类
• 直接法
• 迭代法
3
直接法
• 定义:在没有舍入误差的情况下经过有限次运算可求得精确解的
方法
• 举例:
• 高斯消去法
• 平方根法
• 追赶法
• · · ·
• 适用范围:
• 低阶稠密矩阵方程组
• 某些大型稀疏方程组(如大型带状方程组)
• · · ·
4
迭代法
• 定义:采取逐次逼近的方法,亦即从一个初始向量出发,按照一
定的计算格式,构造一个无穷序列,其极限才是方程组的精确解,
只经过有限次运算得不到精确解
• 举例:
• Jacobi 迭代
• Gauss-Seidel 迭代
• 超松弛迭代
• · · ·
• 适用范围:
• 大型稀疏方程组
• · · ·
5
高斯消去法
高斯消去法
顺序消去法
顺序消去法
定义 : 顺序消去法
在逐步消元的过程中,把系数矩阵约化成上三角矩阵,从而将原 方程组约化为容易求解的等价三角方程组,再通过回代过程逐一 求出各未知数。
6
顺序消去法
设 a(1)11 ̸= 0,
a(1)11x1+ a(1)12x2+ a(1)13x3 = b(1)1 (1) a(1)21x1+ a(1)22x2+ a(1)23x3 = b(1)2 (2) a(1)31x1+ a(1)32x2+ a(1)33x3 = b(1)3 (3)
(2)+(1)× (
−a
(1) 21 a(1)
11
)
============⇒
(3)+(1)× (
−a
(1) 31 a(1)
11
)
a(1)11x1+ a(1)12x2+ a(1)13x3 = b(1)1 a(2)22x2+ a(2)23x3 = b(2)2 , a(2)32x2+ a(2)33x3 = b(2)3 .
7
顺序消去法
设 a(1)11 ̸= 0,
a(1)11x1+ a(1)12x2+ a(1)13x3 = b(1)1 (1) a(1)21x1+ a(1)22x2+ a(1)23x3 = b(1)2 (2) a(1)31x1+ a(1)32x2+ a(1)33x3 = b(1)3 (3)
(2)+(1)× (
−a
(1) 21 a(1)
11
)
============⇒
(3)+(1)× (
−a
(1) 31 a(1)
11
)
a(1)11x1+ a(1)12x2+ a(1)13x3 = b(1)1 a(2)22x2+ a(2)23x3 = b(2)2 , a(2)32x2+ a(2)33x3 = b(2)3 .
7
顺序消去法
设 a(1)11 ̸= 0,
a(1)11x1+ a(1)12x2+ a(1)13x3 = b(1)1 (1) a(1)21x1+ a(1)22x2+ a(1)23x3 = b(1)2 (2) a(1)31x1+ a(1)32x2+ a(1)33x3 = b(1)3 (3)
(2)+(1)× (
−a
(1) 21 a(1)
11
)
============⇒
(3)+(1)× (
−a
(1) 31 a(1)
11
)
a(1)11x1+ a(1)12x2+ a(1)13x3 = b(1)1 a(2)22x2+ a(2)23x3 = b(2)2 , a(2)32x2+ a(2)33x3 = b(2)3 .
7
顺序消去法
a(2)ij = a(1)ij + a(1)1j × (
−a(1)i1 a(1)11
)
, i, j = 2, 3,
b(2)i = b(1)i + b(1)1 × (
−a(1)i1 a(1)11
)
, i = 2, 3.
8
顺序消去法
设 a(2)22 ̸= 0,
a(1)11x1+ a(1)12x2+ a(1)13x3 = b(1)1 , a(2)22x2+ a(2)23x3 = b(2)2 , a(2)32x2+ a(2)33x3 = b(2)3 .
(3) + (2)× (
−a(2)32 a(2)22
)
================⇒
a(1)11x1+ a(1)12x2+ a(1)13x3 = b(1)1 a(2)22x2+ a(2)23x3 = b(2)2 a(3)33x3 = b(3)3
9
顺序消去法
设 a(2)22 ̸= 0,
a(1)11x1+ a(1)12x2+ a(1)13x3 = b(1)1 , a(2)22x2+ a(2)23x3 = b(2)2 , a(2)32x2+ a(2)33x3 = b(2)3 .
(3) + (2)× (
−a(2)32 a(2)22
)
================⇒
a(1)11x1+ a(1)12x2+ a(1)13x3 = b(1)1 a(2)22x2+ a(2)23x3 = b(2)2 a(3)33x3 = b(3)3
9
顺序消去法
a(3)33 = a(2)33 + a(2)23 × (
−a(2)32 a(2)22
) ,
b(3)3 = b(2)3 + b(2)2 × (
−a(2)32 a(2)22
) .
10
顺序消去法
一般情形:考察 n 元线性方程组
A(1)x = b(1), 其中
A(1)=
a(1)11 a(1)12 · · · a(1)1n
a(1)21 a(1)22 · · · a(1)2n
... ... ...
a(1)n1 a(1)n2 · · · a(1)nn
, X =
x1
x2
... xn
, b(1)=
b(1)1
b(1)2 ...
b(1)n
11
顺序消去法
若约化的主元 a(k)kk ̸= 0 (k = 1, 2, · · · , n),则经过 顺序消元法
for k = 1, 2, · · ·, n-1 for i = k+1, · · ·, n
lik= a(k)ik / a(k)kk,
for j = k+1, · · ·, n+1 a(k+1)ij = a(k)ij − lik · a(k)kj end
end end
12
顺序消去法
可得
a(1)11 a(1)12 · · · a(1)1n
0 a(2)22 · · · a(2)2n
... ... ... 0 0 · · · a(n)nn
x1
x2
... xn
=
b(1)1 b(2)2 ... b(n)n
13
顺序消去法
回代公式
xn = b(n)n / a(n)nn
for i = n-1, n-2, · · ·, 1 xi =
b(i)i −
∑n j=i+1
a(i)ij xj
/ aiii
end
14
顺序消去法
注
• 若遇到 a(k)kk = 0,则消去过程无法进行;
• 若 a(k)kk 不为零但很小,尽管消去过程可以进行下去,但用其 做除数,会引起计算结果的严重失真。
{ 0.00001x1+ 2x2 = 2, x1+ x2 = 3.
15
顺序消去法
注
• 若遇到 a(k)kk = 0,则消去过程无法进行;
• 若 a(k)kk 不为零但很小,尽管消去过程可以进行下去,但用其 做除数,会引起计算结果的严重失真。
{ 0.00001x1+ 2x2 = 2,
x1+ x2 = 3.
15
高斯消去法
列主元消去法
列主元消去法
定义 : 列主元消去法
在消元过程中,每次选主元时,仅依次按列选取绝对值最大的元 素作为主元,它只进行行交换,而不产生未知数次序的调换。
列主元消去法能有效地避免顺序消元过程中的两个问题,它是直接法 中最常用的一种方式。
16
列主元消去法
定义 : 列主元消去法
在消元过程中,每次选主元时,仅依次按列选取绝对值最大的元 素作为主元,它只进行行交换,而不产生未知数次序的调换。
列主元消去法能有效地避免顺序消元过程中的两个问题,它是直接法 中最常用的一种方式。
16
列主元消去法
例
用列主元消去法求解
2 x1 + x2 + 2 x3 = 5, 5 x1 − x2 + x3 = 8, x1 − 3 x2 − 4 x3 = −4.
17
列主元消去法
2 1 2 5 5 −1 1 8 1 −3 −4 −4
r1↔r2
====⇒
5 −1 1 8 2 1 2 5 1 −3 −4 −4
5 −1 1 8
1.4 1.6 1.8
−2.8 −4.2 −5.6
r2−25r1
=====⇒
r3−15r1
r2↔r3
====⇒
5 −1 1 8
−2.8 −4.2 −5.6 1.4 1.6 1.8
5 −1 1 8
−2.8 −4.2 −5.6
−0.5 −1
r3+12r2
=====⇒
18
列主元消去法
2 1 2 5 5 −1 1 8 1 −3 −4 −4
====r1↔r⇒2
5 −1 1 8 2 1 2 5 1 −3 −4 −4
5 −1 1 8
1.4 1.6 1.8
−2.8 −4.2 −5.6
r2−25r1
=====⇒
r3−15r1
r2↔r3
====⇒
5 −1 1 8
−2.8 −4.2 −5.6 1.4 1.6 1.8
5 −1 1 8
−2.8 −4.2 −5.6
−0.5 −1
r3+12r2
=====⇒
18
列主元消去法
2 1 2 5 5 −1 1 8 1 −3 −4 −4
====r1↔r⇒2
5 −1 1 8 2 1 2 5 1 −3 −4 −4
5 −1 1 8
1.4 1.6 1.8
−2.8 −4.2 −5.6
r2−25r1
=====⇒
r3−15r1
r2↔r3
====⇒
5 −1 1 8
−2.8 −4.2 −5.6 1.4 1.6 1.8
5 −1 1 8
−2.8 −4.2 −5.6
−0.5 −1
r3+12r2
=====⇒
18
列主元消去法
2 1 2 5 5 −1 1 8 1 −3 −4 −4
====r1↔r⇒2
5 −1 1 8 2 1 2 5 1 −3 −4 −4
5 −1 1 8
1.4 1.6 1.8
−2.8 −4.2 −5.6
r2−25r1
=====⇒
r3−15r1
r2↔r3
====⇒
5 −1 1 8
−2.8 −4.2 −5.6 1.4 1.6 1.8
5 −1 1 8
−2.8 −4.2 −5.6
−0.5 −1
r3+12r2
=====⇒
18
列主元消去法
2 1 2 5 5 −1 1 8 1 −3 −4 −4
====r1↔r⇒2
5 −1 1 8 2 1 2 5 1 −3 −4 −4
5 −1 1 8
1.4 1.6 1.8
−2.8 −4.2 −5.6
r2−25r1
=====⇒
r3−15r1
r2↔r3
====⇒
5 −1 1 8
−2.8 −4.2 −5.6 1.4 1.6 1.8
5 −1 1 8
−2.8 −4.2 −5.6
−0.5 −1
r3+12r2
=====⇒
18
列主元消去法
列主元消去法 for k = 1, 2, · · ·, n-1
find ik∈ k, · · · , n s.t. |a(k)ik,k| = maxk⩽i⩽n|a(k)ik |;
interchange the k, ik-th rows in [A(k), b(k)] ; for i = k+1, · · ·, n
lik= a(k)ik / a(k)kk;
for j = k+1, · · ·, n+1 a(k+1)ij = a(k)ij − lik · a(k)kj ; end
end end
19
高斯消去法
全主元消去法
全主元消去法
定义 : 全主元消去法
全主元消去法选主元的范围更大,对于 (
A(1) | b(1))
来说,在整 个系数矩阵中选主元,即将绝对值最大的元素经过行列变换使其 置于 a(1)11 的位置,然后进行消元过程得到 (
A(2) | b(2))
; 接下来在该矩阵中划掉第一行第一列后剩余的 n − 1 阶子系数矩 阵中选主元,并通过行、列交换置其于 a(2)22 的位置,然后进行消 元;
· · · ·
20
全主元消去法
例
用全主元消去法求解
2 x1 + x2 + 2 x3 = 5, 5 x1 − x2 + x3 = 8, x1 − 3 x2 − 4 x3 = −4.
21
全主元消去法
2 1 2 5 5 −1 1 8 1 −3 −4 −4
x1 x2 x3
r1↔r2
====⇒
5 −1 1 8 2 1 2 5 1 −3 −4 −4
x1 x2 x3
5 −1 1 8
1.4 1.6 1.8
−2.8 −4.2 −5.6
x1 x2 x3
r2−25r1
=====⇒
r3−15r1
r2↔r3
====⇒
c2↔c3
5 1 −1 8
−4.2 −2.8 −5.6 1.6 1.4 1.8
x1 x3 x2
5 −1 1 8
−2.8 −4.2 −5.6 1/3 −1/3
x1 x3 x2
r3+218r2
=====⇒
22
全主元消去法
2 1 2 5 5 −1 1 8 1 −3 −4 −4
x1 x2 x3
r1↔r2
====⇒
5 −1 1 8 2 1 2 5 1 −3 −4 −4
x1 x2 x3
5 −1 1 8
1.4 1.6 1.8
−2.8 −4.2 −5.6
x1 x2 x3
r2−25r1
=====⇒
r3−15r1
r2↔r3
====⇒
c2↔c3
5 1 −1 8
−4.2 −2.8 −5.6 1.6 1.4 1.8
x1 x3 x2
5 −1 1 8
−2.8 −4.2 −5.6 1/3 −1/3
x1 x3 x2
r3+218r2
=====⇒
22
全主元消去法
2 1 2 5 5 −1 1 8 1 −3 −4 −4
x1 x2 x3
r1↔r2
====⇒
5 −1 1 8 2 1 2 5 1 −3 −4 −4
x1 x2 x3
5 −1 1 8
1.4 1.6 1.8
−2.8 −4.2 −5.6
x1 x2 x3
r2−25r1
=====⇒
r3−15r1
r2↔r3
====⇒
c2↔c3
5 1 −1 8
−4.2 −2.8 −5.6 1.6 1.4 1.8
x1 x3 x2
5 −1 1 8
−2.8 −4.2 −5.6 1/3 −1/3
x1 x3 x2
r3+218r2
=====⇒
22
全主元消去法
2 1 2 5 5 −1 1 8 1 −3 −4 −4
x1 x2 x3
r1↔r2
====⇒
5 −1 1 8 2 1 2 5 1 −3 −4 −4
x1 x2 x3
5 −1 1 8
1.4 1.6 1.8
−2.8 −4.2 −5.6
x1 x2 x3
r2−25r1
=====⇒
r3−15r1
r2↔r3
====⇒
c2↔c3
5 1 −1 8
−4.2 −2.8 −5.6 1.6 1.4 1.8
x1 x3 x2
5 −1 1 8
−2.8 −4.2 −5.6 1/3 −1/3
x1 x3 x2
r3+218r2
=====⇒
22
全主元消去法
2 1 2 5 5 −1 1 8 1 −3 −4 −4
x1 x2 x3
r1↔r2
====⇒
5 −1 1 8 2 1 2 5 1 −3 −4 −4
x1 x2 x3
5 −1 1 8
1.4 1.6 1.8
−2.8 −4.2 −5.6
x1 x2 x3
r2−25r1
=====⇒
r3−15r1
r2↔r3
====⇒
c2↔c3
5 1 −1 8
−4.2 −2.8 −5.6 1.6 1.4 1.8
x1 x3 x2
5 −1 1 8
−2.8 −4.2 −5.6 1/3 −1/3
x1 x3 x2
r3+218r2
=====⇒
22
高斯消去法
选主元消去法的应用
选主元消去法的应用:求逆矩阵
应用一: 矩阵的求逆 A E
( )
Gauss−Jordan Elimination
==================⇒ E A−1
( )
23
选主元消去法的应用:求逆矩阵
例 求矩阵
A =
11 −3 −2
−23 11 1 1 −2 2
的逆矩阵.
24
选主元消去法的应用:求逆矩阵
11 −3 −2 1 0 0
−23 11 1 0 1 0 1 −2 2 0 0 1
r1↔r2
====⇒
−23 11 1 0 1 0 11 −3 −2 1 0 0 1 −2 2 0 0 1
1 −0.478 −0.044 0 −0.044 0 0 2.261 −1.522 1 0.478 0 0 −1.522 2.044 0 0.044 1
r2+1123r1, r3+231r1
=============⇒
r1÷(−23)
1 0 −0.365 0.211 0.057 0 0 1 −0.673 0.442 0.211 0 0 0 1.019 0.673 0.365 1
r1+2261478r2, r3+15222261r2
===============⇒
r2÷(2.261)
1 0 0 0.452 0.188 0.358 0 1 0 0.886 0.452 0.660 0 0 1 0.660 0.358 0.981
A−1
r1+1019365r3, r2+1019673r3
===============⇒
r3÷(1.019)
25
选主元消去法的应用:求逆矩阵
11 −3 −2 1 0 0
−23 11 1 0 1 0 1 −2 2 0 0 1
====r1↔r⇒2
−23 11 1 0 1 0 11 −3 −2 1 0 0 1 −2 2 0 0 1
1 −0.478 −0.044 0 −0.044 0 0 2.261 −1.522 1 0.478 0 0 −1.522 2.044 0 0.044 1
r2+1123r1, r3+231r1
=============⇒
r1÷(−23)
1 0 −0.365 0.211 0.057 0 0 1 −0.673 0.442 0.211 0 0 0 1.019 0.673 0.365 1
r1+2261478r2, r3+15222261r2
===============⇒
r2÷(2.261)
1 0 0 0.452 0.188 0.358 0 1 0 0.886 0.452 0.660 0 0 1 0.660 0.358 0.981
A−1
r1+1019365r3, r2+1019673r3
===============⇒
r3÷(1.019)
25
选主元消去法的应用:求逆矩阵
11 −3 −2 1 0 0
−23 11 1 0 1 0 1 −2 2 0 0 1
====r1↔r⇒2
−23 11 1 0 1 0 11 −3 −2 1 0 0 1 −2 2 0 0 1
1 −0.478 −0.044 0 −0.044 0 0 2.261 −1.522 1 0.478 0 0 −1.522 2.044 0 0.044 1
r2+1123r1, r3+231r1
=============⇒
r1÷(−23)
1 0 −0.365 0.211 0.057 0 0 1 −0.673 0.442 0.211 0 0 0 1.019 0.673 0.365 1
r1+2261478r2, r3+15222261r2
===============⇒
r2÷(2.261)
1 0 0 0.452 0.188 0.358 0 1 0 0.886 0.452 0.660 0 0 1 0.660 0.358 0.981
A−1
r1+1019365r3, r2+1019673r3
===============⇒
r3÷(1.019)
25
选主元消去法的应用:求逆矩阵
11 −3 −2 1 0 0
−23 11 1 0 1 0 1 −2 2 0 0 1
====r1↔r⇒2
−23 11 1 0 1 0 11 −3 −2 1 0 0 1 −2 2 0 0 1
1 −0.478 −0.044 0 −0.044 0 0 2.261 −1.522 1 0.478 0 0 −1.522 2.044 0 0.044 1
r2+1123r1, r3+231r1
=============⇒
r1÷(−23)
1 0 −0.365 0.211 0.057 0 0 1 −0.673 0.442 0.211 0 0 0 1.019 0.673 0.365 1
r1+2261478r2, r3+15222261r2
===============⇒
r2÷(2.261)
1 0 0 0.452 0.188 0.358 0 1 0 0.886 0.452 0.660 0 0 1 0.660 0.358 0.981
A−1
r1+1019365r3, r2+1019673r3
===============⇒
r3÷(1.019)
25
选主元消去法的应用:求逆矩阵
11 −3 −2 1 0 0
−23 11 1 0 1 0 1 −2 2 0 0 1
====r1↔r⇒2
−23 11 1 0 1 0 11 −3 −2 1 0 0 1 −2 2 0 0 1
1 −0.478 −0.044 0 −0.044 0 0 2.261 −1.522 1 0.478 0 0 −1.522 2.044 0 0.044 1
r2+1123r1, r3+231r1
=============⇒
r1÷(−23)
1 0 −0.365 0.211 0.057 0 0 1 −0.673 0.442 0.211 0 0 0 1.019 0.673 0.365 1
r1+2261478r2, r3+15222261r2
===============⇒
r2÷(2.261)
1 0 0 0.452 0.188 0.358 0 1 0 0.886 0.452 0.660 0 0 1 0.660 0.358 0.981
A−1
r1+1019365r3, r2+1019673r3
===============⇒
r3÷(1.019)
25
选主元消去法的应用:求逆矩阵
11 −3 −2 1 0 0
−23 11 1 0 1 0 1 −2 2 0 0 1
====r1↔r⇒2
−23 11 1 0 1 0 11 −3 −2 1 0 0 1 −2 2 0 0 1
1 −0.478 −0.044 0 −0.044 0 0 2.261 −1.522 1 0.478 0 0 −1.522 2.044 0 0.044 1
r2+1123r1, r3+231r1
=============⇒
r1÷(−23)
1 0 −0.365 0.211 0.057 0 0 1 −0.673 0.442 0.211 0 0 0 1.019 0.673 0.365 1
r1+2261478r2, r3+15222261r2
===============⇒
r2÷(2.261)
1 0 0 0.452 0.188 0.358 0 1 0 0.886 0.452 0.660 0 0 1 0.660 0.358 0.981
A−1
r1+1019365r3, r2+1019673r3
===============⇒
r3÷(1.019)
25
选主元消去法的应用:求行列式
应用二: 求行列式 设有矩阵
A =
a11 a12 · · · a1n
a21 a22 · · · a2n
... ... ... an1 an2 · · · ann
用主元消去法将其化为上三角矩阵,并设对角元素为 b11, b22, · · · , bnn, 故 A 的行列式为
det(A) = (−1)mb11b22· · · bnn, 其中 m 为所做行、列交换的次数。
26
三角形方程组和三角分解
三角形方程组和三角分解
三角方程组的解法
三角方程组的解法
定义 : 下三角形方程组 考察
Ly = b (1)
其中 b = (b1,· · · , bn)T∈ Rn已知,y = (y1,· · · , yn)T∈ Rn 未知,
而
L =
l11
l21 l22
l31 l32 l33
... ... ... . ..
ln1 ln2 ln3 · · · lnn
,
且 lii̸= 0, i = 1, 2, · · · , n.
27
三角方程组的解法
1 由方程组 (1) 的第一个方程
l11y1= b1
可得
y1= b1
l11
. 2 由方程组 (1) 的第二个方程
l21y1+ l22y2= b2
可得
y2= b2− l21y1
l22
.
28
三角方程组的解法
3 一般地,若已求得 y1,· · · , yi−1,则由方程组 (1) 的第 i 个方程 li1y1+ li2y2+· · · + li,i−1yi−1+ liiyi= bi
可得
yi= bi−∑i−1
j=1lijyj
lii
.
29
三角方程组的解法
前代法
function b = fs(L, b, n) for j = 1:n -1
b(j) = b(j) / L(j,j);
b(j+1:n) = b(j+1:n) - b(j) * L(j+1:n, j);
end
b(n) = b(n) / L(n,n);
end
算法复杂度
所需加、减、乘、除的次数为
∑n i=1
(2i − 1) = n2, 即该算法的运算 量为 n2.
30
三角方程组的解法
前代法
function b = fs(L, b, n) for j = 1:n -1
b(j) = b(j) / L(j,j);
b(j+1:n) = b(j+1:n) - b(j) * L(j+1:n, j);
end
b(n) = b(n) / L(n,n);
end
算法复杂度
所需加、减、乘、除的次数为
∑n i=1
(2i − 1) = n2, 即该算法的运算 量为 n2.
30
三角方程组的解法
定义 : 上三角方程组 考察
Ux = y (2)
其中 y = (y1,· · · , yn)T∈ Rn 已知,x = (x1,· · · , xn)T∈ Rn 未知,
而
U =
u11 u12 u13 · · · u1n
u22 u23 · · · u1n
u33 · · · u3n
. .. ... unn
,
且 uii̸= 0, i = 1, 2, · · · , n.
31
三角方程组的解法
1 由方程组 (2) 的第 n 个方程
unnxn= yn
得
xn= yn
unn
. 2 由方程组 (2) 的第 n − 1 个方程
un−1,n−1xn−1+ un−1,nxn= yn
得
xn−1= yn− un−1,nxn
unn
.
32
三角方程组的解法
3 一般地,若已求得 xn,· · · , xi+1,则由方程组 (2) 的第 i 个方程 uiixi+ ui,i+1xi+1+· · · + ui,nxn= yi
得
xi= yi−∑n
j=i+1uijxj
uii
.
33
三角方程组的解法
回代法
function y = bs(U, y, n) for j = n: -1:2
y(j) = y(j) / U(j,j);
y(1:j -1) = y(1:j -1) - y(j) * U(1:j-1, j);
end
y(1) = y(1) / U(1 ,1);
end
算法复杂度
同前代法一样,回代法的运算量也为 O(n2).
34
三角方程组的解法
回代法
function y = bs(U, y, n) for j = n: -1:2
y(j) = y(j) / U(j,j);
y(1:j -1) = y(1:j -1) - y(j) * U(1:j-1, j);
end
y(1) = y(1) / U(1 ,1);
end
算法复杂度
同前代法一样,回代法的运算量也为 O(n2).
34
三角方程组的解法
定义 : 一般线性方程组 察
Ax = b (3)
其中 A∈ Rn×n 和 x, b∈ Rn。
若 A 能分解成一个下三角阵 L 和一个上三角阵 U 的乘积,即 A = LU,
则 (3) 的解 x 可通过以下两步算得: 1 利用前代法求解 Ly = b,得 y; 2 利用回代法求解 Ux = y,得 x。
35
三角方程组的解法
定义 : 一般线性方程组 察
Ax = b (3)
其中 A∈ Rn×n 和 x, b∈ Rn。
若 A 能分解成一个下三角阵 L 和一个上三角阵 U 的乘积,即 A = LU,
则 (3) 的解 x 可通过以下两步算得:
1 利用前代法求解 Ly = b,得 y;
2 利用回代法求解 Ux = y,得 x。
35
三角形方程组和三角分解
Gauss 变换
Gauss 变换
定义 : 矩阵三角分解
将矩阵 A 分解为一个下三角阵 L 和一个上三角阵 U 的乘积,最 自然的做法是通过一系列初等变换,逐步将 A 约化为上三角阵,
并且保证这些初等变换的乘积是一个下三角阵。
36
Gauss 变换
定义 : Gauss 变换 (矩阵)
Lk=
1
. ..
1
−lk+1,k 1 ... . ..
−ln,k 1
≜ I − lkeTk
lk= (0, · · · , 0, lk+1,k, · · · , lnk)T
→ Gauss 向量
37
Gauss 变换
定义 : Gauss 变换 (矩阵)
Lk=
1
. ..
1
−lk+1,k 1 ... . ..
−ln,k 1
≜ I − lkeTk
lk= (0, · · · , 0, lk+1,k, · · · , lnk)T → Gauss 向量
37
Gauss 变换
对于 x = (x1, · · · , xn)T∈ Rn,
Lkx = (x1, · · · , xk, xk+1− lk+1,kxk, · · · , xn− lnkxk)T. 取
lik= xi
xk
, i = k + 1, · · · , n, xk̸= 0 便有
Lkx = (x1, · · · , xk, 0, · · · , 0)T.
38
Gauss 变换
性质 : Lk 的逆
L−1k = I + lkeTk
证明
∵ eTklk= 0,
∴ (I + lkeTk)(I − lkeTk) = I − lk eTklk eTk = I.
39