
xiaoyuanfa
消元法
elimination method
又称消去法。解线性代数方程组的主要方法之一。早在东汉以前,中国古代著名的数学著作《九章算术》中就有了用消元法解方程组的方法。直到今日,消元法仍是解线性代数方程组的一个很重要的方法。在一些国家的数学著作中也常用高斯消去法这一名词。
消元法解线性代数方程组时,将某一方程乘以某些常数分别加到其他方程上,以消去这些方程中的某一未知量。重复施行这一步骤,就可逐步消去未知量,最后只剩下一个未知量。用矩阵的语言来说也就是对方程组的系数矩阵或增广矩阵(加上右端项所成的矩阵)进行初等变换,使它的一些元素(例如主对角线以下的元素)为零。具体地说,设方程组为
[774-2] (1)式中[kg2](,=1,2,…,)和,,…,都是已知数,,,…,为待求的解。设11不为零,将第一个方程分别乘以-21/11,-31/11,…,-/11加到第2至第个方程上,就消去了这些方程中的,方程组化成
[774-3] (2)这里为了统一起见,已将[kg2]11,12,…,和[kg1]分别写为,,…,和[kg1]对(2)的后-1个方程进行类似处理,消去后[kg2]-2个方程的,这样继续下去,若都不为零,最后得到
[774-4] (3)上述过程可表示为:对=1,2,…,-1,
[774-5]式中[774-6]
有了(3)就可反推求出(1)的解:
[774-7]这称为回代过程,而前面消去的步骤称为消去过程。
在消去过程中,有时可能遇到[kg2]=0[kg1]的情况,但若方程组(1)有惟一解,则在[kg2][774-8]中至少有一个不为零,例如 ≠0,那么只要将这时的第个方程和第[kg2]个方程互换,即可继续进进消去有时虽≠0,但||很小,此时往往带来较大误差,从而使最后得到的解不够精确,甚至面目全非。为避免这种情况,也要进行上述交换,将 [774-9]中最大者所在的方程与第个方程交换,这叫做列主元素消元法或部分主元素消元法,也可在后-+1个方程的所有的系数中找出绝对值最大的而后进行方程和未知量的交换,这叫做全主元素消元法,但这种方法工作量较大,一般用列主元素消去法较好。
方程组(1)可写成矩阵的形式
[774-10] (4)式中 为(1)的系数所成的矩阵,和 分别为列向量(,,…,)和(,,…,);则以上的消去过程可写为
[774-11]式中
[774-12]而
[774-13]为使矩阵的第行与其后的某行交换的排列阵,当不需进行交换时,则无此因子或=(阶单位阵)。
三角分解法 又称因子分解法,是由消元法演变而来的解线性代数方程组的一种方法,它将方程组(4)中的系数矩阵分解成下三角形矩阵和上三角形矩阵 之积。它有几种形式,例如可取的对角线元素为1,即为单位下三角形矩阵。这种情形下将和相乘,并与比较,可知和的元素和可由下列递推公式给出:对=1,2,…,,
[774-14]计算顺序为先算的第一行,再算的第一列,然后的第二行,的第二列等等,其中规定和数[775-1]为零(下同)。得到和后,(4)可写为两个方程组
[775-2]
设的分量为,,…,,容易得出
[775-3] (5)和
[775-4] (6)在分解因子时,[kg1]为了避免除数为零或||甚小带来较大误差,也可在的每行元素,,+1,,算好后,在这些元素中选主元,然后进行列的交换。此时要注意,的分量也应相应地进行交换。以上的方法称为杜利特尔分解法。若取为下三角形矩阵,为单位上三角形矩阵,则为克劳特分解法,其算式为:对=1,2,…,,
[775-5]计算时,先算的第一列,再算的第一行等等,同样可在算完,+1,,…,后选主元,进行行的交换,但同时要将 的分量进行相应的交换。其求解的过程也和(5)、(6)类似。
若为对称正定矩阵,可设
[775-6]此处为下三角形矩阵,[kg2]为其转置,计算公式为:对=1,2,…,。
[775-7]计算时先算的第一列,再顺次算其后各列,这叫做平方根法或乔勒斯基法。在为对称正定时,均不为零,故可以
不选主元,但这个方法需要次开方运算,而开方的工作量较多。若设
[775-8]此处为单位下三角形矩阵,为对角矩阵,其对角线元素记为,,…,,则计算公式为:对=1,2,…,,
[775-9]对每个,先算[kg2],再算的第列。为了节省运算量,可保存乘积[775-10]而对=1,2,…,,按
[775-11]一行行地计算,即按,[kg2]21,[kg2]21,[kg2],31,31,32,32,,…的顺序计算。求解过程为
[775-12]这叫做改进的乔勒斯基方法。
追赶法 解系数矩阵 A为三对角矩阵的线性代数方程组的常用方法。设方程组为
[775-13]第一个方程可写为
[775-14]一般地,有
[775-15] (7)把它代入第+1个方程中,可得
[775-16] (8)由(8)可以逐次递推求出[kg2],,,,…,,,这称为“追”的过程,易知[kg2]=0,然后由(7)可依次求得,-1,…,,这叫“赶”的过程。可以证明,在
[775-17]即为强对角优势矩阵情况下,计算是稳定的,即舍入误差的影响很小。因此追赶法是行之有效的。实际上追赶法就是克劳特分解法。对块三对角矩阵,也有类似的所谓“块追赶“的方法,然而它需要求一系列的逆矩阵,计算量可能较大。
直接法的某些问题 解线性代数方程组的方法分直接法和迭代法两大类,上面的方法都属直接法的范畴在用直接法求解时,要根据系数矩阵的性质和计算机的性能,从内存、计算量、稳定性等一些方面来考虑。就一些计算机而言,乘除法所需时间较加减法多得多,故应尽量减少乘除法。上面的高斯消去法、杜利特尔法、克劳特法中的乘除法和加减法的次数均[kg2][775-18]数量级,而乔勒斯基法由于利用了对称的性质,就只有[kg2][775-19]。在计算中,中间量应尽量存储在原矩阵以后不再用的元素的位置,例如分解法的和的元素即可占用的相应元素的位置。特别对稀疏矩阵,应根据矩阵的形状,选择特殊的计算方法以尽量节省计算量和避免产生较多的非零元素。对三对角矩阵情形的追赶法就是一个突出的例子。
当用某种方法求出方程组(1)或(4)的解时,由于舍入误差的影响,它一般不是方程组的精确解,而只是一个近似解。将代入原方程,[kg2]若剩余向量=-各分量的绝对值均甚小,一般就可认为 是比较精确的近似解,也可任取一已知向量,较精确地(例如用双精度)算出向量=,然后用解= 同样的方法解=,得近似解。一般就用[kg1][776-1]作为 的近似解的误差。然而这种方法也不是绝对可靠的。特别对病态矩阵、矩阵的元素或方程组的右端的微小变动可以导致方程组的解很大变动。这种误差估计的方法是威尔金逊的一个重要结果,然而作出的上界往往偏高。如何更好地估计误差仍待研究。
为了提高解的精度,下述迭代改进法还是可取的:设为(4)的近似解,计算
[776-2],再逐步求出方程组
[776-3]的近似解,,…,此处
[776-4]这样得到的序列,=+,=+,…往往能逐步更近似于方程组的精确解。此外也还有其他一些方法。
矩阵求逆法 给定一个非奇异矩阵,求的逆矩阵(本质上是解一组线性代数方程组的问题。事实上由=(单位矩阵),可知逆矩阵的第列所成的向量应为方程组=e的解,此处e为第个分量为1、其余分量为零的列向量。实际求逆矩阵时,可用消元法来计算。在前面的高斯消元法中,每步可以不仅将对角线以下的元素消成零而且将对角线以上的元素也消成零,并使对角线元素为1。与高斯消元法相类似,可以得到
[776-5]这里为在第步将矩阵=-1…的第列变为e的矩阵。具体求逆时,可按下列步骤进行,[kg2]其中,,,均指当时在的相应元素位置上的数:对=1,2,…,的每个,依次做①计算=1/,并放在处;②对≠计算-,并放在处;③当和均不等于时计算+并放在处;④对≠计算,并放在处。可证,最后在矩阵原来的位置上就得到的逆阵(。为了提高精度,也可采取选主元的方法。
和解线性
代数方程组的三角分解法一样,也可将分解为下三角阵和上三角阵之积,即=,从而(=((,而三角形矩阵的逆矩阵是易于求出的。
此外还有分块法、加边法、迭代法等一些求逆矩阵的方法。
参考书目
冯康等编:《数值计算方法》,国防工业出版社,北京,1978。
胡家赣
以上就是网友分享的关于"消元法"的相关资料,希望对您有所帮助,感谢您对爱华网的支持!