Determinant 行列式

Determinant 是英语中的多义词,作名词时指“决定性因素”或数学中的"行列式",作形容词意为“决定性的”

定义

数学中的"行列式"是方阵元素(n×nn \times n 矩阵)的一个标量值函数

一定要注意:从定义上来说,行列式是一个函数 det(X)\det(X);对于一个具体方阵来说,算出来最终是一个数值。例如矩阵 AA

A=[2314]A= \begin{bmatrix} 2&3\\ 1&4 \end{bmatrix}

矩阵 AA 的行列式是:

det(A)=2×43×1=5\det(A) = 2 \times 4 - 3 \times 1 = 5

可以说:矩阵 AA 的行列式是 55。还可以这样写:

det[2314]=2314=A=5\det\begin{bmatrix} 2 & 3 \\ 1 & 4 \end{bmatrix} = \begin{vmatrix} 2 & 3 \\ 1 & 4 \end{vmatrix} = |A| = 5

类比:重要指标

行列式是矩阵中一个非常重要的标量指标,就像一个人的 BMI 一样:一个人的身体包含身高、体重、年龄、血压等大量信息,而 BMI 用一个数字对其中一部分重要特征进行高度概括;同样,一个矩阵包含大量元素和结构信息,而行列式将整个方阵映射为一个标量,用一个数字快速反映矩阵的一些核心性质,例如矩阵是否可逆,以及线性变换对面积、体积等尺度的缩放情况。

不过要注意一个关键点:BMI 不能代表一个人的全部身体状况,行列式也不能代表矩阵的全部信息。

区分:Matrix 矩阵 VS Determinant 行列式

  • Matrix(矩阵) → 是一个数字排列成的表格,具体的数字与形状
  • Determinant(行列式) → 是一个函数。讨论最终从某个方阵计算出来的一个

作用 - 缩放倍数

一个 n×nn \times n 矩阵 AA 本质上代表一个线性变换:它把向量 x\mathbf{x} 映射为 AxA\mathbf{x}。行列式的绝对值,就是线性变换对任意区域(或基向量张成的平行多面体)体积 的缩放倍数;而行列式的正负号,则表示变换前后空间定向是否改变(正为同向,负为反向)。

维度几何对象行列式的意义
2×22 \times 2平行四边形面积det(A)\det(A) = 面积缩放因子
3×33 \times 3平行六面体体积det(A)\det(A) = 体积缩放因子
n×nn \times nn 维平行体体积高维体积缩放因子
  • 绝对值 det(A)|\det(A)| 表示缩放因子绝对值
  • 正负号 记录定向是否被翻转(例如把平面"翻了个面"):
    • det(A)>0\det(A) > 0 :保持定向(右手系还是右手系)
    • det(A)<0\det(A) < 0翻转定向(镜像,左手系变右手系)
    • det(A)=0\det(A) = 0空间被压扁(降维),变换不可逆

分析:行列式代表 基向量张成的平行多面体 的缩放

二维空间下,取一个单位正方形,它的两条边是标准基向量

e1=[10],e2=[01]\mathbf{e}_1 = \begin{bmatrix} 1 \\ 0 \end{bmatrix}, \quad \mathbf{e}_2 = \begin{bmatrix} 0 \\ 1 \end{bmatrix}

面积 = 1×1=11 \times 1 = 1

现在用一个矩阵 AA 去变换它:

A=[2003]A = \begin{bmatrix} 2 & 0 \\ 0 & 3 \end{bmatrix}

变换后:

Ae1=[20],Ae2=[03]A\mathbf{e}_1 = \begin{bmatrix} 2 \\ 0 \end{bmatrix}, \quad A\mathbf{e}_2 = \begin{bmatrix} 0 \\ 3 \end{bmatrix}

正方形被拉成了一个 2×32 \times 3 的长方形,面积从 1 变成了 6。而这个矩阵的行列式恰好是:

