CONCEPT / linear-algebra

行列式:有向体积、可逆性与消元

从平行四边形有向面积出发,推导行列式的多线性、交替性、行变换规则及其与可逆性的等价关系。

尚未开始仅保存在此浏览器
先修matriceslinear-transformation

本页目标

  1. 解释二维与三维行列式的有向面积和体积含义。
  2. 使用多线性、交替性和归一化理解行列式的定义。
  3. 根据初等行变换高效计算行列式并跟踪符号和倍数。
  4. 证明行列式为零、列线性相关和方阵不可逆之间的联系。
本页目录

学习目标

行列式把一个方阵对应线性变换对有向体积的影响压缩为一个标量。它能判断变换是否丢失维度,能在消元中跟踪体积变化,也构成特征方程和变量替换公式的重要部分。本章既给出计算规则,也说明规则从何而来。

先修知识

应会计算矩阵乘法,理解方阵、单位矩阵、逆矩阵和线性变换,并能判断一组向量是否线性相关。高斯消元有助于快速计算,但本章会列出所需的三类行变换规则。

A=[a1  an]A=[\mathbf a_1\ \cdots\ \mathbf a_n],即把方阵列写成 nn 个向量。detA\det Adet(a1,,an)\det(\mathbf a_1,\ldots,\mathbf a_n) 表示行列式。绝对值描述体积比例,符号还记录有向基是否翻转。

为什么面积需要符号

普通面积永远非负,却无法区分一组有序基是顺时针还是逆时针。线性变换若把 (e1,e2)(\mathbf e_1,\mathbf e_2) 的次序翻转,几何形状的面积仍然相同,但坐标系取向改变。行列式用正负号保留这部分信息。

当两列落在同一直线上时,它们张成的平行四边形面积为零。此时整个平面至少有一个方向被压扁,映射不能逆转。因而零值既是几何退化,也是代数不可逆的信号。

二阶行列式的几何推导

a1=(a,c)T\mathbf a_1=(a,c)^\mathsf Ta2=(b,d)T\mathbf a_2=(b,d)^\mathsf T。由两列张成的平行四边形有向面积定义为

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

可以用剪切不改变底和高来理解。若 a0a\neq0,从第二列减去 (b/a)(b/a) 倍第一列,得到 (0,dbc/a)T(0,d-bc/a)^\mathsf T。新平行四边形与原来有相同有向面积,而底长的有向分量为 aa,高度为 dbc/ad-bc/a,乘积正是 adbcad-bc。当 a=0a=0 时可交换两列再作同样分析,交换会翻转符号。

这个公式也可由面积函数对每一列线性、交换两列变号、单位正方形面积为一三条性质唯一推出。几何剪切给出直觉,三条代数性质则能推广到任意维数。

示例一:面积缩放与取向翻转

面积缩放与取向翻转

A=[2111].A=\begin{bmatrix}2&1\\1&-1\end{bmatrix}.

行列式为 2(1)11=32(-1)-1\cdot1=-3。因此单位正方形被送到面积为 33 的平行四边形,并且取向翻转。矩阵作用在任意平面区域上时,面积都乘以 33;这一比例不只对单位正方形成立,因为线性变换会把细小平行四边形统一按同一因子缩放。

三条刻画性质

定义

nn 阶行列式是列向量的函数,满足:

  1. 对每一列分别线性;
  2. 交换任意两列,函数值变号;
  3. detIn=1\det I_n=1

这三条性质唯一确定行列式。

交替性立即推出两列相同时行列式为零:交换这两列既不改变矩阵,又要求行列式变号,所以 D=DD=-D,只能有 D=0D=0。若一列是其他列的线性组合,多线性展开后每一项都会出现重复列,因此行列式同样为零。

把每列写成标准基的线性组合并完全展开,只有所有标准基恰好各出现一次的项可能非零,于是得到置换公式

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

该公式说明唯一性,却包含 n!n! 项,不适合大矩阵直接计算。实际计算应使用消元或分解。

余子式展开

固定第 ii 行,把置换公式按所选列分组,可得拉普拉斯展开

detA=j=1n(1)i+jaijdetAij,\det A= \sum_{j=1}^{n}(-1)^{i+j}a_{ij}\det A_{ij},

其中 AijA_{ij} 是删去第 ii 行、第 jj 列后的子矩阵。也可沿任意一列展开。含有许多零元素时,选择零最多的行或列能明显减少手算。

三阶情形沿第一行展开为

detA=a11(a22a33a23a32)a12(a21a33a23a31)+a13(a21a32a22a31).\det A =a_{11}(a_{22}a_{33}-a_{23}a_{32}) -a_{12}(a_{21}a_{33}-a_{23}a_{31}) +a_{13}(a_{21}a_{32}-a_{22}a_{31}).

