简单的线性方程组,我们当然可以运用初中学过的知识来求解,那复杂的呢?硬来几乎是不可能的了,一方面是因为人工计算的错误率很高,另一方面,即使我们使用计算机,用类似 for 或 while 循环来实现算法,它的计算效率也是极低的。你需要用更科学的方式、方法,从另一个角度来看待和求解线性方程组。
这个过程分为三步:
我们要寻找一个特殊解,使得 Ax=b;找到 Ax=0 的所有解;
组合第一和第二步的解形成通用解。
看到了这里,你有没有发现有些奇怪呢?或者说,有没有觉得哪里有点别扭?
是的,好像有点太顺利了。那是因为这个线性方程组比较特别,第一列和第二列是由 1 和 0 组成的。所以,我们只通过观察就能得出特殊解和通用解。然而,你不可能每次都行大运,就像我们在现实中碰到的这类线性方程组,一般都比这个复杂得多。不过不要慌,有一个算法可以来帮助我们转换任意线性方程组,形成类似的特殊形式,这个算法叫做高斯消元法。高斯消元法的核心就是线性方程组的初等变换,于是,我们可以通过高斯消元法,得到围绕初等变换形成的简单矩阵表达形式,接下来我们就可以运用之前的三个步骤来寻找通用解了。
线性方程组的求解已经成为了世界上最快计算机的测试标准,因为通过矩阵运算,计算机的并行计算能力暴露无遗。
此文章为3月Day15学习笔记,内容来源于极客时间《04 | 解线性方程组:为什么用矩阵求解的效率这么高? (geekbang.org)》