三角形,圆形,正方形
这是一个小学的小朋友都会的问题——多元一次方程。解的方式也很简单:就是配,把未知数一个一个约掉,最后求出来一个未知数,然后带入回去,一个一个求出所有的未知数。
面对更多的未知数的问题怎么办呢?那当然是慢慢配呗。那怎么去配,约掉未知数呢?解决这个问题方法很多,不过相较于求最大公倍数的方法,我们其实还有一个更快的方法。
高斯消元
方程也可以是矩阵!
来看下面这个二元一次方程:
{2x1+x2=34x1+3x2=5
你应该能够熟练得用矩阵表达它了吧,就像这样:
[2413]×[x1x2]=[35]
但是呢,为了简化,我们后面会把这类矩阵简化成这种形式,它们被称作增广矩阵:
[241335]
形成梯形!
开始之前,我们来说一下步骤:首先,我们需要先用第一行与下面的每一行进行加减,消去x1并保留这一行。
然后用第二行与下面每一行进行加减,消掉x2,并保留这一行。
以此类推,如果结果理想,我们就会在最后一行得到类似xn=b的等式,然后返回向上依次带入,就能得到最终结果啦~
我们不如举个例子完成一下上述过程。但是上面的例子太简单啦,所以我们换一个三元一次方程入手:
⎣⎡2031320−113−67⎦⎤
我们发现,第二行已经没有x1项了,所以它的第一步已经完成了,所以甩到后面去,就像这样:
⎣⎡23012301−137−6⎦⎤
然后,我们将第二行加上第一行的−23倍,我们就消掉了x1:
⎣⎡200121301−1325−6⎦⎤
好,然后我们将第三行加上第二行的-6倍,我们我们就消掉了x2:
⎣⎡200121001−73−21−21⎦⎤
所以我们在最后一行得到−7x3=−21,所以x3=3。
带入到第二行,得到x2=−1。
这两个结果带入到第一行,得到x1=2。
唔,结果可以这样表示(其实也就是完成了上述过程):
⎣⎡1000100012−13⎦⎤
自由变量
其实实际情况根本不可能这么顺利,上面仅仅是一个完美的例子而已。比如,在实际情况中,化简到的最后形式变成了:
⎣⎢⎢⎡200012100010040−703−21−210⎦⎥⎥⎤
形成了上梯形之后,有效的等式只有三个(说明行之间线性相关啦)。那么此时,我们以往上带入的顺序,将它们叫做自由变量。
比如在这里,我们知道x4=3,但是在上一行带入时卡住了,此时就需要将x3定义为自由变量来表示x2,即x2=−2x3−1。
回到第一行,发现表达x1也可以用自由变量x3表示,所以无需追加自由变量。方程有无穷多个解,且可以仅用一个自由变量表示。
没有结果!?
唔,其实还有这种可能:
⎣⎡100720−1102−12⎦⎤
最后一行变成了0=2,这明显不可能成立!就是说,这个方程无解。
自小学开始
向观察,配凑的解方程方法说再见?作为走出小学的大学生,我们现在可以选择直接用分数硬凑啦。但不要忘记,高斯消元也只是解方程的一种模式而已,小学的目测来配凑其实也是正确的做法~