正负号按棋盘格交替。所谓“对角线口诀”只适用于三阶,不能推广为一般定义。

行变换如何改变行列式

由三条刻画性质可推出:

  • 交换两行,行列式乘以 1-1
  • 某一行乘以 cc,行列式乘以 cc
  • 某一行加上另一行的倍数,行列式不变。

第三条可由多线性展开:把 ri+crj\mathbf r_i+c\mathbf r_j 放入第 ii 行,得到原行列式加上一个第 iijj 行成比例的行列式,后者为零。使用消元把矩阵化为上三角矩阵后,行列式等于对角元素乘积,再乘回所有交换和缩放产生的因子。

示例二:用消元计算三阶行列式

用消元计算三阶行列式

计算

A=[120211032].A=\begin{bmatrix} 1&2&0\\ 2&1&1\\ 0&3&2 \end{bmatrix}.

用第二行减去第一行的两倍,行列式不变,得到

[120031032].\begin{bmatrix} 1&2&0\\ 0&-3&1\\ 0&3&2 \end{bmatrix}.

再用第三行加第二行,得到上三角矩阵,对角线为 1,3,31,-3,3,故 detA=9\det A=-9。若用余子式沿第一列展开,也得到 1((3)213)=91\cdot((-3)\cdot2-1\cdot3)=-9。两种算法交叉核对了符号。

零行列式与不可逆性的等价链

n×nn\times n 方阵,以下命题等价:

  1. detA0\det A\neq0
  2. 列向量线性无关;
  3. Ax=0A\mathbf x=\mathbf0 只有零解;
  4. 线性变换不压扁任何非零方向;
  5. AA 可逆;
  6. 对每个 b\mathbf b,方程 Ax=bA\mathbf x=\mathbf b 有唯一解。

若列线性相关,多线性与交替性说明行列式为零。若列线性无关,它们构成 Rn\mathbb R^n 的一组基,映射既单射又满射,因此可逆。若 AA 可逆,利用乘法性质 det(AB)=detAdetB\det(AB)=\det A\det B,有 1=detI=detAdetA11=\det I=\det A\det A^{-1},所以 detA\det A 不可能为零。

乘法性质也有几何解释:BB 先把体积乘以 detB\det BAA 再乘以 detA\det A,复合变换应乘以二者乘积。严格代数证明可先固定 BB,验证函数 Adet(AB)A\mapsto\det(AB) 满足行列式刻画性质,再由唯一性得到结论。

这一等价链还给出实用的反证方法。若已经找到非零向量被映到零向量,就不必展开行列式,立刻知道矩阵不可逆且行列式为零;反过来,若通过消元得到每列都有主元,也无需余子式展开即可确认行列式非零。不同判据回答的是同一结构事实,选择计算量最小的一条即可。行列式的绝对值非常小时,矩阵虽可能在精确算术中可逆,却会把某些方向强烈压缩;此时数值求解可能敏感,还需结合奇异值或条件数判断稳定性,不能只检查是否严格等于零。

克拉默法则及其边界

AA 可逆时,方程 Ax=bA\mathbf x=\mathbf b 的第 ii 个坐标可以写成

xi=detAi(b)detA,x_i=\frac{\det A_i(\mathbf b)}{\det A},

其中 Ai(b)A_i(\mathbf b) 表示把 AA 的第 ii 列替换为 b\mathbf b。推导来自行列式对第 ii 列的线性性: b=jxjaj\mathbf b=\sum_jx_j\mathbf a_j,替换后除 j=ij=i 外的项都含重复列而为零。

用克拉默法则求二元方程

方程组

2x+y=5,xy=12x+y=5,\qquad x-y=1

对应 A=[2111]A=\begin{bmatrix}2&1\\1&-1\end{bmatrix}detA=3\det A=-3。替换第一列得 det[5111]=6\det\begin{bmatrix}5&1\\1&-1\end{bmatrix}=-6,所以 x=2x=2;替换第二列得 det[2511]=3\det\begin{bmatrix}2&5\\1&1\end{bmatrix}=-3,所以 y=1y=1。代回原方程可直接核对。

克拉默法则适合理论推导和很小的手算,不是大型系统的推荐算法。逐个计算多个行列式成本高,也可能放大舍入误差;数值求解通常使用带主元的消元、QR 或其他分解。

常见误区

常见误区

“行列式是矩阵所有元素的乘积。”只有三角矩阵的行列式等于对角元素乘积;一般矩阵还包含不同排列对应的带符号项。