det(A)=2×30×0=6\det(A) = 2 \times 3 - 0 \times 0 = 6

对于一般的 2×22 \times 2 矩阵:

A=[abcd]A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}

矩阵的 列向量就是基向量变换后的位置

Ae1=[ac],Ae2=[bd]A\mathbf{e}_1 = \begin{bmatrix} a \\ c \end{bmatrix}, \quad A\mathbf{e}_2 = \begin{bmatrix} b \\ d \end{bmatrix}

验证:几何观点

单位正方形被变换成由这两个向量张成的平行四边形。它的面积可以用"补集法"算出来:把平行四边形装进一个 (a+b)×(c+d)(a+b) \times (c+d) 的大矩形里,再减去多出来的部分——注意多出来的不只是三角形,还有两个小矩形:

(图按 a=4, b=2, c=1, d=3a=4,\ b=2,\ c=1,\ d=3 的具体形状绘制,标注用的是符号。)

对照图逐块相加:

面积=(a+b)(c+d)大矩形2ac2两个红三角形2bd2两个绿三角形2bc两个紫矩形\text{面积} = \underbrace{(a+b)(c+d)}_{\text{大矩形}} - \underbrace{2 \cdot \frac{ac}{2}}_{\text{两个红三角形}} - \underbrace{2 \cdot \frac{bd}{2}}_{\text{两个绿三角形}} - \underbrace{2 \cdot bc}_{\text{两个紫矩形}}

展开化简,acacbdbd 都消掉了,bcbc 只剩一个:

=ac+ad+bc+bdacbd2bc=adbc= ac + ad + bc + bd - ac - bd - 2bc = ad - bc

这正是二阶行列式的定义:

det(A)=adbc\det(A) = ad - bc

单位正方形面积是 1,变换后平行四边形面积是 det(A)|\det(A)|,所以面积的缩放倍数就是 det(A)|\det(A)|

推广:到更高的维度

我们可以把这个情况衍生到更高维度的情况:

  • 线性变换把整个平面均匀地拉伸:既然面积 11 的小正方形变成了面积 det(A)|\det(A)| 的平行四边形,那么每一个面积 11 的小方格都同样放大了 det(A)|\det(A)|
  • 任意图形的面积可以看作无数个小方格面积之和(积分思想),所以任意图形的面积也放大 det(A)|\det(A)|
  • 3 维同理:单位立方体 → 平行六面体,体积缩放倍数 = det(A)|\det(A)|
  • nn 维依此类推

作用 - 判断矩阵是否可逆

det(A)0\det(A) \neq 0 是矩阵可逆(方程系数矩阵存在Inverse Matrix 逆矩阵,代表方程组有唯一解)的充分必要条件

A 可逆     方程有唯一解    det(A)0A \text{ 可逆} \iff \text{ 方程有唯一解} \iff \det(A) \neq 0
det(A)\det(A)几何状态矩阵可逆?方程组 Ax=bA\mathbf{x} = \mathbf{b}
0\neq 0体积正常缩放✅ 可逆唯一解
=0= 0空间被压扁(降维)❌ 不可逆无解或无穷多解

分析:为什么 det(A)=0\det(A) = 0 就不可逆?

“可逆"的几何含义是:变换可以撤销——空间被拉伸/旋转之后,还能原样变回去。

回顾作用 1 的结论:det(A)\det(A) 是体积缩放倍数。那么 det(A)=0\det(A) = 0 意味着什么?意味着体积被压成了 0——空间被"压扁"降维了:

  • 2 维:整个平面被压成一条直线(甚至一个点)
  • 3 维:整个空间被压成一个平面或一条线

压扁之后,无数个不同的输入向量被压到了同一个输出上,信息已经丢失,就像把一张纸拍扁成一条线后,再也无法知道原来每个点在哪里——变换不可逆。

反过来,只要 det(A)0\det(A) \neq 0,面积/体积没有被压没,变换是一一对应,就一定能"变回去”,即 A1A^{-1} 存在。

