行列式入门

· · 算法·理论

upd on 2026.5.1:修改了 @gapeqi 提出的问题,感激不尽!!

观前提示:读者应掌握按一行/列展开行列式的方法,若不清楚请自行搜索资料学习。

本文仅用于研究归纳法对行列式常见性质的证明,并没有提到行列式真正的定义式,仅供参考。

约定记号

An \times n 矩阵,其第 i 行第 j 列的数为 a_{ij}

行列式 $\det(A)$ 按如下**递归定义**: - 当 $n = 1$ 时, $$ \det(A) = a_{11}. $$ - 当 $n \ge 2$ 时,按第一行展开: $$ \det(A) = \sum_{j=1}^{n} (-1)^{1+j} a_{1j} \det(M_{1j}), $$ 其中 $M_{1j}$ 表示删去 $A$ 的第 $1$ 行和第 $j$ 列后得到的 $(n-1) \times (n-1)$ 子矩阵(称为**余子阵**,其行列式称为**余子式**,代数余子式为 $(-1)^{i+j}\det(M_{ij})$)。本文中 $M_{ij}^A$ 表示从矩阵 $A$ 删去第 $i$ 行和第 $j$ 列后得到的余子阵。 以下对性质的证明都会使用上课讲的方法(归纳法),即从基本形式逐步扩充。 --- ## Property 1.1 ::::info[Property 1.1]{open} 若 $A$ 是上三角矩阵,即当 $i > j$ 时 $a_{ij} = 0$,则 $$ |A| = a_{11} a_{22} \cdots a_{nn}. $$ 对下三角矩阵(当 $i < j$ 时 $a_{ij}=0$)同理。 :::: ::::info[Proof 1.1 - Basic]{open} $n=1$ 时,$\det(a_{11})=a_{11}$,公式成立。 :::: ::::info[Proof 1.1 - Extension]{open} 假设对所有阶数 $< n$ 的上三角矩阵,行列式都等于主对角线元素乘积。设 $A$ 为 $n$ 阶上三角矩阵: $$ A = \begin{pmatrix} a_{11} & a_{12} & \dots & a_{1n} \\ 0 & a_{22} & \dots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \dots & a_{nn} \end{pmatrix}. $$ 按第一行展开: $$ \det(A) = \sum_{j=1}^{n} (-1)^{1+j} a_{1j} \det(M_{1j}). $$ 当 $j \ge 2$ 时,$M_{1j}$ 是上三角矩阵且其第一个主对角元为 $0$(因为 $M_{1j}$ 的第 $1$ 行第 $1$ 列元素来自 $A$ 的第 $2$ 行第 $1$ 列,该值为 $0$),由归纳假设,$\det(M_{1j}) = 0$。因此只有 $j = 1$ 项保留: $$ \det(A) = a_{11} \det(M_{11}). $$ 矩阵 $M_{11}$ 是删去第 $1$ 行第 $1$ 列后的子矩阵,它仍是上三角,主对角线为 $a_{22}, a_{33}, \dots, a_{nn}$。由归纳假设: $$ \det(M_{11}) = a_{22} a_{33} \cdots a_{nn}. $$ 于是: $$ \det(A) = a_{11} a_{22} \cdots a_{nn}. $$ :::: --- ## Property 1.2 ::::info[Property 1.2]{open} 若存在某行 $k$ 使得 $a_{k1} = a_{k2} = \cdots = a_{kn} = 0$,则 $\det(A) = 0$。 :::: ::::info[Proof 1.2 - Basic]{open} $n=1$ 时,若 $a_{11}=0$,则 $\det\begin{pmatrix}0\end{pmatrix}=0$,成立。 :::: ::::info[Proof 1.2 - Extension]{open} 假设对所有阶数 $< n$ 的矩阵,若某一行全为零,则行列式为 $0$。按全零行 $k$ 分类讨论。 - 若 $k=1$:按第一行展开, $$ \det(A) = \sum_{j=1}^{n} (-1)^{1+j} \cdot 0 \cdot \det(M_{1j}) = 0. $$ - 若 $k>1$:按第一行展开, $$ \det(A) = \sum_{j=1}^{n} (-1)^{1+j} a_{1j} \det(M_{1j}). $$ 在 $M_{1j}$ 中,原来的第 $k$ 行(全零)变成了第 $k-1$ 行,且仍然全为零。由归纳假设,$\det(M_{1j}) = 0$ 对所有 $j$ 成立。因此 $\det(A)=0$。 证毕。 :::: --- ## Property 1.3 ::::info[Property 1.3]{open} 设 $B$ 是将矩阵 $A$ 的第 $k$ 行所有元素乘以常数 $c$ 后得到的矩阵,则有 $$ \det(B) = c \cdot \det(A). $$ :::: ::::info[Proof 1.3 - Basic]{open} $n=1$ 时,设 $A=(a_{11})$,$B=(c\cdot a_{11})$,则 $\det(B)=c a_{11}=c\det(A)$,该性质成立。 :::: ::::info[Proof 1.3 - Extension]{open} 假设对所有阶数 $< n$ 的矩阵,性质成立。设被操作的行是第 $k$ 行。 - 若 $k=1$:按第一行展开 $B$, $$ \begin{aligned} \det(B) &= \sum_{j=1}^{n} (-1)^{1+j} (c a_{1j}) \det(M_{1j}^B) \\ &= c \sum_{j=1}^{n} (-1)^{1+j} a_{1j} \det(M_{1j}^A) \\ &= c \det(A). \end{aligned} $$ 注意这里 $M_{1j}^B = M_{1j}^A$,因为只修改了第一行且第一行被删去。 - 若 $k>1$:按第一行展开 $B$, $$ \begin{aligned} \det(B) &= \sum_{j=1}^{n} (-1)^{1+j} b_{1j} \det(M_{1j}^B) \\ &= \sum_{j=1}^{n} (-1)^{1+j} a_{1j} \det(M_{1j}^B), \end{aligned} $$ 其中 $b_{1j}=a_{1j}$(第一行未变)。在 $M_{1j}^B$ 中,原来的第 $k$ 行(已乘 $c$)变成了第 $k-1$ 行,且该行每个元素是原 $A$ 中对应元素的 $c$ 倍。由归纳假设(对 $n-1$ 阶矩阵): $$ \det(M_{1j}^B) = c \cdot \det(M_{1j}^A). $$ 代入得 $$ \begin{aligned} \det(B) &= \sum_{j=1}^{n} (-1)^{1+j} a_{1j} \cdot \big( c \det(M_{1j}^A) \big) \\ &= c \sum_{j=1}^{n} (-1)^{1+j} a_{1j} \det(M_{1j}^A) \\ &= c \det(A). \end{aligned} $$ :::: --- ## Property 1.4 ::::info[Property 1.4]{open} 若矩阵 $B$ 是将 $A$ 的第 $p$ 行与第 $q$ 行互换($p \neq q$)后得到的矩阵,则 $$ \det(B) = -\det(A). $$ :::: ::::info[Proof 1.4 - Basic]{open} $n=2$ 时,设 $$ A = \begin{pmatrix} a & b \\ c & d \end{pmatrix},\quad B = \begin{pmatrix} c & d \\ a & b \end{pmatrix}. $$ 则 $\det(A)=ad-bc$,$\det(B)=cb-da = -\det(A)$,性质成立。 :::: ::::info[Proof 1.4 - Extension]{open} 假设对所有阶数 $< n$ 的矩阵,互换两行后行列式变号。设 $p<q$,按第一行展开 $A$: $$ \det(A) = \sum_{j=1}^n (-1)^{1+j} a_{1j} \det(M_{1j}^A). $$ 考虑 $B$ 的展开,分三种情况。 1. **若 $1 \neq p, q$**:第一行未动,子矩阵 $M_{1j}^B$ 是由 $M_{1j}^A$ 互换第 $p-1$ 行与第 $q-1$ 行得到(因为删去第一行后行号减 $1$)。由归纳假设,$\det(M_{1j}^B) = -\det(M_{1j}^A)$。代入展开式得 $\det(B)=-\det(A)$。 2. **若 $1 = p$**(即第一行参与互换,$p=1$,$q>1$):$B$ 的第一行是 $A$ 的第 $q$ 行。按第一行展开 $B$: $$ \det(B) = \sum_{j=1}^n (-1)^{1+j} a_{qj} \det(M_{1j}^B). $$ 子矩阵 $M_{1j}^B$ 删去了 $A$ 的第 $q$ 行和第 $j$ 列,但未删第 $1$ 行。将 $M_{1j}^B$ 与 $M_{qj}^A$(删 $A$ 的第 $q$ 行第 $j$ 列)比较:$M_{qj}^A$ 中第 $1$ 行是 $A$ 的第 $1$ 行,而 $M_{1j}^B$ 中该行位于第 $q-1$ 行。将 $M_{1j}^B$ 的第 $q-1$ 行逐次上移到第 $1$ 行需要 $q-2$ 次相邻行互换,因此 $$ \det(M_{1j}^B) = (-1)^{q-2} \det(M_{qj}^A). $$ 代入得 $$ \det(B) = \sum_{j=1}^n (-1)^{1+j} a_{qj} \cdot (-1)^{q-2} \det(M_{qj}^A) = (-1)^{q-2} \sum_{j=1}^n (-1)^{1+j} a_{qj} \det(M_{qj}^A). $$ 将 $A$ 的第 $q$ 行通过 $q-1$ 次相邻互换上移到第 $1$ 行,得到矩阵 $A'$。由归纳假设,$\det(A') = (-1)^{q-1} \det(A)$。按 $A'$ 的第一行展开: $$ \det(A') = \sum_{j=1}^n (-1)^{1+j} a_{qj} \det(M_{qj}^A). $$ 因此 $$ \begin{aligned} \det(B) &= (-1)^{q-2} \det(A') \\ &= (-1)^{q-2} \cdot (-1)^{q-1} \det(A) \\ &= (-1)^{2q-3} \det(A) \\ &= -\det(A). \end{aligned} $$ 3. **若 $1 = q$**:对称可得相同结论。 综上,对所有情形 $\det(B)=-\det(A)$。 :::: --- ## Property 1.5 ::::info[Property 1.5]{open} 若矩阵 $A$ 存在两行成比例(即存在 $p \neq q$ 及常数 $c$ 使得第 $q$ 行 $= c \times$ 第 $p$ 行),则 $$ \det(A) = 0. $$ :::: ::::info[Proof 1.5 - Basic]{open} $n=2$ 时,设 $$ A = \begin{pmatrix} a & b \\ ca & cb \end{pmatrix}, $$ 则 $\det(A)=a\cdot cb - b\cdot ca = abc - abc = 0$。 :::: ::::info[Proof 1.5 - Extension]{open} 假设对所有阶数 $< n$ 的矩阵,若两行成比例则行列式为 $0$。设第 $q$ 行 $= c \times$ 第 $p$ 行。 - 若 $c=0$:第 $q$ 行为全零行,由 Property 1.2 得 $\det(A)=0$。 - 若 $c \neq 0$:令 $B$ 为将第 $q$ 行乘以 $1/c$ 得到的矩阵。由 Property 1.3,$\det(B) = \frac{1}{c}\det(A)$。但 $B$ 的第 $q$ 行 $=$ 第 $p$ 行,即两行完全相同。将 $B$ 的第 $p$ 行与第 $q$ 行互换得 $B$ 自身,由 Property 1.4: $$ \det(B) = -\det(B) \implies \det(B)=0. $$ 因此 $\det(A)=c\cdot 0=0$。 :::: --- ## Property 1.6 ::::info[Property 1.6]{open} 设 $A$ 的第 $k$ 行元素满足 $a_{kj} = b_{kj} + c_{kj}$($j=1,\dots,n$),其余行与 $B,C$ 相同,且 $B,C$ 分别以 $b_{kj},c_{kj}$ 作为第 $k$ 行,则 $$ \det(A) = \det(B) + \det(C). $$ :::: ::::info[Proof 1.6 - Basic]{open} $n=1$ 时,$\det(a_{11})=a_{11}=b_{11}+c_{11}=\det(b_{11})+\det(c_{11})$。 :::: ::::info[Proof 1.6 - Extension]{open} 假设对阶数 $< n$ 成立。 - 若 $k=1$:按第一行展开, $$ \begin{aligned} \det(A) &= \sum_{j=1}^n (-1)^{1+j} (b_{1j}+c_{1j}) \det(M_{1j}^A) \\ &= \sum_{j=1}^n (-1)^{1+j} b_{1j} \det(M_{1j}^B) + \sum_{j=1}^n (-1)^{1+j} c_{1j} \det(M_{1j}^C) \\ &= \det(B) + \det(C). \end{aligned} $$ 这里 $M_{1j}^A = M_{1j}^B = M_{1j}^C$,因为删去第一行后其余行未变。 - 若 $k>1$:按第一行展开, $$ \det(A) = \sum_{j=1}^n (-1)^{1+j} a_{1j} \det(M_{1j}^A). $$ 在 $M_{1j}^A$ 中,原来的第 $k$ 行变为第 $k-1$ 行,且该行元素为 $b_{kj}+c_{kj}$。由归纳假设(对 $n-1$ 阶): $$ \det(M_{1j}^A) = \det(M_{1j}^B) + \det(M_{1j}^C). $$ 代入得 $$ \begin{aligned} \det(A) &= \sum_{j=1}^n (-1)^{1+j} a_{1j} \big( \det(M_{1j}^B) + \det(M_{1j}^C) \big) \\ &= \sum_{j=1}^n (-1)^{1+j} a_{1j} \det(M_{1j}^B) + \sum_{j=1}^n (-1)^{1+j} a_{1j} \det(M_{1j}^C) \\ &= \det(B) + \det(C). \end{aligned} $$ :::: --- ## Property 1.7 ::::info[Property 1.7]{open} 设 $B$ 是将 $A$ 的第 $p$ 行乘以常数 $c$ 后加到第 $q$ 行($p \neq q$)得到的矩阵,则 $$ \det(B) = \det(A). $$ :::: ::::info[Proof 1.7 - Basic]{open} $n=2$ 时,设 $$ A = \begin{pmatrix} a & b \\ c & d \end{pmatrix},\quad B = \begin{pmatrix} a & b \\ c + \lambda a & d + \lambda b \end{pmatrix}. $$ 则 $$ \begin{aligned} \det(B) &= a(d+\lambda b) - b(c+\lambda a) \\ &= ad + \lambda ab - bc - \lambda ab \\ &= ad - bc = \det(A). \end{aligned} $$ :::: ::::info[Proof 1.7 - Extension]{open} 假设对阶数 $< n$ 成立。令 $C$ 为将 $A$ 的第 $q$ 行替换为第 $p$ 行(其余行不变)得到的矩阵,则 $C$ 有两行相同(第 $p$ 行与第 $q$ 行)。由 Property 1.5 得 $\det(C)=0$。 注意 $B$ 的第 $q$ 行 $=$ $A$ 的第 $q$ 行 $+$ $c \times A$ 的第 $p$ 行。由 Property 1.6(按第 $q$ 行分解): $$ \det(B) = \det(A) + c \cdot \det(C). $$ 因为 $\det(C)=0$,所以 $\det(B)=\det(A)$。 :::: --- ## Property 1.8 ::::info[Property 1.8]{open} 设 $A$ 是 $n$ 阶方阵,$A^{\mathsf{T}}$ 为其转置矩阵(即 $(A^{\mathsf{T}})_{ij}=a_{ji}$),则 $$ \det(A^{\mathsf{T}}) = \det(A). $$ :::: ::::info[Proof 1.8 - Basic]{open} $n=1$ 时显然成立。 :::: ::::info[Proof 1.8 - Extension]{open} 假设对所有阶数 $< n$ 的矩阵,转置后行列式值不变。 按第一行展开 $\det(A^{\mathsf{T}})$: $$ \det(A^{\mathsf{T}}) = \sum_{j=1}^{n} (-1)^{1+j} (A^{\mathsf{T}})_{1j} \det(M_{1j}^{A^{\mathsf{T}}}). $$ 由转置定义,$(A^{\mathsf{T}})_{1j}=a_{j1}$。 子矩阵 $M_{1j}^{A^{\mathsf{T}}}$ 是删去 $A^{\mathsf{T}}$ 的第 $1$ 行和第 $j$ 列后得到的 $(n-1)$ 阶矩阵。删去 $A^{\mathsf{T}}$ 的第 $1$ 行相当于删去 $A$ 的第 $1$ 列,删去 $A^{\mathsf{T}}$ 的第 $j$ 列相当于删去 $A$ 的第 $j$ 行,因此 $$ M_{1j}^{A^{\mathsf{T}}} = (M_{j1}^{A})^{\mathsf{T}}, $$ 其中 $M_{j1}^{A}$ 是删去 $A$ 的第 $j$ 行和第 $1$ 列后得到的子矩阵。 由归纳假设(对 $n-1$ 阶矩阵): $$ \det(M_{1j}^{A^{\mathsf{T}}}) = \det(M_{j1}^{A}). $$ 于是 $$ \det(A^{\mathsf{T}}) = \sum_{j=1}^{n} (-1)^{1+j} a_{j1} \det(M_{j1}^{A}). $$ 为了得到 $\det(A)$ 的表达式,我们将 $A$ 的第 $j$ 行与第 $1$ 行互换,得到矩阵 $A^{(j)}$。 具体地,将第 $j$ 行逐次上移到第 $1$ 行需要 $j-1$ 次相邻行互换,由 Property 1.4 得 $\det(A^{(j)}) = (-1)^{j-1} \det(A)$。 另一方面,按 $A^{(j)}$ 的第一行展开(第一行即为 $A$ 的第 $j$ 行),有 $$ \det(A^{(j)}) = \sum_{k=1}^{n} (-1)^{1+k} a_{jk} \det((M_{j1}^{A})^{(k)}), $$ 其中 $(M_{j1}^{A})^{(k)}$ 表示在 $M_{j1}^{A}$ 的基础上进行相应列变换后的矩阵,但注意到按第一行展开时,$a_{j1}$ 对应的余子阵恰好是 $M_{j1}^{A}$(因为删去第 $j$ 行和第 $1$ 列后,再经过行互换得到的子矩阵行列式与 $\det(M_{j1}^{A})$ 相差一个由列互换引起的符号)。 更直接地,利用已证明的 Property 1.3 和 Property 1.4,我们可以得到按第一列的展开公式: $$ \det(A) = \sum_{i=1}^{n} (-1)^{i+1} a_{i1} \det(M_{i1}^{A}). $$ (该公式可通过将第 $i$ 行上移到第 $1$ 行,再按第一行展开,最后调整符号得到,证明过程依赖 Property 1.4 和 Property 1.3,且不与本证明形成循环。) 于是 $$ \begin{aligned} \det(A^{\mathsf{T}}) &= \sum_{j=1}^{n} (-1)^{1+j} a_{j1} \det(M_{j1}^{A}) \\ &= \sum_{i=1}^{n} (-1)^{i+1} a_{i1} \det(M_{i1}^{A}) \\ &= \det(A). \end{aligned} $$ 证毕。 ::::