行列式的秘密
行列式不只是繁琐的计算 -- 它度量的是变换对空间的拉伸或压缩程度。本章给出行列式的几何直觉、关键性质和实际应用。
跳出公式:行列式到底是什么
大多数教材是这么引入行列式的:
$$\det\begin{pmatrix}a & b\\ c & d\end{pmatrix} = ad - bc.$$记住公式、套数字、算结果——课程到此结束。但这把行列式最重要的那一面藏起来了。
一句话点破:
行列式 $\det(A)$ 就是变换 $A$ 把面积(或体积)放大了多少倍。
这一个角度建立起来之后,行列式所有看似繁杂的性质都变得显然:
- $\det(AB) = \det(A)\det(B)$:两次缩放,倍数相乘,自然成立。
- $\det(A) = 0$:变换把空间压扁了,信息丢失。
- $\det(A^{-1}) = 1/\det(A)$:逆变换必须把缩放原样撤销。
- 行列式的符号:决定空间是否被翻转(像照镜子)。
本章你将看到
- 行列式在 2D 与 3D 中的几何含义
- 行列式的符号告诉你什么(定向)
- $\det = 0$ 意味着什么(奇异、信息丢失)
- 关键性质,以及它们为什么从几何上一目了然
- 三种实际可行的计算方法
- 应用:克拉默法则、面积/体积公式、雅可比行列式
前置内容
- 第 2 章:线性无关
- 第 3 章:矩阵作为线性变换
二维行列式:面积的缩放因子
从单位正方形说起
平面上最干净的参照物是单位正方形:以 $(0,0)$、$(1,0)$、$(1,1)$、$(0,1)$ 为顶点,由两个标准基向量 $\vec{e}_1 = (1,0)$ 和 $\vec{e}_2 = (0,1)$ 张成,面积恰好是 $1$。
一个 $2 \times 2$ 矩阵 $A = \begin{pmatrix}a & b\\ c & d\end{pmatrix}$ 把基向量送到自己的两列:
- $\vec{e}_1 \;\mapsto\; (a, c)$ —— 第一列
- $\vec{e}_2 \;\mapsto\; (b, d)$ —— 第二列
原本的单位正方形随之变成由这两列张成的平行四边形。简单地"用大矩形减去四角的三角形",可以推出:
$$\text{面积} = |ad - bc| = |\det(A)|.$$这就是二维行列式全部的几何含义。

一个具体例子
$$A = \begin{pmatrix}3 & 1\\ 0 & 2\end{pmatrix}, \qquad \det(A) = 3\cdot 2 - 1\cdot 0 = 6.$$单位正方形(面积 $1$)被送到面积 $6$ 的平行四边形。注意:平面里所有图形都被同一个倍数缩放——半径 $1$ 的圆(面积 $\pi$)变成面积 $6\pi$ 的椭圆,面积 $0.5$ 的三角形变成面积 $3$ 的三角形。矩阵不在乎你画的是什么形状,它只决定局部面积元素的倍数。
复印机的类比
把复印机设成 200%:
$$A = \begin{pmatrix}2 & 0\\ 0 & 2\end{pmatrix}, \qquad \det(A) = 4.$$宽度变成原来的 $2$ 倍,高度也变成原来的 $2$ 倍,但面积变成原来的 $4$ 倍(不是 $2$ 倍)——这正是线性变换里那个"反直觉"的关键,而行列式直接把它告诉你。
三种行列式:1、2、0.5
为了让直觉再清楚一点,看三个不同的 $A$ 怎样作用在同一个单位正方形上:

- 错切(Shear),$\det = 1$:平行四边形倾斜了,但面积没变。想象把一摞书顶部往一边推一推——总的体积没变。
- 拉伸,$\det = 2$:某个方向被拉长一倍,面积也跟着翻倍。
- 压缩,$\det = 0.5$:某个方向被压扁一半,面积变成一半。
这些变换形状千差万别,但行列式抓住了它们都同意的那一个数:面积变了多少。
行列式的符号:方向(定向)
绝对值 $|\det(A)|$ 告诉你"大小",符号告诉你"方向"。
- $\det(A) > 0$:变换保持定向。逆时针的环路出来还是逆时针。
- $\det(A) < 0$:变换翻转定向。逆时针出来变成顺时针——这正是镜子做的事。
例子:关于 $y$ 轴的反射
$$A = \begin{pmatrix}-1 & 0\\ \phantom{-}0 & 1\end{pmatrix}, \qquad \det(A) = -1.$$- $|\det| = 1$:面积没变。
- 负号刻画了"翻转":把一张写有字的透明纸举起来对着镜子看到的就是 $A$ 的效果。