把矩阵看成一个函数:输入是变换前的向量 x\mathbf{x}输出是变换后的向量 AxA\mathbf{x}。“可逆"问的就是:给你输出,能不能唯一反推出输入?

A=[1224],det(A)=1×42×2=0A = \begin{bmatrix} 1 & 2 \\ 2 & 4 \end{bmatrix}, \quad \det(A) = 1 \times 4 - 2 \times 2 = 0

注意第二列恰好是第一列的 2 倍——两个列向量共线,所以整个平面被压到了一条直线([12]\begin{bmatrix} 1 \\ 2 \end{bmatrix} 所在的那条线)上。

可以直接验证两个不同的输入被压到了同一个输出:

A[20]=[24],A[01]=[24]A \begin{bmatrix} 2 \\ 0 \end{bmatrix} = \begin{bmatrix} 2 \\ 4 \end{bmatrix}, \quad A \begin{bmatrix} 0 \\ 1 \end{bmatrix} = \begin{bmatrix} 2 \\ 4 \end{bmatrix}

现在只给你输出 [24]\begin{bmatrix} 2 \\ 4 \end{bmatrix},问输入是什么?说不清——至少有两个可能的答案(实际是无穷多个)。多对一,信息丢了,逆变换不存在

再来一组例子,取 x=[23]\mathbf{x} = \begin{bmatrix} 2 \\ 3 \end{bmatrix}

A[23]=[1×2+2×32×2+4×3]=[816]A \begin{bmatrix} 2 \\ 3 \end{bmatrix} = \begin{bmatrix} 1 \times 2 + 2 \times 3 \\ 2 \times 2 + 4 \times 3 \end{bmatrix} = \begin{bmatrix} 8 \\ 16 \end{bmatrix}

输出 [816]=8[12]\begin{bmatrix} 8 \\ 16 \end{bmatrix} = 8 \begin{bmatrix} 1 \\ 2 \end{bmatrix},果然也落在那条直线上。而能达到这个输出的输入远不止一个:

A[04]=[816],A[42]=[816],A[25]=[816],A \begin{bmatrix} 0 \\ 4 \end{bmatrix} = \begin{bmatrix} 8 \\ 16 \end{bmatrix}, \quad A \begin{bmatrix} 4 \\ 2 \end{bmatrix} = \begin{bmatrix} 8 \\ 16 \end{bmatrix}, \quad A \begin{bmatrix} -2 \\ 5 \end{bmatrix} = \begin{bmatrix} 8 \\ 16 \end{bmatrix}, \quad \cdots

规律很明显:只要输入满足 x+2y=8x + 2y = 8,输出都是 [816]\begin{bmatrix} 8 \\ 16 \end{bmatrix}——一条直线上的无穷多个输入,全部被压到了同一个点。这就是"降维"在数值上的样子。

下图展示了这个"压扁"的过程:

图中有两个细节值得展开说说:

① 为什么整个输出平面只用到一条直线 y=2xy = 2x

因为任何输出都是矩阵两列的线性组合:

Ax=x[12]+y[24]=(x+2y)[12]A\mathbf{x} = x \begin{bmatrix} 1 \\ 2 \end{bmatrix} + y \begin{bmatrix} 2 \\ 4 \end{bmatrix} = (x + 2y) \begin{bmatrix} 1 \\ 2 \end{bmatrix}

两列共线(第二列是第一列的 2 倍),所以无论输入 [xy]\begin{bmatrix} x \\ y \end{bmatrix} 怎么取,输出永远是 [12]\begin{bmatrix} 1 \\ 2 \end{bmatrix} 的某个倍数——也就是直线 y=2xy = 2x 上的点。输出平面的其余部分(图中淡淡的网格)永远也到不了。能到达的集合从 2 维的平面坍缩成了 1 维的直线,这就是"降维”。

② 为什么说单位正方形被压成了线段,面积变成 0?

