行列式把一个方阵压缩成一个数,这个数同时记录了两件事:线性变换对有向体积放大了多少倍,以及它是否把空间压扁到更低维。
二阶、三阶行列式的几何意义
对二阶矩阵
A=(acbd),detA=ad−bc.
∣detA∣ 是两个列向量张成的平行四边形面积,符号表示方向是否翻转。三阶时,∣detA∣ 是三个列向量张成的平行六面体体积。因此
detA=0⟺列向量线性相关⟺变换把空间压到低维.
n 阶定义为什么有逆序数
按排列定义,
detA=j1j2⋯jn∑(−1)τ(j1j2⋯jn)a1j1a2j2⋯anjn,
求和遍历 1,2,…,n 的所有排列,τ 是逆序数。每一项从每行、每列各取一个元素,而符号保证交换两行会使行列式变号。
考试很少要求用这个定义直接算大行列式,但它用来判断「某个元素出现在哪些展开项」和证明性质。
三条行变换规则
计算行列式时,最有用的不是全展开,而是把它化成三角形:
- 交换两行,行列式变号;
- 某行乘 k,行列式也乘 k;
- 某行的 k 倍加到另一行,行列式不变。
列也完全类似。化成上三角后,行列式就是主对角线之积,但别忘了把之前的换行、数乘带来的因子算回去。
还有几条可以从上述性质立即得到:
- 两行或两列相同,行列式为 0;
- 两行或两列成比例,行列式为 0;
- detAT=detA;
- det(AB)=detAdetB;
- det(kA)=kndetA,不是 kdetA。
代数余子和按行展开
删去 aij 所在的第 i 行、第 j 列,剩下的 n−1 阶行列式叫余子式 Mij,代数余子为
Aij=(−1)i+jMij.
沿第 i 行展开:
detA=ai1Ai1+⋯+ainAin.
沿某列也同理。实战时应先用行列变换造出尽量多的 0,再选零最多的行或列展开,而不是见到行列式就从第一行硬展开。
完整算例:带参数的对称行列式
计算
D=abbbabbba.
先把第 2,3 行分别减第 1 行:
D=ab−ab−aba−b0b0a−b.
从第 2,3 行各提取 a−b,并注意 b−a=−(a−b):
D=(a−b)2a−1−1b10b01.
把第 2,3 列加到第 1 列,得
D=(a−b)2a+2b00b10b01=(a−b)2(a+2b).
这个结果还能从特征值角度理解:(1,1,1)T 对应特征值 a+2b,与它正交的二维子空间上特征值均为 a−b。
克拉默法则是判定定理,不是高效算法
对 n 元 n 个方程 Ax=b,若 detA=0,则有唯一解
xi=DDi,
其中 D=detA,Di 是用 b 替换 A 的第 i 列得到的行列式。它清楚地说明了「行列式非零就有唯一解」,但对大系统,高斯消元比重复计算 n+1 个行列式高效得多。
易错点
- 行列式只对方阵定义,矩形矩阵只谈秩,不谈行列式。
- det(A+B) 一般不等于 detA+detB;行列式对「某一行」是线性的,但不是对整个矩阵的加法线性。
- 按代数余子展开时,符号是 (−1)i+j,棋盘式从左上角的正号开始。
- detA=0 时克拉默法则失效,但方程组可能无解,也可能有无穷多解,仍要看增广秩。