手套的比喻
一只右手手套,无论你怎么旋转、拉伸、捏揉它,它永远是右手手套。但如果你把它翻面(从里往外翻),它就成了左手手套。负行列式对应的就是这种"翻面"操作;旋转和拉伸只能保持 $\det > 0$,反射才会把符号翻成负。
行列式为零:空间被压扁
如果面积缩放因子是 $0$,那么变换后的面积就是 $0$。在二维里,这只能意味着一件事:整个平面被压到一条直线上(极端情况下压成一个点)。
例子
$$A = \begin{pmatrix}1 & 2\\ 2 & 4\end{pmatrix}, \qquad \det(A) = 1\cdot 4 - 2\cdot 2 = 0.$$注意第二列 $(2, 4)$ 恰好是第一列 $(1, 2)$ 的两倍。两个基向量被送到了同一条直线上(方向是 $(1, 2)$ 那条过原点的直线)。整个平面被挤压到这条直线上——二维世界被坍缩到了一维。

为什么不可逆
把一张二维的照片压成一条线,你能把照片复原吗?不能:原本不同位置的点现在重叠在一起了,无从分辨。信息丢失了,所以 $A^{-1}$ 不存在。
由此得到线性代数里最干净的等价关系之一:
$$\det(A) = 0 \;\Longleftrightarrow\; A\text{ 不可逆(奇异)}\;\Longleftrightarrow\; A\text{ 的列向量线性相关}.$$这也给出了一个判定线性相关的快速办法:算行列式即可。
三维行列式:体积的缩放因子
二维里说的一切都可以平移到三维。单位立方体由 $\vec{e}_1, \vec{e}_2, \vec{e}_3$ 张成,一个 $3 \times 3$ 矩阵把它送到一个倾斜的盒子——平行六面体(parallelepiped)。行列式给出这个盒子的(带符号的)体积。

公式
$$\det\begin{pmatrix}a & b & c\\ d & e & f\\ g & h & i\end{pmatrix} = a(ei - fh) - b(di - fg) + c(dh - eg).$$它正好等于三个列向量的混合积:
$$\det(A) = \vec{v}_1 \cdot (\vec{v}_2 \times \vec{v}_3),$$而混合积就是平行六面体(带符号的)体积的标准表达式。
三维里的负号
三维行列式为负,意味着右手坐标系被送成了左手坐标系(例如对其中一个轴做反射)。任何"奇数次反射"都会把符号变成负。
行列式的性质——全部都是几何
把行列式看成缩放因子之后,下面这些"性质"就不再是要背的规则,而都是关于缩放的简单陈述。
乘法性:$\det(AB) = \det(A)\det(B)$
$B$ 把体积缩放 $\det(B)$ 倍,再让 $A$ 作用,又被缩放 $\det(A)$ 倍。总缩放 = 两者之积。就像复印机先按 $1.5\times$ 再按 $3\times$,总放大是 $4.5\times$。