回顾作用 1:单位正方形的两条边 e1,e2\mathbf{e}_1, \mathbf{e}_2 被变换到矩阵的两个列向量:

Ae1=[12],Ae2=[24]A\mathbf{e}_1 = \begin{bmatrix} 1 \\ 2 \end{bmatrix}, \quad A\mathbf{e}_2 = \begin{bmatrix} 2 \\ 4 \end{bmatrix}

正常情况它们张成一个平行四边形;但这里两个向量共线,平行四边形退化成了从 (0,0)(0,0)(1,2)+(2,4)=(3,6)(1,2)+(2,4) = (3,6) 的一条线段(图中右侧粗线段)。用作用 1 的面积公式验证:

面积=1×42×2=0=det(A)\text{面积} = |1 \times 4 - 2 \times 2| = 0 = |\det(A)|

行列式为 0 和"面积被压成 0"完全一致——det(A)=0\det(A) = 0 的几何含义就是:变换把平面压扁了,任何图形变换后面积都是 0

反之,如果 det(A)0\det(A) \neq 0,变换是一一对应,每个输出只对应唯一输入,就能用 A1A^{-1} 反推出来。例如 B=[2003]B = \begin{bmatrix} 2 & 0 \\ 0 & 3 \end{bmatrix}det(B)=60\det(B) = 6 \neq 0),给你输出 [26]\begin{bmatrix} 2 \\ 6 \end{bmatrix},用 B1=[1/2001/3]B^{-1} = \begin{bmatrix} 1/2 & 0 \\ 0 & 1/3 \end{bmatrix} 一算,输入只能是 [12]\begin{bmatrix} 1 \\ 2 \end{bmatrix}

验证:逆矩阵公式里的 det(A)\det(A)

2 阶逆矩阵公式可以直接看到行列式的作用:

A1=1det(A)[dbca]A^{-1} = \frac{1}{\det(A)} \begin{bmatrix} d & -b \\ -c & a \end{bmatrix}

det(A)\det(A) 出现在分母上:det(A)=0\det(A) = 0 意味着除以 0,公式直接失效——这和几何上"压扁了回不去"是同一件事的两种说法。

运算 - 一般规则

行列式怎么算?按维度一层层来——注意每一层都可以拆成下一层,这个递归结构是理解 n 维的关键。

2×2

det[abcd]=adbc\det\begin{bmatrix} a & b\\ c & d \end{bmatrix} = ad - bc

比如开头那个例子:det[2314]=2×43×1=5\det\begin{bmatrix} 2 & 3\\ 1 & 4 \end{bmatrix} = 2\times4 - 3\times1 = 5。这就是前面用"补集法"从平行四边形面积推出来的公式。

3×3

设:

A=[abcdefghi]A = \begin{bmatrix} a & b & c\\ d & e & f\\ g & h & i \end{bmatrix}

按第一行展开:

det(A)=a(eifh)b(difg)+c(dheg)\det(A) = a(ei - fh) - b(di - fg) + c(dh - eg)

数值例子:

det[123014560]=1×(1×04×6)    2×(0×04×5)  +  3×(0×61×5)\det\begin{bmatrix} 1 & 2 & 3\\ 0 & 1 & 4\\ 5 & 6 & 0 \end{bmatrix} = 1\times(1\times0 - 4\times6)\; -\; 2\times(0\times0 - 4\times5)\; +\; 3\times(0\times6 - 1\times5)=1×(24)2×(20)+3×(5)=24+4015=1= 1\times(-24) - 2\times(-20) + 3\times(-5) = -24 + 40 - 15 = 1

几何意义:单位立方体经这个变换后,平行六面体体积为 1=1|1|=1,定向不变。

n×n(n 维)

严格定义(Leibniz 公式):从每一行各取一个元素、且列互不重复(即取遍所有排列 σ\sigma),按排列的奇偶性带上正负号,全部相加:

