当前位置:
文档之家› (数值分析)第五章 解线性方程组的直接法
(数值分析)第五章 解线性方程组的直接法
3 2
2
11 .
10 5 10
0
1 9
7 9
2 3
华长生制作
8
第二步消元,令 l32 10 / 63, 得增广矩阵
1 0
2
3 7
1
3 2
2
11
.
10 5 10
0
0
53 53 63 63
利用回代公式依次得到
x3 1, x2 1, x1 1.
在这个例子中我们写出的是分数运算的结果。如果在计算机上
a(1) 13
x3
0.49105820
事实上,方程组的准确解为
x* (0.491058227,0.050886075,0.367257384)T
华长生制作
15
例2所用的方法是在Gauss消去法的基础上,利用换行 避免小主元作除数,该方法称为Gauss列主元消去法
列主元素消去法也称按列部分主元的消去法。一般地,在完成 了第k-1步消元运算后,在 ( A(k) , b(k) ) 的第k 列元素 akk(k)之下的所有 元素中选一个绝对值最大的元素作为主元素,即若
的列元素为a13 2, 因此1,3行交换
华长生制作
13
r1 r3
2 1
108
1.072 3.712
2
5.643 3 4.623 2
3 1
( A(1) , b(1) )
绝对值最大 不需换行
m21 0.5
m31 0.5108
2 0
0
m32 0.629 72292
1.072 0.3176 10
2 3.712 1.072
3 4.623 5.643
x1 x2 x3
1 2 3
解: 这个方程组和例1一样,若用Gauss消去法计算会有 小数作除数的现象,若采用换行的技巧,则可避免
108
A ( A,b) 1
2
2 3.712 1.072
3 1
4.623 2
5.643
3
108 很小, 绝对值最大
则将 ( A(k) , b(k) ) 的第 ik 行与第k行交换,然后进行消元运算。
华长生制作
16
完成了n-1步主元,换行与消元运算后,得到 A(n) x b(n),这是
与原方程组等价的方程组, A(n)是一个上三角阵,再代回求解.这就是列
主元素消去法的计算过程.
除了列主元素消去法外,还有一种完全主元素消去法.在其过程的第k
进行计算,系数矩阵和中间结果都用经过舍入的机器数表示,中间
结果和方程组的解都会有误差。
华长生制作
9
Gauss列主元消去法的引入
例1. 用Gauss消去法解线性方程组(用3位十进制浮 点数计算)
0.0001x1 x1
x2 x2
1 2
解: 本方程组的精度较高的解为
x* (0.99989999,1.00010001)T
xn
a (n) n,n1
/ ann(n) ,
n
a (n) n,n1
x
j
)
/aii ( i )
,
i
n
1,
n
2,L
,1.
jk 1
求解上式的过程称为回代过程。
以上由消去过程和回代过程合起来求解方程组的过程就称为
Gauss消去法,或称为顺序Gauss消去法。
华长生制作
6
由前面可知,消元过程的第k步需出发运算n-k次,乘法和减法运算各 需(n-k)(n+1-k)次,所以消元过程共需乘除法运算的次数为
中,含 x1 的项已经消去.
第k步消元:设消去法已进行k-1步,得到方程组 A(k) x b(k) ,此时对
应的增广矩阵是
华长生制作
4
a11(1)
( A(k) , b(k) )
假设
a(k) kk
0令,
a (1) 12
a (2) 22
a (k) kk
a (n) nk
a (1) 1n
a (2) 2n
)
a11(1)
a (1) 12
a (2) 22
a (1) 1n
a (2) 2n
a (1) 1,n1
a (2) 2,n1
.
a (n) nn
a( n,n1
n
)
这就完成了消元过程。 因为A非奇异,所以可求解上三角方程组,通过逐次代入计算
可得方程组的解,其计算公式为
xi
(a (i) i , n 1
14
经过回代后可得
x3
b3( 3 ) a(3)
0.685 138 54
0.186 555 41 10
0.367 257 39
33
x2
b2(2) a2(23) x3 a(2)
22
0.5 0.18015 10 x3 0.3176 10
0.05088607
x1
b1(1)
a(1) 12
x2
a(1) 11
a (1) 1,n1
a (2) 2,n1
a (k) (k) nn
a( n,n1
k
)
lik
a (k) ik
a (k) kk
, aij (k 1)
a (k) ij
lik akj (k )
i k 1, k 2, n; j k 1, k 2, , n 1,
将 ( Ak , bk )变换为 ( Ak1 , bk1 ) ,( Ak1 , bk1 ) 中第1至第k行的元素
a (k) ik ,k
max
kin
aik
(
k
)
,
行变换相 当于左乘 初等矩阵
则以
a (k) kk
为主元素,这里
ik
k
,且
A(k )由于非奇异,
有
a (k) kk
0
.这样,lik
a (k) ik
/ a (k) ik ,k
1 有达到控制舍入误差的作
用。
选出主元素后,若则进行顺序Gauss消去法的第k步若 ik k ,
华长生制作
11
如果在求解时将1,2行交换,即
A ( A,b) 0.0010100
1 1
21
m210.0001
1 0
1 1.00
1.200
0.9999
回代后得到
x1 1.00 , x2 1.00
这是一个相当不错的结果
华长生制作
12
例2. 解线性方程组(用8位十进制尾数的浮点数计算)
108 1 2
去法完成后,再按记录恢复自变量为自然次序.完全主元法比列主元法
运算量大得多,由于列主元法的舍如误差一般已较小,所以在实际计 算中多用列主元法.
华长生制作
17
例3 用列主元素消去法解方程组Ax=b,计算过程中五位有效 数字进行运算,其中
0.002 2 2 0.4
(
A,
b)
1
0.78125 0 1.3816.
x (1.92730 ,0.698496 ,0.900423 )T ,
而用不选住主元的顺序Gauss消去法,则解得 x (1.9300 ,0.68695 ,0.88888 )T ,
这个结果误差较大,这是因为消去法的第1步中,a11(1) 按绝对值比 其他元素小很多所引起的。从此例看到列主元素消去法是有效 的方法。
将 ( A(1) , b(1) ) 变换为
a (1) 11
( A(2)
, b(2)
)
a (1) 12
a (2) 22
M
L L L
a (2) n2
L
a (1) 1n
a (2) 2n M
a (2) nn
a (1) 1,n1
a (2) 2,n1
M
a (2) n,n1
它对应的方程组 A(2) x b(2) 与原方程组等价,而在第2至第n个方程
a11 x1 a12 x2 a1n xn b1a1,n1
a21
x1
a22 x2
a2n xn
b2 a 2,n1
an1 x1 an2 x2 ann xn bn an,n1
设方程组的系数矩阵A非起奇异,记
a (1) ij
aij
(i 1,2, , n; j 1,2, , n)
( A(1) , b(1) ) ( A, b)
第二步选列主元为 算得
a (2) 32
2.0028
,交换第2行与第3行,再消元计
华长生制作
18
3.996
(
A( 3 )
, b(3)
)
0
0
5.5625 2.0028
0
4 2.0020 0.39047
7.4178 0.40371 . 0.35159
消去过程至此结束。回代计算依次得到解
x3 0.90043 , x2 0.69850 , x1 1.9273 这个例题的精确解是
用Gauss消去法求解(用3位十进制浮点数计算)
华长生制作
10
主元
A ( A,b) 0.0010100
1 1
1 2
9999
m2110 000
0.000100 0
1
1
1.00 104 1.00 104
回代后得到
x1 0.00 , x2 1.00
与精确解相比,该结果相当糟糕
究其原因,在求行乘数时用了很小的数0.0001作除数
n1
n1
n3 n2 5n
(n k) (n k)(n 1 k)
k 1
k 1
326
需加减法运算的次数