转置不变:$\det(A^T) = \det(A)$
把行换成列,体积缩放因子不变。从几何上看,转置后的平行六面体并不一样,但体积相等——这是个"小奇迹",初见时会觉得意外。
逆矩阵:$\det(A^{-1}) = 1/\det(A)$
$A$ 把体积放大 $k$ 倍,$A^{-1}$ 就必须把它缩小 $k$ 倍。代数上:$\det(A)\det(A^{-1}) = \det(I) = 1$。
行交换:行列式变号
交换两行,行列式乘以 $-1$。交换两个基向量等于翻转坐标系的"手性",所以符号反过来。
行倍乘:行列式跟着倍乘
把某一行乘以 $k$,行列式也乘以 $k$——你把一个基向量拉长 $k$ 倍,平行四边形的面积也就拉长 $k$ 倍。
推论:$\det(kA) = k^n \det(A)$,因为 $k$ 同时作用在 $n$ 行上。
行加法:行列式不变
把一行加上另一行的常数倍,行列式不变。
这是一个错切操作:平行四边形形状变了,面积没变。想象一摞牌被斜推一下,每张牌错开,但整摞的体积没变。
正是这一条让高斯消元法在计算行列式时如此方便:消元过程不会改变行列式(只要追踪行交换的符号变化和行倍乘即可)。
几个特殊矩阵
| 矩阵类型 | 行列式 |
|---|---|
| 单位矩阵 $I$ | $1$ |
| 对角矩阵 | 对角元素之积 |
| 三角矩阵(上或下三角) | 对角元素之积 |
三角矩阵这一条特别重要:任何矩阵都能通过行变换化成三角,化完之后行列式只剩一连串乘法。
怎么算行列式
$2 \times 2$:直接套公式
$$\det\begin{pmatrix}a & b\\ c & d\end{pmatrix} = ad - bc.$$$3 \times 3$:Sarrus 法则
把前两列复制到矩阵右边,三条"主对角线"乘积相加,再减去三条"副对角线"乘积:
$$\det\begin{pmatrix}1 & 2 & 3\\ 4 & 5 & 6\\ 7 & 8 & 9\end{pmatrix} = (1\cdot 5\cdot 9 + 2\cdot 6\cdot 7 + 3\cdot 4\cdot 8) - (3\cdot 5\cdot 7 + 2\cdot 4\cdot 9 + 1\cdot 6\cdot 8) = 0.$$(这里结果为 $0$,是因为相邻两行差一个常数,三行线性相关。)
注意:Sarrus 法则只适用于 $3 \times 3$。$4 \times 4$ 及以上不要硬套对角线模式,会得到错误的答案。
通用方法:余子式(Laplace)展开
对任意 $n \times n$ 矩阵,沿第 $i$ 行展开:
$$\det(A) = \sum_{j=1}^{n} (-1)^{i+j} a_{ij}\, M_{ij},$$其中 $M_{ij}$ 是余子式——把第 $i$ 行、第 $j$ 列删除后剩下的 $(n-1) \times (n-1)$ 子矩阵的行列式。符号 $(-1)^{i+j}$ 形成棋盘格;$3 \times 3$ 矩阵第一行的符号就是 $+, -, +$。

