5.1高斯消去法解析
高斯消除法
高斯消除法高斯消除法是一种解线性方程组的常用方法。
它的基本思想是通过一系列的行变换将线性方程组化为上三角形式,从而求得方程组的解。
本文将详细介绍高斯消除法的原理和步骤,并通过一个具体的例子来演示其应用。
一、高斯消除法的原理高斯消除法的核心思想是利用行变换将线性方程组化为上三角形式。
其基本原理可以概括为以下几点:1. 首先,将线性方程组的系数矩阵进行增广,得到一个增广矩阵。
2. 选择一个主元素,一般选择第一行的第一个非零元素作为主元素。
3. 通过行变换,将主元素所在列的其他元素消为零。
4. 重复上述步骤,选择一个新的主元素,直到将矩阵化为上三角形式。
5. 对上三角矩阵进行回代,得到线性方程组的解。
下面我们通过一个具体的例子来演示高斯消除法的步骤。
假设有如下线性方程组:2x + 3y - z = 10x - y + 2z = -13x + 2y - 3z = 51. 首先,将系数矩阵进行增广,得到增广矩阵:[ 2 3 -1 | 10 ][ 1 -1 2 | -1 ][ 3 2 -3 | 5 ]2. 选择第一行的第一个非零元素2作为主元素。
3. 第一步消元:将第二行乘以2,减去第一行,得到新的第二行:[ 2 3 -1 | 10 ][ 0 -7 4 | 19 ][ 3 2 -3 | 5 ]将第三行乘以3,减去第一行,得到新的第三行:[ 2 3 -1 | 10 ][ 0 -7 4 | 19 ][ 0 -7 0 | -5 ]4. 选择第二行的第二个非零元素-7作为主元素。
5. 第二步消元:将第三行乘以(-1),加上第二行,得到新的第三行:[ 2 3 -1 | 10 ][ 0 -7 4 | 19 ][ 0 0 4 | 14 ]6. 至此,已将矩阵化为上三角形式。
接下来进行回代,求解方程组的解。
由最后一行可知,4z = 14,即z = 14/4 = 3.5。
将z的值代入第二行的方程中,可得-7y + 4z = 19,即-7y + 4*3.5 = 19,解得y = -3。
高斯消去法
2011-1-1
数值分析
例1 用消去法求解方程组 1 1 1 4 -1 2 -2 1 6 5 1
x1 + x2 + x3 = 6 4 x2 − x3 = 5 2 x − 2 x + x = 1 2 3 1
1 1 1 6 4 -1 5 0 -4 -1 -11 1 1 4 0 0 1 6 -1 5 -2 -6
xk = (bk( k ) −
∑+1 j =k
n
( ( akkj) x j ) / akkk) ,(k = n − 1, n − 2,L,1)
(2)如果系数矩阵 为非奇异矩阵则可通过高斯消去法与初等行 如果系数矩阵A为非奇异矩阵则可通过高斯消去法与初等行 如果系数矩阵 变换方法,将方程组约化为三角形方程组。 变换方法,将方程组约化为三角形方程组。
还原为方程组
x1 + x2 + x3 = 6 4 x2 − x3 = 5 − 2 x3 = −6
(消元过程) 消元过程)
x3=3, x2=2, x1=1 , ,
2011-1-1 数值分析
(回代过程) 回代过程)
一般线性方程组的高斯消去法
设有方程组
a11 x1 + a12 x2 + L + a1n xn = b1 , a21 x1 + a22 x2 + L + a2 n xn = b2 , LLLLLLLLLLLL a x + a x + L + a x = b , m2 2 mn n m m1 1
( (k (k akk ) ≠ 0 计算乘数 mik = aikk ) ,L , m)
乘上面的线性方程组的第k个方程加到第 个方程, 个方程加到第i个方程 用-mik乘上面的线性方程组的第 个方程加到第 个方程,可 以消去x 以消去 k元,得到同解方程组 A ( k +1) x = b ( k +1) 得到同解方程组 ( 其中 ai(k+1) = ai(k) −m kakkj) (i = k +1,L, m, j = k +1,Ln). j j i
高斯消去法高斯塞德尔迭代法
数值计算高斯消去法和高斯-塞德尔迭代法摘要虽然已学过加减消元法、代入消元法、矩阵变换法和Cramer 法则等,但是无法满足实际计算需要,故在此讨论在计算机上实现的有效而实用的解法。
线性方程组的解法大致分2类:直接法(高斯消去法)和迭代法(高斯-赛德尔迭代法),在此对着此类算法进行比较分析。
一、算法设计当计算线性方程组如下时,11112211211222221122n n n n n n nn n na x a x a xb a x a x a x b a x a x a x b +++=⎧⎪+++=⎪⎨⎪⎪+++=⎩ (1-1)为方便起见,常将线性方程组表示成矩阵形式Ax b=其中1111n n nn a a A a a ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦1n x x x ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦1n b b b ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦并始终假定A 是非奇异的,即方程组的解存在且唯一。
1.1高斯消去法消去法就是按特定顺序进行的矩阵初等变换法,当消元按自然顺序进行时,称为高斯顺序消去法。
一般情况下的高斯顺序消去法的计算机算法如下,现将方程组(1-1)的增广矩阵记作(0)(0)(0)11111(0)(0)(0)11n n n nn nn a a a a a a ++⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦假设经k-1步消元后,增广矩阵化为(0)(0)(0)(0)1112111(1)(1)(1)22221(1)(1)(1)1(1)(1)(1)1nn nn k k k kk knkn k k k nk nnnn a a a a a a a a a a a a a ++---+---+⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦其中()s ij a 的上标表示是由s 步消元得到的植。
第k 步消元:设(1)0k kk a -≠,以第k 行为基础,将以后各行中的(1)k ik a -化为0,为此先计算(1)(1)/k k ik ik kk l a a --=然后以第i 行减去第k 行乘以ik l ,即以()(1)(1)k k k ij ij ik kj a a l a --=-()()1,,11,,j k n i k n =++=+于是得(0)(0)(0)11111(1)(1)(1)(1)11()()()11111()()()11n n k k k k kkkk knkn k k k k k k nk n k k k k nnnnn a a a a a a a a a a a a a +----+++++++++⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦经n-1步消元后,增广矩阵化为(0)(0)(0)11111(1)(1)(1)1(1)(1)1n n k k k kk knkn n n nn nn a a a a a a a a +---+--+⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦自下往上逐步回代即可求得其解(1)(1)1(1)(1)(1)11/()/(1,2,,1)n n n nn nnnk k k k kn kj j kk j k x a a x aax a k n n --+---+=+==-=--∑由行列式的初等变换和矩阵初等变换的关系可知,顺序消元法的每一步系数行列式之值不变,因此原方程组之系数行列式的值为(0)(2)(1)1122n nn a a a - ,可在求解过程中逐步累乘求得。
高斯消去法
高斯消去法高斯消去法,又称高斯消元法,实际上就是我们俗称的加减消元法。
数学上,高斯消去法或称高斯-约当消去法,由高斯和约当得名(很多人将高斯消去作为完整的高斯-约当消去的前半部分),它是线性代数中的一个算法,用于决定线性方程组的解,决定矩阵的秩,以及决定可逆方矩阵的逆。
当用于一个矩阵时,高斯消去产生“行消去梯形形式”。
目录例如信息学方面的应用下面介绍一下矩阵的初等行变换:对于增广矩阵A求解线性方程组的步骤:历史编辑本段例如一个二元一次方程组,设法对每个等式进行变形,使两个等式中的同一个未知数的系数相等,这两个等式相减,得到一个新的等式,在这个新的等式中,系数相等的未知数就被除去了(系数为0)。
同样的也适合多元多次方程组。
编辑本段信息学方面的应用高斯消元是求解线性方程组的重要方法,在OI中有广泛的应用。
本文就来讨论这个方法。
什么是线性方程组?含m个方程和n个未知量的方程组定义为a(11)x(1)+a(12)x(2)+...+a(1n)x(n)=b(1)a(21)x(1)+a(22)x(2)+...+a(2n)x(n)=b(2)...a(m1)x(1)+a(m2)x(2)+...+a(mn)x(n)=b(m)这个方程组称为m*n线性方程组,其中a(ij)和b(i)为实数,括号中为下标。
这个方程组有多种表示方法。
例如,我们知道m*n矩阵(用大写字母表示)是一个m行n列的数阵,n维向量(用加粗的小写字母表示)是n个数的数组,也就是一个n*1矩阵(列向量。
我们不考虑行向量)。
另外,大家也都知道矩阵乘法。
因此一个m*n线性方程组可以表示为Ax=b,其中A是由系数aij组成的m*n矩阵即系数矩阵,x是n维的未知数向量,b是m维的结果向量。
如果把向量b写到A的右边得到m*(n+1)的矩阵,得到的新矩阵称为这个方程组的增广矩阵。
每一个方程组均对应于一个增广矩阵。
编辑本段下面介绍一下矩阵的初等行变换:1 交换两行2 用非零实数乘以任一行3 把某一行的倍数加到另一行上同理可以定义初等列变换。
高斯消元法线性方程组的解法
高斯消元法线性方程组的解法高斯消元法是一种常用于解决线性方程组的方法,能够有效地求解方程组的解。
它利用矩阵的初等行变换将方程组转化为简化的阶梯型矩阵,进而求得方程组的解。
本文将介绍高斯消元法的原理和步骤,并通过一个具体的例子来演示如何使用高斯消元法求解线性方程组。
一、高斯消元法的原理高斯消元法基于以下原理:通过矩阵的初等行变换,可以将线性方程组转化为行简化阶梯型矩阵,从而得到方程组的解。
其基本思想是通过逐行消元,将矩阵的主对角线以下的元素全部变为0,最终得到行简化阶梯型矩阵。
二、高斯消元法的步骤1. 将线性方程组的系数矩阵和常数矩阵合并为增广矩阵;2. 选择一个元素作为主元,并将该列的其他元素消为0;3. 逐行进行行交换,使主元非零;4. 重复上述步骤,直到将增广矩阵转化为行简化阶梯型矩阵。
三、高斯消元法的具体操作为了更好地理解高斯消元法,我们将通过一个具体的例子来演示其求解过程。
考虑以下线性方程组:```2x + 3y - z = 13x - 2y + 5z = -2x + y - z = 0```首先将系数矩阵和常数矩阵合并为增广矩阵:```[2 3 -1 | 1][3 -2 5 | -2][1 1 -1 | 0]```选择第一行的第一个元素2作为主元,通过初等行变换将主元所在列的其他元素消为0:```[2 3 -1 | 1][0 -13 7 | -5][0 -1 1 | -1]```接下来选择第二行的第二个元素-13作为主元,通过初等行变换继续消元:```[2 3 -1 | 1][0 1 -7/13 | 5/13][0 0 -6/13 | -8/13]```最后一次消元选择第三行的第三个元素-6/13作为主元:```[2 3 -1 | 1][0 1 -7/13 | 5/13][0 0 1 | 4/3]```现在我们得到了行简化阶梯型矩阵,接下来可以使用回代法求解方程组。
从最后一行开始,依次代入上一行的解,最终求得方程组的解为:```x = 5/6y = 3/2z = 4/3```四、总结高斯消元法是一种常用的线性方程组解法,通过矩阵的初等行变换将方程组转化为行简化阶梯型矩阵,进而求得方程组的解。
第三章-高斯消去法
对于(A (1) , b (1) )中个元素的计算公式为:
( ( (0 a11j) a10) / a11) j (1) ( 0) ( 0 ) (1) a ij a ij a i1 a1 j
( j 2, , n 1) (i 2, , n; j 2, n 1)
2 1 3 1 4 2 5 4 2 0 2 6
第一步:先将方程(1)中未知数 边,得到下列方程组:
x 1的系数2除(1)的两
1 3 1 x1 2 x 2 2 x 3 2 I1 4 x1 2 x 2 5x 3 4 2x 2x 3 6 1
( a 10 ) n
a (0) 22
(0 a 32)
a (0) 2n
( a 30 ) n
a (0) 42
a (0) 4n
( a 10 ) 1 n (0) a 2 n 1 ( a 30 )1 n (0) a 4n 2
(0 第一步:对(A ( 0) , b ( 0))的第一行个元素除以a11) , 然 0 后用第i行元数(i 2, , n )减去第一行对应元素的a i(1 ) (0 倍, 2, , n ), 这样,a11) 位置变为 ,其余各行的第一 (i 1
(1 a12) 1
(1 a13) a ( 2) 23
0 0
( a 11)1 n a ( 2 )1 2n 记为 ( 2) ( 2) a 33 a 3n 1 (A ( 2 ) , b ( 2 )) ( 2) ( 2) a n 3 a nn 1
k 对第k行各元素除以a (kk1) , 第i行的元素减去第k行对应 (k 元素的a ik 1)倍(i k 1, , n ), 这样就将第k行第k个元
线性方程组的高斯消去法
收敛阶-高斯消去法
(3.3)
(3.3) 是回代过程。
说明: (1)也可采用无回代的列主元消去法(叫Gauss--Jordan消去法),但比有回代的列主元消 去法的乘除运算次数多。 (2)有回代的列主元消去法所进行的乘除运算 次数为 1 n 3 n 2 1 n ,量很小。
3 3
三、 Gauss 全主元消去法:
所以,此时Newton法至少二阶收敛.
3.牛顿法的改进(重根情形)
f ( x) 0在区间 [a , b]有m重根x*, m 2
因此可令 f ( x) ( x x*)m g( x)
且 g( x*) 0
f ( x*) f ( x*) f ( x *) f ( m 1) ( x*) 0
到此原方程组化为
a11 x1 a12 x2 a1n xn a1,n1 a22 x2 a2 n xn a2 ,n1
ai 2 x2 ain xn ai ,n1
an 2 x2 ann xn an ,n1
m
(2)求逆矩阵 ( A
E ) ... ( E A )
1
(以上过程都应选主元)
五.矩阵三角分解法
( A | b) ( u | g ) (| 1) Lk Lk 1 L2 L1 ( A | b) ( u | g ) LK LK 1 L2 L1 A u
A ( LK LK 1 L2 L1 ) 1 u
容易回代求解
回代求解很容易,如
l11 y1 b1 l l 21 22 y2 b2 l n1 l n 2 l nn yn bn b1 y1 l11
高斯消去法解方程组
高斯消去法解方程组
高斯消去法是数值计算中一种解线性方程组的标准算法,由查尔斯·高斯在 18 年发明,是向量空间下线性方程组的计算最有效的算法。
它利用线性变换(例如交换、加减乘除),逐步将线性方程组化简成上三角形形式进而得到解,称为高斯消去法。
其核心思想是:由方程组的关系式可得出系数矩阵,采用层层消去的方法使其变成上三角矩阵,再解出解向量。
高斯消去法的具体步骤是:
(1)以第一列为基元,化为消去向量,即第一列第一项(用a表示)对应的消去系数,然后将其他行的第一项做除法,消去第一列。
(2)以第二列为基元,化为消去向量,消去其余行第二项。
(3)以此类推,以每一列为基元,化为消去向量,将其
余行此列之项全部消去;直至消去完毕。
(4)最后一步是逆序求出解向量。
由最后一个方程式,
可直接求出最后一列解向量(用x表示)特征值,若n表示方程组的阶数,则n=1时即可求得解向量的所有特征值,若n>1,则逆序回代求出前面的特征值。
高斯消去法解线性方程组的算法比较简单,易于理解,
但它会遇到数值误差、文本输入错误等问题,所以在使用高斯消去法时,应当注意它的准确性,以及在使用这种解法时可能出现的数值不稳定性。
此外,高斯消去法的效率较低,其计算
时间与方程组系数的规模呈指数增长关系,因此也可以通过其他算法来求解线性方程组,如 LU 分解等。
数值分析5 2(高斯消去法)
a1(11) 0
第一次 消元
a1(11) a1(12) ... a1(1n) x1 b1(1)
0
...
a2(22)
... a2(2n)•x2b2(2)
0
an(22) ... an(2n) xn bn(2)
……
(记 为 A(2)x = b(2))
a1(11) a1(12) ... a1(1n) x1 b1(1)
所在以计在算计机算上机用上高用斯高-斯约-当约消当去消法去法求计 算A-即1就可相。当即于同时求解n个线性方程 组。
由关系式 AA-1 = I
得 Ax(1) x(2) x(n)
e1 e3 en
其中x(s)为A-1的第s列,es为I 的第s列(s=1, 2, …, n)。
例 用高斯-约当消去法求矩阵A的 逆矩阵,其中
2
4
5
1 2 3
3
b1
4
1
5
b2
2
3
解 增广矩阵为 3 4 6 3 5
2 4 5 4 2 1 2 3 1 3
1 4/3 2 1 5/3
①×1/3 2
4
54
2
1 2 3 1 3
消元 1 4/3 2 1 5/3
0 4/3 1 2 4/3 0 2/3 1 0 4/3
1 4/3 2 1 5/3 ②×3/40 1 3/4 3/2 1
2 1 0 A 1 1 1
1 1 0
解 用高斯-约当消去法得
2
A I1
1 1
0 0 1 0 1 1 0 0
消元
1 1 0 0 0 1
1 1/2 0 0 1/2 0
0 1/2 1 1 1/2 0 消元
高斯消元法-简述
高斯消元法-简述
高斯消元法,又称高斯消去法,实际上就是我们俗称的加减消元法.
数学上,高斯消去法或称高斯-约当消去法,由高斯和约当得名(很多人将高斯消去作为完整的高斯-约当消去的前半部分),它是线性代数中的一个算法,用于决定线性方程组的解,决定矩阵的秩,以及决定可逆方矩阵的逆.当用于一个矩阵时,高斯消去产生“行消去梯形形式”.
例如:一个二元一次方程组,设法对每个等式进行变形,使两个等式中的同一个未知数的系数相等,这两个等式相减,得到一个新的等式,在这个新的等式中,细数相等的未知数就被除去了(系数为0).同样的也适合多元多次方程组.。
高斯消去法
5.2
Gauss消去法
5.2.1 Gauss消去法的计算过程 5.2.2 矩阵的三角分解 5.2.3 主元素消去法
5.2.4 Gauss-Jordan消元法
第五章方程组的直接解法
第5章 线性方程组的直接解法
教学目的 1. 掌握解线性方程组的高斯消去法、高斯选主元素消去法; 2. 掌握用直接三角分解法解线性方程组的方法; 3. 了解解对称正定矩阵线性方程组的平方根法与解三对角线方程 组的追赶法; 5. 掌握向量,矩阵范数,矩阵的条件数等概念及方程组的扰动分 析。 教学重点及难点 重点是 1. 解线性方程组的高斯消去法、高斯选主元素消去法; 2. 直接三角分解法解线性方程组的方法; 3. 向量,矩阵范数,矩阵的条件数等概念及方程组的扰动分析; 难点是方程组的扰动分析。
Ax b,
(2)
A (aij ) nn , x ( x1 , x2 , xn ) T , b (b1 , b2 ,bn ) T .
第五章方程组的直接解法
5.2
Gauss消去法
Gauss消去法是一个古老的求解线性方程组的方法。
由它改进的选主元法是目前计算机上 常用的有效的求解 低阶稠密矩阵线性方程组的方法。
或写成矩阵形式
(1)
a11 a12 a a 21 22 a a n1 n 2
或简单地记为:
a1n x1 b1 a 2n x 2 b2 b a nn x n n
迭代法是解大型稀疏矩阵方程组的的重要方法.
第五章方程组的直接解法
对于中小型方程组,常用直接解法。从本质上来说, 直接方法的原理是找一个可逆矩阵M,使得MA是一个上 三角阵,这一过程一般称为“消元”过程,消元之后再 进行“回代”,即求解MAx=Mb。本章讨论Gauss消去 法及其变形,以及一些情况下的特殊方法,最后进行误 差分析。
5.1高斯消去法解析
b(k) i
mik
bk(k)
消去过程算法
a (1) 11
高斯(Gauss)消去法
a b (1)
(1)
1n
1
a a (k)
(k)
kk
kk 1
a b (k)
(k)
kn
k
0
a ( k 1) ij
b ( k 1) j
0
k 1 i,j n
回代过程算法
高斯(Gauss)消去法
a x (1)
a x a x a x (1) (1)
(1)
11 1
12 2
13 3
a x a x (2)
22 2
(2)
23 3
a x (3)
33 3
a x (3)
n3 3
a b (1) (1)
1n
1
a b (2) (2)
2n
2
a b (3) (3)
其中aii 0
ann xn bn (i 1,2,......, n)
高斯(Gauss)消去法
为求解上面的上三角方程组,从最后一个 方程开始,先解出 xn bn / ann , 然后按方程从后 向前的顺序,用已求出的xk 值,从方程中依次 解出xn1, xn2 ,...., x1。
11 1
a x a x b (1) 1i i
(1) (1)
1n n
1
a x a x b (i) (i) (i)
ii i
in n
i
a x a x b (n1)
高斯消去法
第 k 步:消去第 k 列 高斯消去法 (k) (k) (k) 设 akk 0,计算 mik aik akk
(i k 1, ..., n)
( ( ( 计算 aijk 1) aijk ) mik akjk ) ( bi( k 1) bi( k ) mik bkk ) ( i = k+1, …, n )
m21 a21 / a11 109 Gauss消去法:
9个 a22 1 m21 1 0.0...0 1 1010 0.10...0 1010 小主元 可1010 0.10... 0 能导致计 10 10 10 b2 2 m21 1 0.0...02 10 0.10...0 10 0.10... 0 10 算失败。
(k ) b
b1( k ) ( bkk ) , (k ) bn
第k步计算步骤: 即确定i k 使 a i ,k max a ik ; 消元: (1)按列选主元: k in 当 (2)换行: ik k时,交换( A, b )第k行与第ik 行元素; (3)消元计算:
b1(1) b ,即 a (1) a , b (1) b 。 (1) ij ij i i b n
A
b
(i, j 2, ..., n)
第二步:消去第二列 (2) (2) (2) 设 a22 0 ,计算 mi 2 ai 2 a22 (i 3, ..., n) 依次将上述矩阵的 第 i 行 + mi2 第 2 行,得
( (n 回代求解: xn bnn) ann)
xi bi( i )
(
j i 1
解线性方程组-高斯消去法列主元
6
1
3 3 1
1 3 1
15 15 6
A
0
b0
l21 12 18,.l31 1 18 ,消元得
18 0 0
3 1 1.1667
1 2.3333 0.9444
15
18
5 交换第2,3行 0
5.1667
0
1 2 4
1 3 1
6 5
11
A1
b1
1 第二次消元: l32 2 ,消元得 0
0
1 2 0
1 3 7
6 5
21
A 2
b
2
回代过
程: x3 21 7 3 , x2 5 3x3 2 2, x1 6 x2 x3 1 1。
例:
用顺序消去法求解方程组:
x1 x2 x3 6 x1 3x2 2x3 1
。
5x1 x2 4x3 19
1
解: A b 1
5
1 3 1
1 2 4
6 1 19
A0
b
0
1 第一次消元: l21 1, l31 5 ,消元得 0
对于i 2, 3, , n 做
li1 ai10 a110
: ai11 0
对于j 2, 3, , n 做
aij1
aij0
l
i
1a1
0
j
bi1 bi0 li1b10
计算流程
高斯消去法
(E ) 2(E ) →E
→→Biblioteka 1 1 (2)回代求解,得 x1 = ,x 2 = , x 3 = 0。 )回代求解, 3 3
m个方程,n个未知数的线性方程组的高斯消去法: 个方程, 个未知数的线性方程组的高斯消去法: 个未知数的线性方程组的高斯消去法 个方程 a11 x1 + a12 x2 + L+ a1n xn = b1 a21 x1 + a22 x2 + L+ a2n xn = b2 ( 3 .4 ) M M M M am1 x1 + am2 x2 + L+ amn xn = bm x1 b1 a11 a12 L a1n v b2 a21 a22 L a2n v x 2 其系数矩阶 A = , x = L , b = L 。 L L L L x b a am 2 L amn m m m1 r (1 ) v v (1) (1 ) r (1) (1) 则 若记 A = A = ( a ij ) , b = b , ( 3 .4 )可写为 A x = b ,即
步计算: 第 k步计算: 步计算 (m-k)次除法运算 ) ( a ikk ) (k (i , 设 a kk ) ≠ 0,计算乘数 m ik = ( k , = k + 1, L, m ) a kk ) r (k ) (k ) a ( k ) 以下元素约化为零, A(k ) 第k列 kk 以下元素约化为零, 施行行初等变换,使 对( A ,b ) 施行行初等变换 使 列 即 ri mik rk → ri (i = k + 1,L, m) ,得到与原方程组等价的方程组 A( k +1) x = b ( k +1)。 (m-k)(n-k)次乘法运算 次乘法运算 其中 A ( k +1) , b ( k +1) 元素计算公式为: 元素计算公式为: ( k +1) (k ) (k ai j = ai j mik akj ) (i = k + 1,L, m,j = k + 1,L, n) (m-k)次乘法运算 次乘法运算 A( k + 1) 与 A(k ) 前k行元素相同,A( k +1) 左上角 阶阵 行元素相同, 行元素相同
高斯消元法
求解线性方程组的直接解法5.1 Gauss 消去法① 三角方程组先举一个简单的例子来说明消去法的基本思想.例1. 用消去法解方程组⎪⎩⎪⎨⎧=+-=-=++(3) .122(2),54(1),632132321x x x x x x x x 解 第一步.将方程(1)乘上-2加到方程(3)上去,消去(3)中的未知数1x ,得到 (4) .11432-=--x x第二步.将方程(2)加到方程(4)上去,消去方程(4)中的未知数2x ,得到与原方程组等价的三角形方程组(5).62,54 ,6332321⎪⎩⎪⎨⎧-=-=-=++x x x x x x 显然,方程组(5)是容易求解的,解为.)3,2,1(T x =*上述过程相当于332331 (-2) 6-56 20014011111-56 140140111156 122140111)|(r r r r r r b A →+→+⨯⎪⎪⎪⎭⎫ ⎝⎛--→⎪⎪⎪⎭⎫ ⎝⎛---→⎪⎪⎪⎭⎫ ⎝⎛--=其中用i r 表示矩阵的第i 行.下面我们讨论求解一般线性方程组的高斯消去法. 一般地⎪⎪⎩⎪⎪⎨⎧==++=+++nn nn n n n n b x a b x a x a b x a x a x a 2222211212111当a 11a 22…a nn ≠0时,可解出 x n =b n /a nn for k=n-1:1 x k =(b 1- a k,k+1x k +1-…- a kn x n )/ a kk end注: k k b x ,可用同一组单元.并可解出一个未知数即代入其它方程消去该未知数Gauss 消元法的流程图为: 流程图中,,(,1,2,...,)ij i a b i j n 分别为线性方程组的系数矩阵和常数向量;k 是循环次数。
② 顺序消去法一般地,k =1对n 阶方程组消去第k 个元(a kk ≠0):⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡→⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡++++++++++++++n k k nnk n n n k k k k k knk k kkn k k nnk n nkn k k k k k knk k kk b b b a a m a a m a a a b b b a a a a a a a a a11,1,11,1,11,11,,11,1,11,)()(这里各行变换:i 行-k 行×m ik ,其中m ik =a ik /a kk ,i =k +1,…,n 而后, k =2对n -1阶方程组消第2个元…我们有如下顺序消元算法:for k=1:n -1 if a kk ≠0 for i =k +1:n m ik =a ik /a kk i 行=i 行-k 行×m ik end else stop end end(每行包括右端项!)可细化,也可存储m ik 于a ik 得:for k=1:n -1 if a kk ≠0 for i =k +1:n a ik =a ik /a kk for j=k+1:n a ik =a ik -a ik ×a kj end b i =b i -a ik ×b k end else stop end end顺序消元过程和回代过程连起来就可得精确解.顺序消元算法也可将系数矩阵和右端项分开:for k=1:n -1 if a kk ≠0 for i =k +1:n a ik =a ik /a kk for j=k+1:n a ik =a ik -a ik ×a kj end end else stop end end (注意m ik 在a ik ) for k=1:n -1 for i =k +1:n b i =b i -a ik ×b k endendGauss 消去法运算量消去第k 个元素时,对矩阵作加法和乘法运算各(n-k )×(n-k )次,除法(n-k )次.对右端作加法和乘法运算各(n-k )次.分别共12+22+…+(n -1)2=n (n -1/2)(n -1)/3和1+2+…+(n-1)=n (n -1)/2次加法乘法,消元时还有1+2+…+(n-1)= n (n -1)/2次除法.另外回代过程中加法和乘法运算各n (n -1)/2次,除法n 次.运算量主要是消元的贡献,加法和乘法运算各约n 3/3. 定理1.设Ax=b ,其中A .R n n ⨯∈(1) 如果),,1,2,(k 0)(n a k kk=≠则可通过Gauss 消去法将Ax=b 约化等价的三角形方程组⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡)()2(2)1(121)()2(2)2(22)1(1)1(12)1(11n n m n nn n n b b b x x x a a a a a a , 且计算公式为:(a) 消元过程设0)(≠k kka ,对1,,2,1-=n k 计算 nk k j i b m b b a m a a a a m k k ik k i k ik kj ik k ij k ijk kk k ik ik ,,2,1,/)()()1()()()1()()( ++=⎪⎩⎪⎨⎧-=-==++ (b) 回代过程1,2,,1/)(/1)()()()()( -=⎪⎩⎪⎨⎧-==∑+=n i a x a b x a b x n i j i ii j i ij i i i n nn n n n (2) 如果A 为非奇异矩阵,则可通过Gauss 消去法(及交换两行的初等变换)将方程组Ax=b 约化为⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡)()2(2)1(121)()2(2)2(22)1(1)1(12)1(11n n m n nn n n b b b x x x a a a a a a .行列式和逆矩阵易知顺序消元过程中,行列式不变.因此det (A )=det (U )=u 11u 22…u nn ,这里U 是顺序消元过程结束时的上三角矩阵.A 的顺序主子式。
高斯消去法
A x=b
(2)
(2)
A
(1)
(1 a11) 1 ( a 21) (1) b = a (1) n1
( a12)
1 1
L L L L
a1(n)
1 1
( a 22) L ( a n12)
( a2 n) (1 ann)
b1( ) (1) b2 M ( bn1)
General procedure of Gaussian elimimation Step 1. Denote Ax=b as A x = b
(1)
(1 a11) (1) a 21 a (1) n1 ( a12)
1
(1)
(1) A(1) = (aij ) = (aij ) = A, b(1) = (bi(1) ) = (bi ) = b
线性方程组由增广矩阵唯一确定
A b
Existence and uniqueness of the solution? ?
解存在唯一 ⇔| A |≠ 0
How to get the solution? ? Di xi = Cramer rule: Computation cost: (n+1)!
解线性方程组
非零元素 较多,零 元素较少
上万阶,零元素很多, 非零元素很少
矩阵计算 高阶稀疏
低阶稠密 直接法:
Gaussian elimination 完全主元素(pivoting)消去法 列/行/完全主元素 行 完全主元素 消去法 Gauss-Jordan elimination Square root/improved square root methods
高斯消去法
第二節 高斯消去法 (Gaussian Elimination)在上一節中的例11中,利用基本列運算化簡線性方程組的增廣矩陣求得一組解,而且恰有一組解,但是否每一個線性方程組都是如此呢?試觀察下面的例子:例1:解{)1(164143510∗=++−=−+=+L zyx z y x z x 解:將方程組以增廣矩陣方式表示,並化簡:−−1156144131001 131243R R R R −−−−−−1916534103410100123R R −−−−316500034101001 因此 與下列是等價的)1(∗)2(∗{)2(301634510∗−=−=−=+L z y z x由第三個方程式,可知中含有矛盾式,因此原方程組無解。
)2(∗)1(∗例2:解 …(1−=++−=++=−+15177125222z y x z y x z y x *) 解:化簡方程組之增廣矩陣:−−−1517712522121 131272RR R R −−−−−15123054102121233RR −−−000054102121 212R R −−−0000541012901 因此(1*)與 是等價的。
=−=+=−0054129z y z x 令 ,則t z = −−=+=54129t y t x 故方程組之解集合為 {}R t t t t ∈−−+),54,129(。
註:上式中的解之表示為參數式,其中為參數,其實也可以令為參數或t y x 為參數,但會得出不同形式的解集合,這些不同形式的集合都是一樣。
定義(a )一個矩陣若有下面的形式則稱為列梯形(row-echelon form )RE1. 零列一定排在最底下RE2. 在非零列中,左邊看過來第一個非零元素是1,稱為領導元1(leading 1)RE3. 每一個領導元1都在上方領導元1的右邊(好像下樓梯一般)(b )一個列梯形的矩陣若有下列的情形又稱為最簡(reduced )RE4. 在有領導元1的那一行只有那一個領導元1不是零。
高斯消去方法详解
§2 Matrix Factorization – Doolittle
道立特分解法:—— LU 分解的紧凑格式
a a 11 ... 1 n 1 很浪费哦 ……
思 通过比较法直接导出L 和 U 的计算公式。 路 反复计算,
. . . . l21 1 . . . . . . ... . . . . . ln a 1 ... n 1 ... a nn u 11 ... u 1 n . ... . . . . . 1 u nn
1
n
直接比较等式两边 的元素,可得到计 算公式(p.52)。
x y , x y x ( i n 1 , ... , 1 ) Step 3: 赶——即解U :n x y n i i i i 1
பைடு நூலகம்
i
§2 Matrix Factorization – Tridiagonal System
k 1 ,k
.. . m n ,k
1
§2 Matrix Factorization – Matrix Form of G.E.
1
1
1 L k
1 m m
k 1 ,k
L L ... L
1
1 1 1 2
1 n 1
1
记为
.. .
n ,k
m
L
i, j
1
a
(1 ) 11
~ ~ T A L L
T Since det( u > > k)0? ii A A Lis L 使得 Why 。若限定 L 对角元为正,则分解唯一。
n n 定理 设矩阵A对称正定,则存在非奇异下三角阵 L R
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
b (1) 1
高斯(Gauss)消去法
a 第二步消元:若 (2) ≠0 ,对除第一行第一列外 22
的子阵作上计算:
a a a (1)
11
(1) 12
(1)
13
0
A(3)
0
a(2) 22 0
a(2) 23
a(3) 33
0
a 0
(3)
n3
a(1)
这里
这里
a(2) ij
b(2) i
a (1) ij
a(1) i1
a(1) 11
a (1) 1j
b (1) i
a (1) i1
a (1) 11
b (1) 1
m i1
a (1) i1
a (1) 11
a (2) ij
a (1) ij
mi1
a (1) 1j
b(2) i
b(1) i
mi1
(5-1)
Ax=b
(5-2) 其中: a11 a12 a1n
x1
b1
A
a21 a22 an1an2
a2n ann
,x
x2 :
xn
,b
b2 ∶
bn
线性方程组的概念(续)
11 1
a x a x b (1) 1i i
(1) (1)
1n n
1
a x a x b (i) (i) (i)
ii i
in n
i
a x a x b (n1)
n1n1 n1
( n 1)
n1n n
( n 1) n 1
a x a x a x (1) (1)
(1)
11 1
12 2
13 3
a x a x (2)
22 2
(2)
23 3
a x (3)
33 3
a x (3)
n3 3
a b (1) (1)
1n
1
a b (2) (2)
2n
2
a b (3) (3)
程。然后按方程相反顺序求解上三角形方程组,得到原
方程组的解,此过程称为回代过程。
我们的目的,是要总结归纳出一般情况下的n阶线性方程 组的消元公式和回代求解公式,从而得到求解n阶线性方
程组的能顺利在计算机上实现的行之有效的算法。
高斯(Gauss)消去法
目标 一 般 方 程 组消元法 三 角 形 方 程 组 上三角方程组的一般形式是:
高斯(Gauss)消元法
第1节 高斯(Gauss)消去法
一、高斯消去法
高斯(Gauss)消去法
高斯消元法是一个古老的直接法, 由它改进得到的选主元的消元法,是目 前计算机上常用于求低阶稠密矩阵方 程组的有效方法,其特点就是通过消元 将一般线性方程组的求解问题转化为 三角方程组的求解问题
,下例说明其基本思想:
a11 x1 a12 x2 .............................. a1n xn b1 a22 x2 ............................. a2n xn b2 ....................................... .. a x n1n1 n1 an1n xn bn1
3 x3 4 x3
6 9
x1 3 x2 2 x3 6
解 n 3, a11 1 0
m21 a21 / a11 2 / 1 2
m31 a31 / a11 1 / 1 1
做 ( 第i个 方 程 ) mi1 ( 第1个 方 程 )i 2,3。
(1)
11 1
12 2
13 3
a x a x (2)
22 2
(2)
23 3
a x (3)
33 3
a x b (1)
(1)
1n n
1
a x b (2)
(2)
2n n
2
a x b (3)
(3)
3n n
3
a x b (n)
(n)
nn n
n
高斯(Gauss)消去法
上述消元过程除第一个方程不变以外, 第2—第 n 个方程全消去了变量 1,而系数 和常数项全得到新值:
a x a x a x (1) (1) (1)
11 1
12 2
13 3
a x a x (2)
(2)
22 2
23 3
a x a x (2)
(2)
32 2
33 3
a x b (n)
(n)
nn n
n
n
x b a x a ( (i)
i
i
(i) ) (i) i n 1 , n 2 , , 1
ij j
ii
j i 1
x b a (n)
(n)
n
n
nn
举例
例2
用Gauss消 元 法 求 解 方 程 组
2
x1 x1
2 x2 3 x2
a (2) i2
a (2) 22
这里
b(3) i
b (2) i
a (2) i2
a (2) 22
b (2) 2
a (3) ij
a (2) ij
mi2
a (2) 2j
b(3) i
b (2) i
mi2
b (2) 2
高斯(Gauss)消去法
A b 得到同解方程组
(3) x (3)
1n
b (1)
1
a(2) 2n
a(3) 3n
b
,
(3)
(2)
b
2
(3)
b
3
a(3)
nn
b
(3 n
)
高斯(Gauss)消去法
这里
a (3) ij
a (2) ij
a (2) i2
a (2) 22
a (2) 2j
m i2
线性方程组的数值解法
解线性方程组的数值方法大致分为两类:
1. 直接法:指假设计算过程中不产生含入误差,经过有 限步四则运算可求得方程组准确解的方法。
2. 迭代法:从给定的方程组的一个近似值出发,构造某 种算法逐步将其准确化,一般不能在有限步内得到准确解。
这一章介绍计算机上常用的直接法,它们都是以Gauss 消元法为基本方法,即先将线性方程组化为等价的三角形 方程组,然后求解。 请注意:由于在计算中某些数据实际上只能用有限位小
这个过程的计算公式为:
n
xn bn / ann , xi ( bi aik xk ) / aii k i 1
高斯(Gauss)消去法
a x a x
11 1
12 2
对对nn阶阶线线性性方方程程组组:a 21 x1 a 22 x 2
a x a x
n1
b(k) i
mik
bk(k)
消去过程算法
a (1) 11
高斯(Gauss)消去法
a b (1)
(1)
1n
1
a a (k)
(k)
kk
kk 1
a b (k)
(k)
kn
k
0
a ( k 1) ij
b ( k 1) j
0
k 1 i,j n
回代过程算法
高斯(Gauss)消去法
a x (1)
,都包含了解线性方程组问题,因此,线性方程组的解法
在数值计算中占有较重要的地位。
设n阶线性方程组:a11x1 a12 x2 a1n xn b1 a21x1 a22x2 a2n xn b2
其矩阵形式为: an1x1 an2 x2 ann xn bn
例1(续再)消一次元得:
二次消元后将方程化为
x1 x2 x3 6
15x2 9x3 57
倒三角形式,然后进行
回代容易解出: x3 = 3,
x2
=
2, x1
22 5
x3
= 1。
66 5
上述Gauss消元法的基本思想是:先逐次消去变量,将
方程组化成同解的上三角形方程组,此过程称为消元过
21
11
a a (第 三 行 ) ( 第 一 行 ) ( 1 ) ( 1 ) → ( 新 第 三 行 )
31
11
a a (第n行) (第一行) ( 1 ) ( 1 ) → ( 新第n行 )
n1
11
相当于第i个方程减第一个方程×数→新的第i方
程—同解!第一方程不动!
高斯(Gauss)消去法
3n
3
a b (3) (3)
nn
n
a 若 ( 3 ) 0,则 此 消 去 过 程 可 依 次 进行 下 去 。 33