常见误区

“行列式接近零就一定等于奇异。”精确数学中零与非零有明确区别;浮点计算中,一个很小的行列式还受矩阵尺度和维数影响,不能单独作为病态程度的可靠指标。条件数和奇异值更适合数值诊断。

反例

“行列式相同的矩阵具有相同几何作用。”单位矩阵与非平凡剪切矩阵的行列式都为一,但前者保持全部向量,后者改变长度和角度。行列式只保留总体体积与取向信息。

代码:基于消元的行列式

export function determinant(input: readonly (readonly number[])[]): number {
  const n = input.length;
  if (n === 0 || input.some((row) => row.length !== n)) {
    throw new Error("Determinant requires a non-empty square matrix.");
  }
  const a = input.map((row) => [...row]);
  let value = 1;
  for (let column = 0; column < n; column += 1) {
    let pivot = column;
    for (let row = column + 1; row < n; row += 1) {
      if (Math.abs(a[row][column]) > Math.abs(a[pivot][column])) pivot = row;
    }
    if (a[pivot][column] === 0) return 0;
    if (pivot !== column) {
      [a[pivot], a[column]] = [a[column], a[pivot]];
      value *= -1;
    }
    const pivotValue = a[column][column];
    value *= pivotValue;
    for (let row = column + 1; row < n; row += 1) {
      const factor = a[row][column] / pivotValue;
      for (let k = column + 1; k < n; k += 1) a[row][k] -= factor * a[column][k];
    }
  }
  return value;
}

代码使用绝对值较大的主元降低部分舍入风险,但以严格零判断奇异仍只适合教学。可靠数值库还会根据数据类型、尺度和容差处理退化情况。

练习

练习

计算 det[3124]\det\begin{bmatrix}3&1\\2&4\end{bmatrix},并解释结果的面积缩放与取向含义。若交换两列,答案如何变化?

查看解答

原行列式为 3412=103\cdot4-1\cdot2=10,面积放大十倍且取向保持。交换两列后行列式变为 10-10,普通面积比例不变,但取向翻转。

练习

不完全展开,利用行变换证明 det[111123136]=1\det\begin{bmatrix}1&1&1\\1&2&3\\1&3&6\end{bmatrix}=1

查看解答

第二、三行分别减第一行,得到 [111012025]\begin{bmatrix}1&1&1\\0&1&2\\0&2&5\end{bmatrix}。第三行再减第二行的两倍,得到对角元素 1,1,11,1,1 的上三角矩阵。所用都是加倍行变换,行列式不变,因此结果为一。

练习

证明若 A2=AA^2=AAA 可逆,则 A=IA=I。再用行列式说明一个幂等方阵的行列式只能是零或一。

查看解答

等式左乘 A1A^{-1}A=IA=I。对任意幂等方阵取行列式,有 (detA)2=detA(\det A)^2=\det A,实数解只有零和一;行列式为一时矩阵可逆,因而矩阵本身就是单位矩阵。

与其他知识的关系

  • 矩阵 提供行列索引、乘法和逆矩阵的基本语言。
  • 线性变换 给出有向体积缩放和信息损失的几何对象。
  • 线性方程组 使用非零行列式判断方阵系统的唯一可解性。
  • 矩阵的秩 用独立方向数量刻画与零行列式相同的退化现象。
  • 特征值与特征向量 通过 det(AλI)=0\det(A-\lambda I)=0 寻找不变方向。

资源

lecture · 2011

MIT 18.06SC Linear Algebra

Gilbert Strang

提供线性代数核心概念的完整课程顺序、例题、习题和考试材料。

打开官方来源

MIT OpenCourseWare 18.06SC 把行列式与消元、可逆矩阵、特征值和体积解释连接起来,可用于继续练习计算并核对等价条件。

lecture · 2010

MIT 18.02SC Multivariable Calculus

Denis Auroux

把线性代数对象用于几何与多变量问题,并提供例题、习题和解答。

打开官方来源

MIT OpenCourseWare 18.02SC 在叉积、三重积和多重积分变量替换中使用有向面积、体积与 Jacobian 行列式,展示行列式在几何和微积分中的应用。它不替代一般 nn 阶行列式的线性代数证明。

下一步

下一章学习 特征值与特征向量,把 Av=λvA\mathbf v=\lambda\mathbf v 改写为 (AλI)v=0(A-\lambda I)\mathbf v=\mathbf0,再用零行列式找到允许的 λ\lambda。若更关心方程求解,可先进入

高斯消元矩阵的秩

作者one-forth-core
最近修订2026-07-11
审阅状态待独立人工审阅