计算方法-6.1Gauss消去法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A ( A, b) ( A , b )
( 1) ( 1)
(A ,b ) (A ,b )
( n) ( n)
(2)
(2)
经过n-1次
目标:A( n )为上三角阵
则方程组 A x b 的解不难得到
( n) ( n)
2016/8/14 7
即
Ax b
同解
A( n ) x b( n ) ------------(2)
包括一般线性方程组的Gauss消去法、 Gauss列主元法、对称正定方程组的平 方根法、三对角方程组的追赶法等 及雅可比迭代和塞德尔迭代法
2016/8/14
3
实际问题中的线性方程组分类: 按系数矩阵中 零元素的个数: 稠密线性 方程组 稀疏线性 方程组 (80%)
按未知量 的个数:
按系数矩 阵的形状
以上求解线性方程组的方法称为Gauss消去法
如果将线性方程组Ax b 的系数矩阵A分解成 两个三角形矩阵 L和U ,即
A LU
则
都是三角 形方程组
Ax b
LUx b
Ly b Ux y
8
上述方法称为直接三角形分解法
2016/8/14
上三角形方程组 Ux b 的求解思路:
u11 u12 u1n x1 b1 u22 u2 n x2 b2 unn xn bn
( 1) ( 1) a12 a1 n (2) (2) a22 a2 n (2) (2) an a 2 nn ( 1) b1 (2) b2 (2) bn
12
(2) i
b m b
( 1) i
( 1) i1 1
(A ,b )
2016/8/14
( 1)
( 1)
解: 本方程组的精度较高的解为
x* (0.99989999 ,1.00010001 )T
用Gauss消去法求解(用3位十进制浮点数计算)
2016/8/14 23
主元
0.000100 A ( A, b) 1
m21 10000
1 1 1 2
9999
1 1 0.000100 4 4 0 1 . 00 10 1 . 00 10
且
( 1) a11 0 0
det() 0
因此, 第k 1步后, ( A(1) , b(1) )将化为
2016/8/14 13
( 1) ( 1) a11 a12 (2) a 22 (k ) (k ) ( 1) ( 1) ( A , b ) (A ,b ) 定义行乘数 (k ) aik mik ( k ) i k 1, , n akk
回代后得到
x1 0.00 , x2 1.00
与精确解相比,该结果误差较大 究其原因,在求行乘数时用了很小的数0.0001作除数
2016/8/14 24
前述顺序消去法是按序通过用
a11,a(1)22,…,a(n-2)n-1(a(k-1)kk≠0) 作为除数来达到消元目的的。在实际计算时,由 于舍入误差的影响,计算结果会改变很大,甚至于 完全失真。
1 3 1 x1 , x2 , x3 4 2 4
上述求解方程组的方法就是高斯(Gauss)消去法。 从式 (6―6) 到 (6―6") 的过程称为消元过程而由 (6―6") 求出 x3 、 x2 、 x1 的过程称为回代过程。因 此用高斯消去法求解性方程组要经过消元和回代 两个过程。
2016/8/14 19
Ux b
2016/8/14
9
u11 x1 u12 x2 u1n xn b1 i ,i 1 xi 1 uin xn bi uii xi u un1 ,n1 xn1 un1 ,n xn bn1
unn xn bn
20 9 10 20!(20 1)(20 1) 20
用行列式定义
或
(20 1) 2700
用行列式性质
2016/8/14
22
三、 Gauss列主元消去法 Gauss列主元消去法的引入
例1.
用Gauss消去法解线性方程组(用3位十进制浮 点数计算)
0.0001x1 x2 1 x1 x2 2
直接法概述
直接法是将原方程组化为一个或若干个三角形 方程组的方法,共有若干种. 对于线性方程组
Ax b
------------(1)
其中
a11 a21 A an 1
a12 a1n a22 a2 n an 2 ann
系数矩阵
回 代 方 向
其解为:
bn x n unn
2016/8/14
n bi uij x j j i 1 x i uii
i n 1, n 2 , ,2 ,1
10
§ 6.1 Gauss消去法
一、消元与回代计算 对线性方程组
Ax b
对其增广矩阵施行行初等变换:
高阶线性 (如1000) 方程组
低阶线性 方程组
对称正定 方程组
三角形 方程组
三对角占 优方程组
2016/8/14
4
解线性方程组的两类方法:
直接法: 经过有限次运算后可求得方程组 精确解的方法(不计舍入误差) 迭代法:从解的某个近似值出发,通过构 造一个无穷序列去逼近精确解的方法。 (一般有限步内得不到精确解)
(k ) bi( k 1) bi( k ) mikbk
2016/8/14
i , j k 1, , n
i k 1, , n
14
当经过k n 1步后, ( A(1) , b(1) )将化为
( 1) a11 ( A( n ) , b( n ) ) ( 1) ( 1) a12 a1 n (2) (2) a22 a2 n (n) ann ( 1) b1 (2) b2 (n) bn
(n k )(n k 2)次
2016/8/14 20
完成全部n 1步消元需作乘除法运算 总次数为
n 3 n 2 5n ( n k )(n k 2) 3 2 6 k 1
n 1
全部回代过程需作乘除法的总次数为
n2 n ( n i 1) 2 2 i 1
a a
( 1) 1n (2) 2n
(k ) (k ) akk akn (k ) (k ) ank ann
b b (k ) bk (k ) bn
( 1) 1 (2) 2
det() 0
第i行 第k行 mik , 则
( k 1 ) (k ) (k ) aij aij mik akj
n
于是Gauss消去法的乘除法运算总的次数为
3 n3 n n n2 O( n 2 ) MD 3 3 3
2016/8/14 21
当n很大时 如n 20时
3 n n n 2 n MD 3 3 3
3
Gauss消去法乘除法约为2700次
而如果用Cramer法则的乘除法运算次数约为
( 1) a11 (2) (2) 0 (A ,b ) 0
( 1) 如果 a11 0 由于 det(A) 0
则 A 的第一列中至少有一个 元素不为零
如 a
( 1) i1 1
0, 则将( A , b )的第一行与第 i1行交换后消元
( 1) ( 1)
( 1) ( 1) a12 a1 n (2) (2) a22 a2 n (2) (2) an a 2 nn ( 1) b1 (2) b2 (2) bn
2016/8/14
25
如果在求解时将1,2行交换,即
1 1 2 A ( A, b) 0.000100 1 1
1 2 1 0 1.00 1.00
m21 0.0001
0.9999
回代后得到
x1 1.00 , x2 1.00
( 1) ( 1) a12 a1 n ( 1) ( 1) a22 a2 n ( 1) ( 1) an 2 ann ( 1) b1 ( 1) b2 ( 1) bn
11
如果 det(A) 0
( 1) a11 ( 1) 记 a21 ( 1) ( 1) A ( A, b) ( A , b ) a( 1) n1
aii
i n 1, n 2 , ,2 ,1
2016/8/14
16
以上讨论告诉我们,对具有上三角形系数矩阵 的方程组求解极为方便。当然,若方程组的系数 矩阵为下三角形,则求解也很方便。于是对于一 般形式的方程组,我们总设法把它化为系数矩 阵呈上(或下)三角形的方程组来求解。为了达 到目的,可利用消去法进行。现举例如下: 解方程组
第六章
线性方程组的解法
2016/8/14
1
第六章
线性方程组的解法
§ 6.1 Gauss消去法 § 6.2 直接三角分解法 § 6.3 对称矩阵直接三角分解法 §
6.4 追赶法(Thomas法) 6.5 误差分析
§ §
6.6 迭代法
2
本章要点
线性方程组的解法:直接解法和迭代法
主要归结为三角形方程组的求解
2016/8/14
假定 a
( 1) 11
0
定义行乘数
1) ai(1 mi 1 ( 1) a11
i 2 ,3 , , n
第i行 第1行 mi 1 , 则
a
b
(2) ij
a m a
( 1) ij
( 1) i1 1 j
i , j 2 ,3 , , n
i 2 ,3 , 百度文库 , n
x1 b1 x2 b2 x b xn bn
未知量向量 常数项
6
2016/8/14
根据Cramer(克莱姆)法则,若
det(A) 0
则方程组 Ax b 有唯一解
若用初等变换法求解,则对其增广矩阵作行初等变换:
①
②
③
(6―6′)
对方程组(6―6′)作③-②× 程组
x1 2 x2 x3 3 3 x 2 6 x3 3 12 x 3 3
2016/8/14
7 ,得到三角形方 3
① (6―6")
②
③
18
从方程组(6―6“)的方程③解出x3,将所得的结果代 入方程②求出x2,再把x3、x2同时代入方程①解出 x1。这样可求出方程组的解为
( A( 1) , b( 1) )
由于 det(A) 0
(i ) 可知 aii 0
i 1,2,, n
因此, 上三角形方程组A( n) x b( n) 有唯一解
2016/8/14 15
因此可得线性方程组 Ax b 的解:
bn xn ( n ) ann
n (i ) (i ) bi aij x j j i 1 xi (i )
二、Gauss消去法的运算量 计算机作乘除运算所耗时间要远远多于加减运算 且在一个算法中,加减运算和乘除运算次数大体相当 故在衡量一个算法的运算量时只需统计乘除的运算次数
作第k步消元时
乘法次数: (n k )(n k 1)次 除法次数: ( n k )次
作第k步消元乘除法运算总次 数为
x1 2 x2 x3 3 x1 x2 5 x3 0 4 x x 2 x 2 3 1 2
2016/8/14
①
② ③ (6―6)
17
作②-①消去②中的x1,作③-①×4消去③中的 x1,则方程组化为
x1 2 x2 x3 3 3x2 6 x3 3 7 x 2 x 10 2 3