实用技巧:选含零最多的那一行(或那一列)展开——零项直接消失,工作量大幅减少。
真正能跑大矩阵的做法:高斯消元
余子式展开的复杂度是 $O(n!)$,到 $n = 10$ 左右就跑不动了。实际计算时把 $A$ 用初等行变换化成上三角(每一步对行列式的影响都是已知的),再把对角线乘起来。复杂度是 $O(n^3)$——这正是 numpy.linalg.det 内部做的事。
| |
克拉默法则
对方阵方程 $A\vec{x} = \vec{b}$,若 $\det(A) \neq 0$:
$$x_i = \frac{\det(A_i)}{\det(A)},$$其中 $A_i$ 是把 $A$ 的第 $i$ 列换成 $\vec{b}$ 后得到的矩阵。
例子:
$$\begin{cases} 2x + y = 5 \\ 3x + 4y = 11 \end{cases}$$$$\det(A) = 8 - 3 = 5,\quad \det(A_1) = 20 - 11 = 9,\quad \det(A_2) = 22 - 15 = 7,$$所以 $x = 9/5,\; y = 7/5$。
几何直觉:在二维里,$\det(A_1)/\det(A)$ 等于"换掉第一列后的平行四边形面积"除以"原平行四边形面积",这个比值正是 $x$。克拉默法则其实是在用面积之比解方程组。
局限:克拉默法则形式漂亮,但实际计算很慢(最优实现也要 $O(n^4)$,而高斯消元是 $O(n^3)$)。它适合理论证明、$2 \times 2$ 或 $3 \times 3$ 的符号计算,不要用它解大方程组。
应用
三角形面积
给定顶点 $(x_1, y_1)$、$(x_2, y_2)$、$(x_3, y_3)$:
$$\text{面积} = \tfrac{1}{2}\left|\det\begin{pmatrix} x_2 - x_1 & x_3 - x_1 \\ y_2 - y_1 & y_3 - y_1 \end{pmatrix}\right|.$$本质就是"两条边张成的平行四边形面积的一半"。
叉积写成行列式
三维向量的叉积可以形式地写成:
$$\vec{a} \times \vec{b} = \det\begin{pmatrix} \vec{i} & \vec{j} & \vec{k} \\ a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \end{pmatrix}.$$它的模长 $\|\vec{a}\times\vec{b}\|$ 正是 $\vec{a}, \vec{b}$ 张成的平行四边形面积——一个 $2 \times 2$ 的行列式藏在里面。
雅可比行列式
多元积分换元 $(x, y) \to (u, v)$ 时,$x = x(u, v),\; y = y(u, v)$,积分要乘上一个因子:
$$\iint f(x, y)\, dx\, dy = \iint f\bigl(x(u, v),\, y(u, v)\bigr) \left|\det \frac{\partial(x, y)}{\partial(u, v)}\right| du\, dv.$$这个 雅可比行列式 $\left|\det\frac{\partial(x,y)}{\partial(u,v)}\right|$ 就是局部面积缩放因子——它是变量替换在该点的线性近似的行列式。几何上,是把我们的"行列式 = 面积缩放"定理用到每一个无穷小的面元上。
极坐标的例子:$x = r\cos\theta,\; y = r\sin\theta$,
$$\left|\det \frac{\partial(x, y)}{\partial(r, \theta)}\right| = \det\begin{pmatrix} \cos\theta & -r\sin\theta \\ \sin\theta & \phantom{-}r\cos\theta \end{pmatrix} = r.$$这就是 $dx\,dy = r\,dr\,d\theta$ 里那个"$r$“的来源。微积分里背了很多年,现在你能从行列式直接推出来。
行列式与方程组的解
对方阵 $A$ 上的方程 $A\vec{x} = \vec{b}$:
| 条件 | 结果 |
|---|---|
| $\det(A) \neq 0$ | 唯一解 |
| $\det(A) = 0$,齐次($\vec{b} = 0$) | 有非平凡解 |
| $\det(A) = 0$,$\vec{b} \neq 0$ | 无解 或 有无穷多解 |
Python:可视化行列式
| |
试着自己再换几个矩阵,特别是把 $\det = 0$ 的情况画一遍——你会亲眼看到平行四边形坍缩成一条线。
本章小结
思维模型
下次看到行列式,不要想"我得算这个数”,而要想:
“这个变换把空间的大小和方向改变成什么样了?”
- $|\det(A)|$ —— 面积/体积放大了多少倍
- $\det > 0$ —— 定向保持
- $\det < 0$ —— 定向翻转(镜像)
- $\det = 0$ —— 空间被压扁,信息丢失,矩阵不可逆
关键性质一览
| 性质 | 公式 | 直觉 |
|---|---|---|
| 乘法性 | $\det(AB) = \det(A)\det(B)$ | 缩放相乘 |
| 转置不变 | $\det(A^T) = \det(A)$ | 行和列地位等价 |
| 逆矩阵 | $\det(A^{-1}) = 1/\det(A)$ | 撤销缩放 |
| 整体倍乘 | $\det(kA) = k^n \det(A)$ | $k$ 同时作用在 $n$ 个方向 |
下一章预告
第 5 章:线性方程组与列空间。 我们把前面所有的工具——矩阵、变换、行列式——汇聚起来,回答 $A\vec{x} = \vec{b}$ 何时有解、解有多少、解的结构是什么。核心概念是列空间($A$ 能"够到"哪些向量?)、零空间(哪些向量被压成零?)、秩(还剩下多少个有效的维度?)。在方阵情形下行列式仍是主角;非方阵或秩亏的情形则需要更细致的工具。
系列导航
- 上一篇: 第 3 章 – 矩阵作为线性变换
- 下一篇: 第 5 章 – 线性方程组与列空间
- 系列: 线性代数的本质(第 4 篇,共 18 篇)