det(A)=σSnsgn(σ)i=1nai,σ(i)\det(A) = \sum_{\sigma \in S_n} \operatorname{sgn}(\sigma) \prod_{i=1}^{n} a_{i,\sigma(i)}

一共有 n!n! 项——n=10n=10 时就是 360 多万项,直接按定义算是不现实的

运算 - 乘法

det(AB)=det(A)det(B)\det(AB) = \det(A) \cdot \det(B)

回顾作用:行列式是体积缩放倍数。而矩阵乘积 ABAB 的几何含义是连续做两次变换——先做 BB,再做 AA

x  B  Bx  A  ABx\mathbf{x} \xrightarrow{\;B\;} B\mathbf{x} \xrightarrow{\;A\;} AB\mathbf{x}
  • 第一步:BB 把体积放大 det(B)|\det(B)|
  • 第二步:AA 在已经放大的基础上,再放大 det(A)|\det(A)|

倍数连着乘,总缩放倍数自然是 det(A)det(B)|\det(A)| \cdot |\det(B)|。定向也一样:翻转两次等于不翻转,(1)×(1)=1(-1) \times (-1) = 1——符号也按乘法走。所以 det(AB)=det(A)det(B)\det(AB) = \det(A)\det(B) 本质上就是"缩放倍数的复合"。

例子:几何直觉

取一个拉伸变换 AA 和一个镜像变换 BB

A=[2003],det(A)=6;B=[0110],det(B)=1A = \begin{bmatrix} 2 & 0 \\ 0 & 3 \end{bmatrix}, \quad \det(A) = 6; \qquad B = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}, \quad \det(B) = -1

BB 是沿对角线的镜像(交换 xxyy 轴):面积不变,但定向翻转,所以行列式是 1-1

先算乘积:

AB=[2003][0110]=[0230]AB = \begin{bmatrix} 2 & 0 \\ 0 & 3 \end{bmatrix} \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} = \begin{bmatrix} 0 & 2 \\ 3 & 0 \end{bmatrix}det(AB)=0×02×3=6\det(AB) = 0 \times 0 - 2 \times 3 = -6

验证乘法公式:

det(A)det(B)=6×(1)=6=det(AB)\det(A) \cdot \det(B) = 6 \times (-1) = -6 = \det(AB) \quad ✅

几何上完全说得通:先镜像(面积不变、翻面),再拉伸(面积 ×6)——总面积缩放 6 倍,且被翻了一面,所以是 6-6

验证:代数观点

不依赖几何直觉,直接展开也能验证。设:

A=[abcd],B=[efgh],AB=[ae+bgaf+bhce+dgcf+dh]A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}, \quad B = \begin{bmatrix} e & f \\ g & h \end{bmatrix}, \quad AB = \begin{bmatrix} ae+bg & af+bh \\ ce+dg & cf+dh \end{bmatrix}det(AB)=(ae+bg)(cf+dh)(af+bh)(ce+dg)\det(AB) = (ae+bg)(cf+dh) - (af+bh)(ce+dg)

展开后 acefacefbgdhbgdh 各自消掉,剩下的恰好可以因式分解:

=aedh+bgcfafdgbhce=ad(ehfg)bc(ehfg)=(adbc)(ehfg)= aedh + bgcf - afdg - bhce = ad(eh - fg) - bc(eh - fg) = (ad - bc)(eh - fg)=det(A)det(B)= \det(A) \cdot \det(B) \quad ✅

推论

  • 逆矩阵的行列式:由 AA1=IAA^{-1} = Idet(I)=1\det(I) = 1,得 det(A1)=1det(A)\det(A^{-1}) = \dfrac{1}{\det(A)}——逆变换当然要把缩放倍数"除回去"。

  • 乘积顺序无关(仅对行列式)det(AB)=det(BA)\det(AB) = \det(BA),虽然矩阵乘法一般 ABBAAB \neq BA。几何上:无论先拉伸谁,总体积缩放倍数相同。