行列式(Determinant)是把一个 方阵 映射到一个 数 的函数,记为 detA 或 ∣A∣。
不要把它当成一堆符号的机械组合。行列式有非常清晰的几何含义:它衡量一个线性变换把 空间「放大」了多少倍。
- 二阶行列式 = 两个行(列)向量张成的 平行四边形的有向面积。
- 三阶行列式 = 三个向量张成的 平行六面体的有向体积。
- n 阶行列式 = n 个向量张成的 n 维 平行多面体的有向超体积。
「有向」是关键:面积/体积可以是负的,符号记录了变换有没有把空间 翻面(改变定向)。比如二维里若把一对基向量的左右关系对调,面积就变号。
由此立刻能看懂一条最重要的事实:
detA=0⟺n 个行(列)向量线性相关
因为体积为 0 意味着这些向量被压扁到了更低维的子空间里,张不出「饱满」的 n 维体。这正是后面判断矩阵 可逆性 的核心。
记住一句话就抓住了主线:行列式是线性变换的「体积缩放因子」。 它告诉你单位立方体经过变换 A 之后变成的图形,体积是原来的 ∣detA∣ 倍,而符号告诉你定向有没有翻转。detA=0 就是「被压扁了」。
设 A 把单位正方形的两条边 e1,e2 分别送到列向量 a1,a2,那么这两个像向量张成的平行四边形面积恰好是 ∣detA∣。三维同理,得到平行六面体体积。
由此能 不算一个数 就理解行列式的几条性质:
- 把某一列翻倍,对应的平行四边形沿那个方向拉长一倍,面积也翻倍 —— 所以某一行(列)的公因子能提到行列式外。
- 交换两列,相当于把图形「翻面」,定向反转,面积变号。
- 给某一列加上另一列的若干倍(错切,shear),平行四边形被「推斜」但底和高不变,面积不变 —— 这正是「某行加另一行的 k 倍行列式不变」。
- 两列相同(或成比例),平行四边形退化成一条线段,面积为 0。
乘法性质也变得显然:连续做两个变换 A,B,体积缩放因子相乘,所以
det(AB)=detA⋅detB
acbd=ad−bc
a1a2a3b1b2b3c1c2c3=a1b2c3+a2b3c1+a3b1c2−a3b2c1−a2b1c3−a1b3c2
记忆口诀:对角线法则(沙路法)—— 主对角线方向三项取正,副对角线方向三项取负。
例:算 1472583610。正项是三条「左上到右下」对角线 1⋅5⋅10+2⋅6⋅7+3⋅4⋅8=50+84+96=230,负项是三条「右上到左下」对角线 3⋅5⋅7+1⋅6⋅8+2⋅4⋅10=105+48+80=233,相减得 230−233=−3。
对角线法则 只对二阶、三阶成立,四阶及以上完全不能用。高阶行列式要么按定义(逆序数),要么按行(列)展开,要么化成三角形。
n 阶行列式的一般定义建立在 排列(Permutation)之上。把 1,2,…,n 的一个排列记作 σ=(σ(1),σ(2),…,σ(n))。
逆序数(Number of Inversions)τ(σ):排列中前面的数大于后面的数的「逆序对」个数。逆序数为偶则称 偶排列,为奇则称 奇排列。排列的 符号 为
sgn(σ)=(−1)τ(σ)
例:求排列 (3,1,4,2) 的逆序数。逐个数后面比它小的元素:3 后面有 1,2 两个比它小,记 2;1 后面没有更小的,记 0;4 后面有 2 一个,记 1;2 后面没有,记 0。合计 τ=2+0+1+0=3,是奇排列,符号为 (−1)3=−1。
例:用逆序数定义算 a11a21a31a12a22a32a13a23a33。从每行各取一个分处不同列的元素,列下标取遍 1,2,3 的全部 3!=6 个排列,每项带符号 (−1)τ:
(1,2,3), τ=0: +a11a22a33(2,3,1), τ=2: +a12a23a31(3,1,2), τ=2: +a13a21a32(3,2,1), τ=3: −a13a22a31(2,1,3), τ=1: −a12a21a33(1,3,2), τ=1: −a11a23a32
六项相加正好是上面的三阶公式,对角线法则不过是它的图形记忆。
detA=σ∈Sn∑sgn(σ)a1σ(1)a2σ(2)⋯anσ(n)
直观理解:行列式是「从每行各取一个元素、且这些元素分处不同列」的所有取法的乘积之和,每一项再按取法的奇偶性带上 ± 号。共有 n! 项,正负项各占一半。
这个定义计算量是 n!,纯粹用于理论分析,绝不要拿它去算具体行列式。实战靠展开和初等变换。但它解释了一个常用结论:行列式中只要某一行(或列)全为 0,每一项里都会含这一行的因子,于是行列式为 0。
把 A 的行(或列)看作一组向量,行列式满足下面这些性质。由于 detAT=detA,对行成立的对列同样成立。
| 性质 | 描述 |
|---|
| 转置不变 | detAT=detA |
| 交换两行(列) | 行列式 变号 |
| 某行(列)有公因子 k | 可把 k 提到行列式外;故 det(kA)=kndetA |
| 两行(列)相同或成比例 | 行列式 为 0 |
| 某行(列)全为 0 | 行列式 为 0 |
| 某行加另一行的 k 倍 | 行列式 不变 |
| 按某行(列)可加性 | 某行写成两行之和时,行列式可拆成两个行列式之和 |
由乘法性质 det(AB)=detAdetB 还能推出:
det(A−1)=detA1,det(Am)=(detA)m
「某行加另一行的 k 倍」(记号 ri+krj)是化简最常用的初等变换,它 不改变行列式值,是计算高阶行列式的主力。注意区分:交换两行要变号、某行乘 k 要乘 k,只有「加倍数」这一种变换不影响结果。
- 余子式(Minor)Mij:划去第 i 行第 j 列后,剩下的 (n−1) 阶行列式。
- 代数余子式(Cofactor)Aij=(−1)i+jMij。
符号 (−1)i+j 排成棋盘格:左上角为 +,相邻格交替变号。
沿任意一行或一列展开,结果都等于行列式本身:
∣A∣=j=1∑naijAij(按第 i 行),∣A∣=i=1∑naijAij(按第 j 列)
实战中 挑零最多的那一行(列)展开,能少算很多项。
例:算 3142021000302501。第 3 列只有一个非零元 a33=3,按它展开最省事:
∣A∣=a33A33=3⋅(−1)3+3312020251
这个三阶行列式的第 2 列又只有 a22=2 非零,再按第 2 列展开:
312020251=2⋅(−1)2+23221=2(3−4)=−2
于是 ∣A∣=3×(−2)=−6。挑零多的行列展开,把一个四阶行列式两步压成了二阶。
如果用某一行的元素去乘 另一行 的代数余子式再求和,结果恒为 0:
j=1∑naijAkj={∣A∣,0,i=ki=k
直观解释:i=k 时,这个和相当于把矩阵的第 k 行换成了第 i 行(两行相同)的行列式,自然为 0。这条恒等式正是 伴随矩阵 AA∗=∣A∣E 的来源(详见 矩阵)。
最通用的方法:用 ri+krj 把行列式化成上(下)三角形,再取对角线元素之积。整个过程行列式值不变(只用了「加倍数」变换),若中途交换了行别忘了变号。
例:算 21113−1−123。先用第 1 行把第 2、3 行的首元消成 0(r2−21r1、r3−21r1,不变号):
21113−1−123r2−21r1, r3−21r1200125−23−12527
再用第 2 行消第 3 行(r3+53r2):
r3+53r22001250−1255=2⋅25⋅5=25
对角线相乘即得 25。若嫌分数烦,也可先把首行首列凑出 1 再消,思路一致。
a110∗a22⋯⋯⋱∗∗⋮ann=a11a22⋯ann
上三角、下三角、对角行列式都等于 对角线元素之积。
当各行(列)有公共规律时,给行列式补一行一列、凑出便于消元的结构,再展开化简。常用形式是在左上角添一个 1、首行首列补上辅助元素,不改变原行列式的值。
例:算 n 阶行列式 Dn=a+11⋮11a+1⋮1⋯⋯⋱⋯11⋮a+1(对角为 a+1,其余全 1)。在左上角加一行一列:
Dn=100⋮01a+11⋮111a+1⋮1⋯⋯⋯⋱⋯111⋮a+1
首列除左上角全为 0,按首列展开值不变。现在每一行(除首行)减去首行,把 a+1 变成 a、把那些 1 变成 0:
ri−r1(i≥2)1−1−1⋮−11a0⋮010a⋮0⋯⋯⋯⋱⋯100⋮a
再把第 2∼(n+1) 列各乘 a1 加到第 1 列(消去那些 −1),第 1 列左上角变成 1+an,其余化零,化成下三角:
Dn=(1+an)an=an−1(a+n)
验证 n=1:原式应为 a+1,公式给 a0(a+1)=a+1,吻合。
Vn=1x1x12⋮x1n−11x2x22⋮x2n−1⋯⋯⋯⋯1xnxn2⋮xnn−1=1≤i<j≤n∏(xj−xi)
只要 x1,x2,…,xn 两两不同,范德蒙德行列式就非零。这一点在多项式插值、特征值理论里反复出现 —— 它保证了「过 n 个不同横坐标的点恰有唯一的 n−1 次插值多项式」。
例:算 111124139。这是 x1=1,x2=2,x3=3 的三阶范德蒙德行列式,直接套公式 ∏i<j(xj−xi):
(x2−x1)(x3−x1)(x3−x2)=(2−1)(3−1)(3−2)=1⋅2⋅1=2
也可手算核对:第 1 行不动,r3−r2、r2−r1 后按第 1 列展开同样得 2。识别出范德蒙德结构,能省去整套消元。
若每一行元素之和都等于同一个常数 c,可把各列加到第一列,提出公因子 c,再化简。这类「轮换对称」的行列式常用此法。
例:算 311131113。每行元素之和都是 5,把第 2、3 列加到第 1 列,第 1 列全变成 5,提出公因子:
c1+c2+c3555131113=5111131113
再 r2−r1、r3−r1 把第 1 列下方消零,化成上三角:
=5100120102=5⋅1⋅2⋅2=20
只有主对角线及其上下两条相邻对角线非零的行列式称 三对角行列式。它没有简单闭式,但按第一行(列)展开会落到 递推关系 上。设
Dn=acbacba⋱⋱⋱cba
按第一行展开,第二项再按其第一列展开,得到递推式:
Dn=aDn−1−bcDn−2
例:算主对角全 2、上下相邻对角全 1 的 n 阶行列式(a=2,b=c=1)。递推为 Dn=2Dn−1−Dn−2,初值 D1=2、D2=2112=3。逐项算:D3=2⋅3−2=4,D4=2⋅4−3=5,看出规律 Dn=n+1。它正是特征方程 x2−2x+1=0 有重根 x=1 的情形,通解形如 (A+Bn)⋅1n,代初值得 Dn=n+1。
设线性方程组 Ax=b,其中 A 是 n 阶方阵且 ∣A∣=0,则方程组有 唯一解:
xj=∣A∣∣Aj∣,j=1,2,…,n
其中 Aj 是把 A 的第 j 列换成常数列 b 得到的矩阵。
例:用克拉默法则解 ⎩⎨⎧x1+x2+x3=6x1−x2+2x3=52x1+x2−x3=1。系数行列式
∣A∣=1121−1112−1=1(1−2)−1(−1−4)+1(1+2)=−1+5+3=7=0
非零,故有唯一解。把第 1 列换成常数列 (6,5,1)T:
∣A1∣=6511−1112−1=6(1−2)−1(−5−2)+1(5+1)=−6+7+6=7
换第 2 列、第 3 列同理:
∣A2∣=11265112−1=14,∣A3∣=1121−11651=21
于是 x1=∣A∣∣A1∣=1、x2=714=2、x3=721=3。代回原方程:1+2+3=6、1−2+6=5、2+2−3=1,全部吻合。
克拉默法则在 理论上 很漂亮(给出解的闭式表达),但 计算上很笨:解 n 元方程组要算 n+1 个 n 阶行列式,远不如高斯消元高效。它的主要价值是理论分析,以及强调「∣A∣=0」这个唯一解的前提。
克拉默法则只在 系数矩阵为方阵且 ∣A∣=0 时适用。一旦 ∣A∣=0,法则失效,方程组要么无解、要么有无穷多解,此时只能改用 增广矩阵的秩 来判定(详见 线性方程组与向量组)。
对齐次方程组 Ax=0(A 为方阵):
- ∣A∣=0:只有 零解。
- ∣A∣=0:有 非零解。
几何上,∣A∣=0 意味着变换把空间压扁,于是有非零向量被映成 0。
| 行列式 detA | 矩阵 A |
|---|
| =0 | 可逆(非奇异),r(A)=n |
| =0 | 不可逆(奇异),r(A)<n |
这张表是连接 行列式、可逆性、秩、方程组解的存在性 的枢纽,后续章节会反复用到。详见 矩阵。