高斯消元法(二):高斯消元法原理

来源:互联网 发布:企业站源码 编辑:程序博客网 时间:2024/06/05 02:45

高斯消去法是一种常用的求解线性方程组的方法,通过逐次消元后,在回代求解,实际计算中常用的一种方法。


顺序消去法

将Ax=b按照从上至下、从左至右的顺序化为上三角方程组,中间过程不对矩阵进行交换,主要步骤如下。


STEP1:

将第2行至第n行,每行分别与第一行做运算,消掉每行第一个参数。公式如:

形成如下图所示新矩阵:



STEP2:

从新矩阵的a22开始(a22不能为0),以第二行为基准,将第三行至第n行分别与第二行做运算,消掉每行第二个参数。

公式如:,形成如下图所示新矩阵:



STEP K:

按照上述方法,当第k步运算时,公式为:

运算前后的矩阵为:




STEP (n-1):

经过 n-1 步,方程组也就转化为了我们希望得到的上三角方程组,如下:



再通过回代过程即可求解 X1至 Xn 的值。


顺序消去法计算量

消去过程:


回代过程:   


总运算量:



顺序消去法虽然编程操作简单,但是存在以下两方面限制:

(1)每次运算时,必须保证对角线上的元素不为0(即运算中的分母不为0),否则算法无法继续进行。

(2)即使a(kk)的值不为零,但如果绝对值很小,由于第k次运算中a(kk)在分母位置,因此作除数会引起很大的误差,从而影响算法的稳定性。





正是由于顺序消去法会因为 a(kk) 的值过小而引入计算误差,为了减少计算过程中舍入误差对方程组求解的影星,因此是否可以选择绝对值尽可能大的 a(kk) 主元作为除数,基于这种思想就有了高斯消去法的改进型:列主元消去法 和 全主元消去法。


列(全)主元消去法

基本思想:

在第k步消元钱,找出k行下所有第k列元素最大的非零元素 a(pk), 将第 p 行与第 k行进行整行交换,这样既不影响原方程的解,也可以将绝对值最大的a(pk)作为主元,放在处暑的位置上,尽可能减小引入误差。   

全主元消除法与列主元消除法类似,只不过列主元消除法是从第k列中选取一个最大的元素,与第k行进行交换。 而全主元消除法释从第k行第k列开始的右下角矩阵中所有元素中选取一个最大的元素作为主元,同时交换p行与q列,从而保证稳定性。


如下面这个列主元消去法的例子:











原创粉丝点击