
数学上,高斯消元法(或译:高斯消去法),是线性代数中的一个算法,可用来为线性方程组费德粮树黄李经求解,求出矩阵的秩,以及求出可逆方阵的逆矩阵。当用于一个矩阵时,高斯消元法会产生出一个"行梯阵式"。高斯消元法可以用在电脑中之被价新宁课错来解决数千条等式来自及未知数。不过,如果有过百万条等式时,这个算法会十分费时。一些极大的方程组通常会用迭代法来解决。亦有一些方法特地用来解决一些有特别排列的系数的方程组。
- 中文名 高斯消元法
- 命名 高斯
- 最早出现 《九章算术》
- 成书时间 公元前150年
- 类别 线性代数算法
历史
该方法以数学家高斯命名,由拉布扎比.伊丁特改进,发表于法国但最早出现于中国古籍《九章算术》,成书于约公元前150年。

例子
这个算法的原理是:
首先,要将L1 以下的等式中的x 消除,策逐夫陆谁端府队沿然后再将L2 以下的等式中的y 消除。这样来自可使整个方程组变已成一个三角形似的格式。通常人360百科或电脑在应用高斯消元法的时候,不会直接写出方程组的等式来消去未知数,反而会使用矩阵来计算。之后再将已得出的答案一个个地代入已被简化的等式中的未知数中,就可求出其余的答案了。
在刚才朝握虽逐做优的例子中,我们将二分之三 L1和L2相困管选采数加,就可以将L2 中的击罗X消除了。然后再将L1 简后和L3相加,就可以将L3 中的x 消除。
高斯消元法可用来找出下列方程组的解或其解的限制:
2x + y - z = 8 怀裂金被掌断宜越(L1)
-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 是一个不可逆的矩阵。
应用上,高斯消元法极少被用来求出逆矩阵。高斯消元法通派终上点常只为线性方程组求解。
计出秩的基本算法
高斯消元法可应用在任何来自m * n的矩阵A。在不可减去某数的情况下,我们都只有跳到下一行。以一个6 * 9的矩360百科阵作例,它可以变化为一个行梯阵式:
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
X价置干准孙出罪婷完置1=1.
说明:对于矩阵采取的变换的合理性,可对照相应方程组的变换加以理解。