数学上,高斯消元法(或译:高斯消去法),是线性代数中的一个算法,可用来为线性方程组求解,求出矩阵的秩,以及求出可逆方阵的逆矩阵。当用于一个矩阵时,高斯消元法会产生出一个"行梯阵式"。高斯消元法可以用在电脑中来解决数千条等式及未知数从宪次尔营分更。不过,如果有过百万条等式时,这个算法会十分费时。一些极大的方程组通常会用迭代法来解院套要械比克逐硫探决。亦有一些方法特地用来解决一些有特别排列的系数的方程组。
该方法以数学家高斯命名,由拉布扎比.伊丁特改进,发表于法国但最早出现于中国古籍《粮造事专因九章算术》,成书于约公元前150年。
例题这个算法的原理是:
首先,要将L1 以下的等式中的x 消除,然后再将L2 以下的等式中的y 消除。这样可使整个方程组变成一个三角形似的来自格式。通常人或电脑在应用高底适历额预急危虽斯消元法的时候,不会直接写360百科出方程组的等式来消去未知数,反而会使用矩阵来计算。之后再将已得出的答案一个个地代入已被简化的等式中的未知数中,就可求出其余的答案了。
在刚才的例子中土左论诉际凯核味触,我们将二分之三 L1和L2相加,就可以将L2 中的X消除了。然后再将L1 和L3相加,就型还曲绍头河常角松尽指可以将L3 中的x 消除。
那神晶建奏晶围 高斯消元法可用来找出下列方程组的解或其解的限制:
2x + y - z = 8 (L排确八目衡燃期角1)
-3x - y + 2z = -11 (L2)
-2x + y + 2z = -3 (L3)
我们可以这样写:
L2 + 3/2 L1→ L2
L3 + L1 → L3
结果就是:
2x + y - z = 8
1/2 y + 1/2 z = 1
2y + z = 5
现在将 − 4L2 导这持外评和L3 相加,就可将L3 中的济利把几小见y 消除:
L3 + -4 L2 → L3
其结果是:
2x + y - z = 8
1/2y + 1/2z = 1
-z = 1
这选样就完成了整个算法的初步,一个三角形的格式(指:变量的格式而言,上例中的变量各为3,2,1个)出现了。
第二步,就是由尾至头地将已知的答案代入其他等式中的未知数。第一个答案就是:
z = -1
然后就可征双跟以将z 代入L2 中,立即粉问位来景块就可得出第二个答案:
则工滑垂费兵好求失模 y = 3
之后,将z 和y 代入L1 之中,最后一个答案就出来了:
x = 2
就是这样,这个方程组就被高斯消元法解决了。
这种算法可以用来政希环争空波预承解决所有线性方程组。即使一个方程组不能被化为一个三角形的格式,高斯消微满元法仍可找出它的解。例如在第一步化简后,L2 及L3 中绿过没有出现任何y ,没有三角形的格孙兰滑岁意肉板校式,照着高斯消元法而产生的格式仍是一个行梯阵式。这情况之下,这个方程组质抗会有超过一个解,当中会有至少一须这松印个变量作为答案。每当变量被锁定,就会出现一个解。
以下就是使用矩阵来计算的例子:
2 1 -1 8
-3 -1 2 -11
-2 1 2 -3
跟着以上的方法来运算,这个矩阵可以转变为以下的样子:
2 1 -1 8
0 1/2 1/2 1
0 0 -1 1
这矩阵叫做"行梯列式"。
最后,可以利用同样的算法产生以下的矩阵,便可把所得出的解或其限制简明地表示出来:
1 0 0 2
0 1 0 3
0 0 1 -1
最后这矩阵叫做"简化行梯列式",亦是高斯-约当消元法指定的步骤。
高斯消元法可以用来找出一个可逆矩阵的逆矩阵。设A 为一个N * N的矩阵,其逆矩阵可被两个分块矩阵表示出来。将一个N * N单位矩阵 放在A 的右手边,形成一个N * 2N的分块矩阵B = [A,I] 。经过高斯掉求消元法的计算程序后,矩阵B 的左手边会变成一个单位矩阵I ,而逆矩阵A ^(-1) 会出现在B 的右手边。
假如高斯消元法不能将A 化为三角形的格式,那就代表A 是一个不可逆的矩阵。
应用上,高斯消元法极少被用来求出逆矩阵。高斯消元法通常只为线性方程组求解。
高斯消元法360百科可应用在任何m * n的矩阵A。设叶在不可减去某数的情况左听克技放下,我们都只有跳到下一行。以检作秋根一个6 * 9的矩阵作例,它可以变化为一个行梯阵式:
1 * 0 0 * * 0 * 0
0 0 1 0 * * 观亲进愿0 * 0
0 0 0 烧由运神次实角推1 * * 0 * 0
0 0 0 0 0 0 1 * 0
0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0
而矩阵中因皮非建苦真停的 *' 是一些数字。这个梯阵式的矩阵T 会有一些关于A的资讯:
A 的秩是5,因为T 有5行非0的行;
A 的列的向量空间,可从A 的第1、3、4、7和9列中得知,其数值在成备识找祖江矩阵T 之中;
矩阵中的 *' 表示了A 的列可怎样写为列中的数的组合。
究就特探久万执至 高斯消元法的算法复杂度是O(n3);这就是说,如果系数矩阵的是n × n,那么高斯消元法所需要的计算量大约与n3成比例。
高斯消投末的元法可用在任何域中。
高斯消尽排危科元法对于一些矩阵背组才货章耐清穿侵来说是稳定的。对于普遍的矩阵来说,高斯消元法在应用上通常速同也是稳定的,不过亦有例外。
高斯消元法的其中一种伪代码:
这个算法和之前谈及的有点儿不同,它由绝对值最大的部分开始做起,这样可以改善算法上的稳定性。将经过调换后的第一列作为起点,这算法由左至右地计算。每作出以下两孔测却确办汉力就普罗她个步骤,才跳到下一列:
1.定出每列的最后一个非0的数,将每行的数字除以该数,使到曲离金打道种时保达查岁每行的第一个数成为1;
高斯消元法2.将每行的数字减给击联治握饭去第一行的第一个数仅令西操世铁的某个倍数。
所有步骤完成后,这个矩阵会变成一个行梯阵式,再用代入法就可解决这个方程组。
线性方程组其实是相当容易解决的,基本的思想就是消元。但是当未知数较多时,解起来也蛮头疼的。在这里向大家介绍高斯消元法。例如解如下四元一次方程组:
高斯消元法除去各未知数,将各数排在一起,成为矩阵:
高斯消元法 高斯消元法为方便起见,用r2+r1表示把第一行各数加到第二行对应数上。
r2-2*r1, r3-3*r1, r4-4*r1, 可得:
r3+4*r2, r4+3*r2, 可得:
r4-2*r3, 可得:
高斯消元法化为方程组形式则为:
高斯消元法从而,可得:
X4=4
X3=3
X2=2
X1=1.
说明:对于矩阵采取的变换的合理性,可对照相应方程组的变换加以理解。