如何计算矩阵的行列式
求行列式的四种方法——2×2 公式、萨吕斯法则、拉普拉斯代数余子式展开和高斯消元——以及各自适用的场合。
行列式是附着在方阵上的一个数。它首先回答一个问题:这个矩阵可逆吗?行列式为零意味着各行线性相关、矩阵奇异,逆矩阵不存在。从几何上看,行列式是矩阵缩放面积(2×2)或体积(3×3)的带符号倍数。
2×2 公式
对 2×2 矩阵,行列式等于主对角线之积减去副对角线之积:
| a | b |
| c | d |
所以 [[1, 2], [3, 4]] 的行列式是 1·4 − 2·3 = −2。结果为负完全正常:符号表示该变换翻转了定向。
萨吕斯法则(仅限 3×3)
对 3×3 矩阵,把前两列抄到矩阵右侧,把向右下的三个乘积相加,再减去向左下的三个乘积:
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 10 |
萨吕斯法则快且好记,但只适用于 3×3。它没有 4×4 版本——这是考试中极常见的错误。
拉普拉斯展开(代数余子式)
任选一行或一列,把行列式写成各元素与其代数余子式乘积之和。代数余子式 C(i,j) 等于 (−1)^(i+j) 乘以余子式,即删去第 i 行和第 j 列后矩阵的行列式。
代数余子式展开适用于任意阶数,而且当某一行或某一列零元素很多时,它是手算的首选:每个零都能消掉一整个余子式。不过它的开销按 n! 增长,对大矩阵毫无希望。
高斯消元
这正是计算机的做法。用初等行变换把矩阵化为上三角形,再把对角线相乘。三条规则保证记账无误:
- 交换两行会让行列式乘以 −1。
- 把某一行乘以 k,行列式也乘以 k。
- 把某行的倍数加到另一行,行列式不变——这才是主力操作。
开销约为 n³/3 次运算,而不是 n!,所以我们的计算器对 3×3 以上一律使用消元法。
值得记住的性质
det(Aᵀ) = det(A)det(A·B) = det(A)·det(B)det(A⁻¹) = 1 / det(A)det(k·A) = kⁿ·det(A)(n×n 矩阵)——这个标量作用在全部 n 行上- 三角矩阵的行列式等于其对角线之积