高斯-若尔当消元法(英语:Gauss-Jordan Elimination)
我们使用的方法称为Gauss-Jordan消元。这是一个非奇异矩阵的例子。
为了找到A的逆,我们可以用n×n单位矩阵I代替b。
在处理线性代数时,计算的精度是有限的,这一点尤为重要。此外,我们希望计算速度快。幸运的是,我们有库为我们处理这些工作。因此,我们将只简要介绍一下。
- 行交换。通过一些巧妙的行交换,行消去和回代将不易受舍入误差的影响。在一行消去之前,如果系数的比例存在巨大差异,我们就用前导值最大的那一行来交换第一行。如果不重新排序,解决方案可能会有很大的偏差。
- 提升和保持矩阵的稀疏性可以减少运算次数(我们可以忽略0乘以任何数)。在矩阵操作中,我们希望非零值只位于矩阵的对角线上。
零空间&左零空间
我们已经介绍了行空间和列空间。还有两个更重要的子空间。下面x张成的空间叫做A的零空间,记作N(A)
它包含Ax=0的所有解。它至少包含x=0。A的行向量乘以x(内积)等于0。
因此,行空间中的任何向量都垂直于零空间。即A的行空间与A的零空间正交。
例,
这个矩阵的秩是2。有主元的列叫做主列,有自由变量的列叫做自由列。自由列数等于列数减去秩。如下所示,相应的自由变量是x₂和x₄。
一次一个,我们把每个自由变量设为1,其他自由变量设为0。有了两个自由变量,我们可以推导出两个特解。
通解将是特解的任何线性组合,其形成零空间,秩为2。如前所示,如果A中的列是线性无关的,那么零空间只包含向量0。类似地,存在与列空间正交的左零空间 N(Aᵀ),即Aᵀx= 0。行空间,列空间,零空间和左零空间形成矩阵A的四个基本子空间。
通解
以前,我们只为Ax = b找到一个特解。如果A是奇异的,它可以有很多或没有。让我们现在找到一个通解。