MatrixCalc

高斯消元与高斯-若尔当消元详解

行阶梯形、简化行阶梯形、主元,以及三种初等行变换,在一个具体矩阵上完整演算。

消元是线性代数中最有用的算法。秩、行列式、逆矩阵以及线性方程组的解都由它得出。它建立在三种初等行变换之上,而它们都不会改变原方程组的解集:

  1. 交换两行:R(i) ↔ R(j)
  2. 把某一行乘以非零标量:R(i) → k·R(i)
  3. 把某行的倍数加到另一行:R(i) → R(i) + k·R(j)

行阶梯形

矩阵处于行阶梯形,当且仅当:

  • 全零行都排在最下面;
  • 每行第一个非零元素(主元)严格位于上一行主元的右侧;
  • 主元下方全为零。
21−1
032
005

简化行阶梯形

简化形更进一步:每个主元都等于 1,且是所在列唯一的非零元素。关键在于,每个矩阵的简化行阶梯形都是唯一的——结果与你做变换的顺序无关。

100
010
001

算法步骤

  1. 从左上角开始,在当前列中找绝对值最大的元素——这叫部分主元选取,能把舍入误差压到最小。
  2. 若整列都是零,就右移一列重新来过。
  3. 把那一行换到主元位置。
  4. 用主元去除主元所在行,使主元变为 1。
  5. 从其余各行中减去主元行的适当倍数,把该列其余元素消为零。
  6. 下移一行、右移一列,重复以上步骤。

如果第 5 步只消去主元下方的行,得到的是高斯消元(行阶梯形);连上方也一起消去,就是高斯-若尔当消元(简化形)。

如何读出解

  • 唯一解:系数矩阵的每一列都有主元。
  • 无穷多解:某列没有主元——对应的变量是自由变量。
  • 无解:出现形如 0 0 0 | cc ≠ 0)的行,它声称 0 = c。

继续阅读

想动手试试? 打开矩阵计算器 并展开分步解答面板。