概述 把方阵映射到一个数的函数,几何上是线性变换的体积缩放因子,为零当且仅当行(列)向量线性相关。从二、三阶对角线法则讲到排列逆序数与 n 阶的按排列定义,给出转置不变、交换变号、倍加不变等性质。展开部分是余子式、代数余子式与拉普拉斯展开;计算技巧含化三角形、加边法、范德蒙德行列式、行和相等提公因子、三对角行列式递推。最后用克拉默法则给出方阵唯一解的闭式,并连起行列式、可逆性、秩与方程组解的存在性。
行列式 (Determinant)是把一个 方阵 映射到一个 数 的函数,记为 det A \det A det A 或 ∣ A ∣ |A| ∣ A ∣ 。
不要把它当成一堆符号的机械组合。行列式有非常清晰的几何含义:它衡量一个线性变换把 空间「放大」了多少倍 。
二阶行列式 = 两个行(列)向量张成的 平行四边形的有向面积 。
三阶行列式 = 三个向量张成的 平行六面体的有向体积 。
n n n 阶行列式 = n n n 个向量张成的 n n n 维 平行多面体的有向超体积 。
「有向」是关键:面积/体积可以是负的,符号记录了变换有没有把空间 翻面 (改变定向)。比如二维里若把一对基向量的左右关系对调,面积就变号。
由此立刻能看懂一条最重要的事实:
det A = 0 ⟺ n 个行(列)向量线性相关 \det A=0\iff n\text{个行(列)向量线性相关} det A = 0 ⟺ n 个行(列)向量线性相关
因为体积为 0 0 0 意味着这些向量被压扁到了更低维的子空间里,张不出「饱满」的 n n n 维体。这正是后面判断矩阵 可逆性 的核心。
记住一句话就抓住了主线:行列式是线性变换的「体积缩放因子」。 它告诉你单位立方体经过变换 A A A 之后变成的图形,体积是原来的 ∣ det A ∣ |\det A| ∣ det A ∣ 倍,而符号告诉你定向有没有翻转。det A = 0 \det A=0 det A = 0 就是「被压扁了」。
设 A A A 把单位正方形的两条边 e ⃗ 1 , e ⃗ 2 \vec e_1,\vec e_2 e 1 , e 2 分别送到列向量 a ⃗ 1 , a ⃗ 2 \vec a_1,\vec a_2 a 1 , a 2 ,那么这两个像向量张成的平行四边形面积恰好是 ∣ det A ∣ |\det A| ∣ det A ∣ 。三维同理,得到平行六面体体积。
由此能 不算一个数 就理解行列式的几条性质:
把某一列翻倍,对应的平行四边形沿那个方向拉长一倍,面积也翻倍 —— 所以某一行(列)的公因子能提到行列式外。
交换两列,相当于把图形「翻面」,定向反转,面积变号。
给某一列加上另一列的若干倍(错切 ,shear),平行四边形被「推斜」但底和高不变,面积不变 —— 这正是「某行加另一行的 k k k 倍行列式不变」。
两列相同(或成比例),平行四边形退化成一条线段,面积为 0 0 0 。
乘法性质也变得显然:连续做两个变换 A , B A,B A , B ,体积缩放因子相乘,所以:
det ( A B ) = det A ⋅ det B \det(AB)=\det A\cdot\det B det ( A B ) = det A ⋅ det B
∣ a b c d ∣ = a d − b c \begin{vmatrix}
a & b \\
c & d
\end{vmatrix}=ad-bc a c b d = a d − b c
∣ a 1 b 1 c 1 a 2 b 2 c 2 a 3 b 3 c 3 ∣ = a 1 b 2 c 3 + a 2 b 3 c 1 + a 3 b 1 c 2 − a 3 b 2 c 1 − a 2 b 1 c 3 − a 1 b 3 c 2 \begin{vmatrix}
a_1 & b_1 & c_1 \\
a_2 & b_2 & c_2 \\
a_3 & b_3 & c_3
\end{vmatrix}=a_1b_2c_3+a_2b_3c_1+a_3b_1c_2-a_3b_2c_1-a_2b_1c_3-a_1b_3c_2 a 1 a 2 a 3 b 1 b 2 b 3 c 1 c 2 c 3 = a 1 b 2 c 3 + a 2 b 3 c 1 + a 3 b 1 c 2 − a 3 b 2 c 1 − a 2 b 1 c 3 − a 1 b 3 c 2
记忆口诀:对角线法则 (沙路法)—— 主对角线方向三项取正,副对角线方向三项取负。
例:算 ∣ 1 2 3 4 5 6 7 8 10 ∣ \begin{vmatrix}1&2&3\\4&5&6\\7&8&10\end{vmatrix} 1 4 7 2 5 8 3 6 10 。正项是三条「左上到右下」对角线 1 ⋅ 5 ⋅ 10 + 2 ⋅ 6 ⋅ 7 + 3 ⋅ 4 ⋅ 8 = 50 + 84 + 96 = 230 1\cdot5\cdot10+2\cdot6\cdot7+3\cdot4\cdot8=50+84+96=230 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 3\cdot5\cdot7+1\cdot6\cdot8+2\cdot4\cdot10=105+48+80=233 3 ⋅ 5 ⋅ 7 + 1 ⋅ 6 ⋅ 8 + 2 ⋅ 4 ⋅ 10 = 105 + 48 + 80 = 233 ,相减得 230 − 233 = − 3 230-233=-3 230 − 233 = − 3 。
对角线法则 只对二阶、三阶成立 ,四阶及以上完全不能用。高阶行列式要么按定义(逆序数),要么按行(列)展开,要么化成三角形。
n n n 阶行列式的一般定义建立在 排列 (Permutation)之上。把 1 , 2 , … , n 1,2,\dots,n 1 , 2 , … , n 的一个排列记作 σ = ( σ ( 1 ) , σ ( 2 ) , … , σ ( n ) ) \sigma=(\sigma(1),\sigma(2),\dots,\sigma(n)) σ = ( σ ( 1 ) , σ ( 2 ) , … , σ ( n )) 。
逆序数 (Number of Inversions)τ ( σ ) \tau(\sigma) τ ( σ ) :排列中前面的数大于后面的数的「逆序对」个数。逆序数为偶则称 偶排列 ,为奇则称 奇排列 。排列的 符号 为:
sgn ( σ ) = ( − 1 ) τ ( σ ) \operatorname{sgn}(\sigma)=(-1)^{\tau(\sigma)} sgn ( σ ) = ( − 1 ) τ ( σ )
例:求排列 ( 3 , 1 , 4 , 2 ) (3,1,4,2) ( 3 , 1 , 4 , 2 ) 的逆序数。逐个数后面比它小的元素:3 3 3 后面有 1 , 2 1,2 1 , 2 两个比它小,记 2 2 2 ;1 1 1 后面没有更小的,记 0 0 0 ;4 4 4 后面有 2 2 2 一个,记 1 1 1 ;2 2 2 后面没有,记 0 0 0 。合计 τ = 2 + 0 + 1 + 0 = 3 \tau=2+0+1+0=3 τ = 2 + 0 + 1 + 0 = 3 ,是奇排列,符号为 ( − 1 ) 3 = − 1 (-1)^3=-1 ( − 1 ) 3 = − 1 。
例:用逆序数定义算 ∣ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ \begin{vmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{vmatrix} a 11 a 21 a 31 a 12 a 22 a 32 a 13 a 23 a 33 。从每行各取一个分处不同列的元素,列下标取遍 1 , 2 , 3 1,2,3 1 , 2 , 3 的全部 3 ! = 6 3!=6 3 ! = 6 个排列,每项带符号 ( − 1 ) τ (-1)^\tau ( − 1 ) τ :
( 1 , 2 , 3 ) , τ = 0 : + a 11 a 22 a 33 ( 2 , 3 , 1 ) , τ = 2 : + a 12 a 23 a 31 ( 3 , 1 , 2 ) , τ = 2 : + a 13 a 21 a 32 ( 3 , 2 , 1 ) , τ = 3 : − a 13 a 22 a 31 ( 2 , 1 , 3 ) , τ = 1 : − a 12 a 21 a 33 ( 1 , 3 , 2 ) , τ = 1 : − a 11 a 23 a 32 \begin{aligned}
& (1,2,3),\tau=0:+a_{11}a_{22}a_{33} \\
& (2,3,1),\tau=2:+a_{12}a_{23}a_{31} \\
& (3,1,2),\tau=2:+a_{13}a_{21}a_{32} \\
& (3,2,1),\tau=3:-a_{13}a_{22}a_{31} \\
& (2,1,3),\tau=1:-a_{12}a_{21}a_{33} \\
& (1,3,2),\tau=1:-a_{11}a_{23}a_{32}
\end{aligned} ( 1 , 2 , 3 ) , τ = 0 : + a 11 a 22 a 33 ( 2 , 3 , 1 ) , τ = 2 : + a 12 a 23 a 31 ( 3 , 1 , 2 ) , τ = 2 : + a 13 a 21 a 32 ( 3 , 2 , 1 ) , τ = 3 : − a 13 a 22 a 31 ( 2 , 1 , 3 ) , τ = 1 : − a 12 a 21 a 33 ( 1 , 3 , 2 ) , τ = 1 : − a 11 a 23 a 32
六项相加正好是上面的三阶公式,对角线法则不过是它的图形记忆。
det A = ∑ σ ∈ S n sgn ( σ ) a 1 σ ( 1 ) a 2 σ ( 2 ) ⋯ a n σ ( n ) \det A=\sum_{\sigma\in S_n}\operatorname{sgn}(\sigma)a_{1\sigma(1)}a_{2\sigma(2)}\cdots a_{n\sigma(n)} det A = σ ∈ S n ∑ sgn ( σ ) a 1 σ ( 1 ) a 2 σ ( 2 ) ⋯ a nσ ( n )
直观理解:行列式是「从每行各取一个元素、且这些元素分处不同列」的所有取法的乘积之和,每一项再按取法的奇偶性带上 ± \pm ± 号。共有 n ! n! n ! 项,正负项各占一半。
这个定义计算量是 n ! n! n ! ,纯粹用于理论分析,绝不要拿它去算具体行列式 。实战靠展开和初等变换。但它解释了一个常用结论:行列式中只要某一行(或列)全为 0 0 0 ,每一项里都会含这一行的因子,于是行列式为 0 0 0 。
把 A A A 的行(或列)看作一组向量,行列式满足下面这些性质。由于 det A T = det A \det A^T=\det A det A T = det A ,对行成立的对列同样成立 。
性质 描述 转置不变 det A T = det A \det A^T=\det A det A T = det A 交换两行(列) 行列式 变号 某行(列)有公因子 k k k 可把 k k k 提到行列式外 ;故 det ( k A ) = k n det A \det(kA)=k^n\det A det ( k A ) = k n det A 两行(列)相同或成比例 行列式 为 0 0 0 某行(列)全为 0 0 0 行列式 为 0 0 0 某行加另一行的 k k k 倍 行列式 不变 按某行(列)可加性 某行写成两行之和时,行列式可拆成两个行列式之和
由乘法性质 det ( A B ) = det A det B \det(AB)=\det A\det B det ( A B ) = det A det B 还能推出:
det ( A − 1 ) = 1 det A , det ( A m ) = ( det A ) m \det(A^{-1})=\frac{1}{\det A},\det(A^m)=(\det A)^m det ( A − 1 ) = det A 1 , det ( A m ) = ( det A ) m
「某行加另一行的 k k k 倍」(记号 r i + k r j r_i+kr_j r i + k r j )是化简最常用的初等变换,它 不改变行列式值 ,是计算高阶行列式的主力。注意区分:交换两行要变号、某行乘 k k k 要乘 k k k ,只有「加倍数」这一种变换不影响结果。
余子式 (Minor)M i j M_{ij} M ij :划去第 i i i 行第 j j j 列后,剩下的 ( n − 1 ) (n-1) ( n − 1 ) 阶行列式。
代数余子式 (Cofactor)A i j = ( − 1 ) i + j M i j A_{ij}=(-1)^{i+j}M_{ij} A ij = ( − 1 ) i + j M ij 。
符号 ( − 1 ) i + j (-1)^{i+j} ( − 1 ) i + j 排成棋盘格:左上角为 + + + ,相邻格交替变号。
沿任意一行或一列展开,结果都等于行列式本身:
∣ A ∣ = ∑ j = 1 n a i j A i j ( 按第 i 行 ) , ∣ A ∣ = ∑ i = 1 n a i j A i j ( 按第 j 列 ) |A|=\sum_{j=1}^na_{ij}A_{ij}(\text{按第 }i\text{ 行}),|A|=\sum_{i=1}^na_{ij}A_{ij}(\text{按第 }j\text{ 列}) ∣ A ∣ = j = 1 ∑ n a ij A ij ( 按第 i 行 ) , ∣ A ∣ = i = 1 ∑ n a ij A ij ( 按第 j 列 )
实战中 挑零最多的那一行(列)展开 ,能少算很多项。
例:算 ∣ 3 0 0 2 1 2 0 5 4 1 3 0 2 0 0 1 ∣ \begin{vmatrix}3&0&0&2\\1&2&0&5\\4&1&3&0\\2&0&0&1\end{vmatrix} 3 1 4 2 0 2 1 0 0 0 3 0 2 5 0 1 。第 3 3 3 列只有一个非零元 a 33 = 3 a_{33}=3 a 33 = 3 ,按它展开最省事:
∣ A ∣ = a 33 A 33 = 3 ⋅ ( − 1 ) 3 + 3 ∣ 3 0 2 1 2 5 2 0 1 ∣ |A|=a_{33}A_{33}=3\cdot(-1)^{3+3}\begin{vmatrix}
3 & 0 & 2 \\
1 & 2 & 5 \\
2 & 0 & 1
\end{vmatrix} ∣ A ∣ = a 33 A 33 = 3 ⋅ ( − 1 ) 3 + 3 3 1 2 0 2 0 2 5 1
这个三阶行列式的第 2 2 2 列又只有 a 22 = 2 a_{22}=2 a 22 = 2 非零,再按第 2 2 2 列展开:
∣ 3 0 2 1 2 5 2 0 1 ∣ = 2 ⋅ ( − 1 ) 2 + 2 ∣ 3 2 2 1 ∣ = 2 ( 3 − 4 ) = − 2 \begin{vmatrix}
3 & 0 & 2 \\
1 & 2 & 5 \\
2 & 0 & 1
\end{vmatrix}=2\cdot(-1)^{2+2}\begin{vmatrix}
3 & 2 \\
2 & 1
\end{vmatrix}=2(3-4)=-2 3 1 2 0 2 0 2 5 1 = 2 ⋅ ( − 1 ) 2 + 2 3 2 2 1 = 2 ( 3 − 4 ) = − 2
于是 ∣ A ∣ = 3 × ( − 2 ) = − 6 |A|=3\times(-2)=-6 ∣ A ∣ = 3 × ( − 2 ) = − 6 。挑零多的行列展开,把一个四阶行列式两步压成了二阶。
如果用某一行的元素去乘 另一行 的代数余子式再求和,结果恒为 0 0 0 :
∑ j = 1 n a i j A k j = { ∣ A ∣ , i = k 0 , i ≠ k \sum_{j=1}^na_{ij}A_{kj}=\begin{cases}
|A|, & i=k \\
0, & i\ne k
\end{cases} j = 1 ∑ n a ij A k j = { ∣ A ∣ , 0 , i = k i = k
直观解释:i ≠ k i\ne k i = k 时,这个和相当于把矩阵的第 k k k 行换成了第 i i i 行(两行相同)的行列式,自然为 0 0 0 。这条恒等式正是 伴随矩阵 A A ∗ = ∣ A ∣ E AA^*=|A|E A A ∗ = ∣ A ∣ E 的来源(详见 矩阵 )。
最通用的方法:用 r i + k r j r_i+kr_j r i + k r j 把行列式化成上(下)三角形,再取对角线元素之积。整个过程行列式值不变(只用了「加倍数」变换),若中途交换了行别忘了变号。
例:算 ∣ 2 1 − 1 1 3 2 1 − 1 3 ∣ \begin{vmatrix}2&1&-1\\1&3&2\\1&-1&3\end{vmatrix} 2 1 1 1 3 − 1 − 1 2 3 。先用第 1 1 1 行把第 2 2 2 、3 3 3 行的首元消成 0 0 0 (r 2 − 1 2 r 1 r_2-\frac{1}{2} r_1 r 2 − 2 1 r 1 、r 3 − 1 2 r 1 r_3-\frac{1}{2} r_1 r 3 − 2 1 r 1 ,不变号):
∣ 2 1 − 1 1 3 2 1 − 1 3 ∣ → r 2 − 1 2 r 1 , r 3 − 1 2 r 1 ∣ 2 1 − 1 0 5 2 5 2 0 − 3 2 7 2 ∣ \begin{vmatrix}
2 & 1 & -1 \\
1 & 3 & 2 \\
1 & -1 & 3
\end{vmatrix}
\xrightarrow{r_2-\frac{1}{2} r_1,r_3-\frac{1}{2} r_1}
\begin{vmatrix}
2 & 1 & -1 \\
0 & \frac{5}{2} & \frac{5}{2} \\
0 & -\frac{3}{2} & \frac{7}{2}
\end{vmatrix} 2 1 1 1 3 − 1 − 1 2 3 r 2 − 2 1 r 1 , r 3 − 2 1 r 1 2 0 0 1 2 5 − 2 3 − 1 2 5 2 7
再用第 2 2 2 行消第 3 3 3 行(r 3 + 3 5 r 2 r_3+\frac{3}{5} r_2 r 3 + 5 3 r 2 ):
→ r 3 + 3 5 r 2 ∣ 2 1 − 1 0 5 2 5 2 0 0 5 ∣ = 2 ⋅ 5 2 ⋅ 5 = 25 \xrightarrow{r_3+\frac{3}{5} r_2}
\begin{vmatrix}
2 & 1 & -1 \\
0 & \frac{5}{2} & \frac{5}{2} \\
0 & 0 & 5
\end{vmatrix}=2\cdot\frac{5}{2}\cdot5=25 r 3 + 5 3 r 2 2 0 0 1 2 5 0 − 1 2 5 5 = 2 ⋅ 2 5 ⋅ 5 = 25
对角线相乘即得 25 25 25 。若嫌分数烦,也可先把首行首列凑出 1 1 1 再消,思路一致。
∣ a 11 ∗ ⋯ ∗ a 22 ⋯ ∗ ⋱ ⋮ 0 a n n ∣ = a 11 a 22 ⋯ a n n \begin{vmatrix}
a_{11} & * & \cdots & * \\
& a_{22} & \cdots & * \\
& & \ddots & \vdots \\
0 & & & a_{nn}
\end{vmatrix}=a_{11}a_{22}\cdots a_{nn} a 11 0 ∗ a 22 ⋯ ⋯ ⋱ ∗ ∗ ⋮ a nn = a 11 a 22 ⋯ a nn
上三角、下三角、对角行列式都等于 对角线元素之积 。
当各行(列)有公共规律时,给行列式补一行一列、凑出便于消元的结构,再展开化简。常用形式是在左上角添一个 1 1 1 、首行首列补上辅助元素,不改变原行列式的值。
例:算 n n n 阶行列式 D n = ∣ a + 1 1 ⋯ 1 1 a + 1 ⋯ 1 ⋮ ⋮ ⋱ ⋮ 1 1 ⋯ a + 1 ∣ D_n=\begin{vmatrix}a+1&1&\cdots&1\\1&a+1&\cdots&1\\\vdots&\vdots&\ddots&\vdots\\1&1&\cdots&a+1\end{vmatrix} D n = a + 1 1 ⋮ 1 1 a + 1 ⋮ 1 ⋯ ⋯ ⋱ ⋯ 1 1 ⋮ a + 1 (对角为 a + 1 a+1 a + 1 ,其余全 1 1 1 )。在左上角加一行一列:
D n = ∣ 1 1 1 ⋯ 1 0 a + 1 1 ⋯ 1 0 1 a + 1 ⋯ 1 ⋮ ⋮ ⋮ ⋱ ⋮ 0 1 1 ⋯ a + 1 ∣ D_n=\begin{vmatrix}
1 & 1 & 1 & \cdots & 1 \\
0 & a+1 & 1 & \cdots & 1 \\
0 & 1 & a+1 & \cdots & 1 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 1 & 1 & \cdots & a+1
\end{vmatrix} D n = 1 0 0 ⋮ 0 1 a + 1 1 ⋮ 1 1 1 a + 1 ⋮ 1 ⋯ ⋯ ⋯ ⋱ ⋯ 1 1 1 ⋮ a + 1
首列除左上角全为 0 0 0 ,按首列展开值不变。现在每一行(除首行)减去首行,把 a + 1 a+1 a + 1 变成 a a a 、把那些 1 1 1 变成 0 0 0 :
→ r i − r 1 ( i ≥ 2 ) ∣ 1 1 1 ⋯ 1 − 1 a 0 ⋯ 0 − 1 0 a ⋯ 0 ⋮ ⋮ ⋮ ⋱ ⋮ − 1 0 0 ⋯ a ∣ \xrightarrow{r_i-r_1(i\ge2)}
\begin{vmatrix}
1 & 1 & 1 & \cdots & 1 \\
-1 & a & 0 & \cdots & 0 \\
-1 & 0 & a & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
-1 & 0 & 0 & \cdots & a
\end{vmatrix} r i − r 1 ( i ≥ 2 ) 1 − 1 − 1 ⋮ − 1 1 a 0 ⋮ 0 1 0 a ⋮ 0 ⋯ ⋯ ⋯ ⋱ ⋯ 1 0 0 ⋮ a
再把第 2 ∼ ( n + 1 ) 2\sim(n+1) 2 ∼ ( n + 1 ) 列各乘 1 a \frac{1}{a} a 1 加到第 1 1 1 列(消去那些 − 1 -1 − 1 ),第 1 1 1 列左上角变成 1 + n a 1+\frac{n}{a} 1 + a n ,其余化零,化成下三角:
D n = ( 1 + n a ) a n = a n − 1 ( a + n ) D_n=\left(1+\frac{n}{a}\right)a^n=a^{n-1}(a+n) D n = ( 1 + a n ) a n = a n − 1 ( a + n )
验证 n = 1 n=1 n = 1 :原式应为 a + 1 a+1 a + 1 ,公式给 a 0 ( a + 1 ) = a + 1 a^0(a+1)=a+1 a 0 ( a + 1 ) = a + 1 ,吻合。
V n = ∣ 1 1 ⋯ 1 x 1 x 2 ⋯ x n x 1 2 x 2 2 ⋯ x n 2 ⋮ ⋮ ⋮ x 1 n − 1 x 2 n − 1 ⋯ x n n − 1 ∣ = ∏ 1 ≤ i < j ≤ n ( x j − x i ) V_n=\begin{vmatrix}
1 & 1 & \cdots & 1 \\
x_1 & x_2 & \cdots & x_n \\
x_1^2 & x_2^2 & \cdots & x_n^2 \\
\vdots & \vdots & & \vdots \\
x_1^{n-1} & x_2^{n-1} & \cdots & x_n^{n-1}
\end{vmatrix}=\prod_{1\le i<j\le n}(x_j-x_i) V n = 1 x 1 x 1 2 ⋮ x 1 n − 1 1 x 2 x 2 2 ⋮ x 2 n − 1 ⋯ ⋯ ⋯ ⋯ 1 x n x n 2 ⋮ x n n − 1 = 1 ≤ i < j ≤ n ∏ ( x j − x i )
只要 x 1 , x 2 , … , x n x_1,x_2,\dots,x_n x 1 , x 2 , … , x n 两两不同 ,范德蒙德行列式就非零。这一点在多项式插值、特征值理论里反复出现 —— 它保证了「过 n n n 个不同横坐标的点恰有唯一的 n − 1 n-1 n − 1 次插值多项式」。
例:算 ∣ 1 1 1 1 2 3 1 4 9 ∣ \begin{vmatrix}1&1&1\\1&2&3\\1&4&9\end{vmatrix} 1 1 1 1 2 4 1 3 9 。这是 x 1 = 1 , x 2 = 2 , x 3 = 3 x_1=1,x_2=2,x_3=3 x 1 = 1 , x 2 = 2 , x 3 = 3 的三阶范德蒙德行列式,直接套公式 ∏ i < j ( x j − x i ) \prod_{i<j}(x_j-x_i) ∏ i < j ( x j − x i ) :
( x 2 − x 1 ) ( x 3 − x 1 ) ( x 3 − x 2 ) = ( 2 − 1 ) ( 3 − 1 ) ( 3 − 2 ) = 1 ⋅ 2 ⋅ 1 = 2 (x_2-x_1)(x_3-x_1)(x_3-x_2)=(2-1)(3-1)(3-2)=1\cdot2\cdot1=2 ( x 2 − x 1 ) ( x 3 − x 1 ) ( x 3 − x 2 ) = ( 2 − 1 ) ( 3 − 1 ) ( 3 − 2 ) = 1 ⋅ 2 ⋅ 1 = 2
也可手算核对:第 1 1 1 行不动,r 3 − r 2 r_3-r_2 r 3 − r 2 、r 2 − r 1 r_2-r_1 r 2 − r 1 后按第 1 1 1 列展开同样得 2 2 2 。识别出范德蒙德结构,能省去整套消元。
若每一行元素之和都等于同一个常数 c c c ,可把各列加到第一列,提出公因子 c c c ,再化简。这类「轮换对称」的行列式常用此法。
例:算 ∣ 3 1 1 1 3 1 1 1 3 ∣ \begin{vmatrix}3&1&1\\1&3&1\\1&1&3\end{vmatrix} 3 1 1 1 3 1 1 1 3 。每行元素之和都是 5 5 5 ,把第 2 2 2 、3 3 3 列加到第 1 1 1 列,第 1 1 1 列全变成 5 5 5 ,提出公因子:
→ c 1 + c 2 + c 3 ∣ 5 1 1 5 3 1 5 1 3 ∣ = 5 ∣ 1 1 1 1 3 1 1 1 3 ∣ \xrightarrow{c_1+c_2+c_3}
\begin{vmatrix}
5 & 1 & 1 \\
5 & 3 & 1 \\
5 & 1 & 3
\end{vmatrix}
=5\begin{vmatrix}
1 & 1 & 1 \\
1 & 3 & 1 \\
1 & 1 & 3
\end{vmatrix} c 1 + c 2 + c 3 5 5 5 1 3 1 1 1 3 = 5 1 1 1 1 3 1 1 1 3
再 r 2 − r 1 r_2-r_1 r 2 − r 1 、r 3 − r 1 r_3-r_1 r 3 − r 1 把第 1 1 1 列下方消零,化成上三角:
= 5 ∣ 1 1 1 0 2 0 0 0 2 ∣ = 5 ⋅ 1 ⋅ 2 ⋅ 2 = 20 =5\begin{vmatrix}
1 & 1 & 1 \\
0 & 2 & 0 \\
0 & 0 & 2
\end{vmatrix}=5\cdot1\cdot2\cdot2=20 = 5 1 0 0 1 2 0 1 0 2 = 5 ⋅ 1 ⋅ 2 ⋅ 2 = 20
只有主对角线及其上下两条相邻对角线非零的行列式称 三对角行列式 。它没有简单闭式,但按第一行(列)展开会落到 递推关系 上。设:
D n = ∣ a b c a b c a ⋱ ⋱ ⋱ b c a ∣ D_n=\begin{vmatrix}
a & b & & & \\
c & a & b & & \\
& c & a & \ddots & \\
& & \ddots & \ddots & b \\
& & & c & a
\end{vmatrix} D n = a c b a c b a ⋱ ⋱ ⋱ c b a
按第一行展开,第二项再按其第一列展开,得到递推式:
D n = a D n − 1 − b c D n − 2 D_n=aD_{n-1}-bcD_{n-2} D n = a D n − 1 − b c D n − 2
例:算主对角全 2 2 2 、上下相邻对角全 1 1 1 的 n n n 阶行列式(a = 2 , b = c = 1 a=2,b=c=1 a = 2 , b = c = 1 )。递推为 D n = 2 D n − 1 − D n − 2 D_n=2D_{n-1}-D_{n-2} D n = 2 D n − 1 − D n − 2 ,初值 D 1 = 2 D_1=2 D 1 = 2 、D 2 = ∣ 2 1 1 2 ∣ = 3 D_2=\begin{vmatrix}2&1\\1&2\end{vmatrix}=3 D 2 = 2 1 1 2 = 3 。逐项算:D 3 = 2 ⋅ 3 − 2 = 4 D_3=2\cdot3-2=4 D 3 = 2 ⋅ 3 − 2 = 4 ,D 4 = 2 ⋅ 4 − 3 = 5 D_4=2\cdot4-3=5 D 4 = 2 ⋅ 4 − 3 = 5 ,看出规律 D n = n + 1 D_n=n+1 D n = n + 1 。它正是特征方程 x 2 − 2 x + 1 = 0 x^2-2x+1=0 x 2 − 2 x + 1 = 0 有重根 x = 1 x=1 x = 1 的情形,通解形如 ( A + B n ) ⋅ 1 n (A+Bn)\cdot1^n ( A + B n ) ⋅ 1 n ,代初值得 D n = n + 1 D_n=n+1 D n = n + 1 。
设线性方程组 A x ⃗ = b ⃗ A\vec x=\vec b A x = b ,其中 A A A 是 n n n 阶方阵且 ∣ A ∣ ≠ 0 |A|\ne 0 ∣ A ∣ = 0 ,则方程组有 唯一解 :
x j = ∣ A j ∣ ∣ A ∣ , j = 1 , 2 , … , n x_j=\frac{|A_j|}{|A|},j=1,2,\dots,n x j = ∣ A ∣ ∣ A j ∣ , j = 1 , 2 , … , n
其中 A j A_j A j 是把 A A A 的第 j j j 列换成常数列 b ⃗ \vec b b 得到的矩阵。
例:用克拉默法则解 { x 1 + x 2 + x 3 = 6 x 1 − x 2 + 2 x 3 = 5 2 x 1 + x 2 − x 3 = 1 \begin{cases}x_1+x_2+x_3=6\\x_1-x_2+2x_3=5\\2x_1+x_2-x_3=1\end{cases} ⎩ ⎨ ⎧ x 1 + x 2 + x 3 = 6 x 1 − x 2 + 2 x 3 = 5 2 x 1 + x 2 − x 3 = 1 。系数行列式:
∣ A ∣ = ∣ 1 1 1 1 − 1 2 2 1 − 1 ∣ = 1 ( 1 − 2 ) − 1 ( − 1 − 4 ) + 1 ( 1 + 2 ) = − 1 + 5 + 3 = 7 ≠ 0 |A|=\begin{vmatrix}
1 & 1 & 1 \\
1 & -1 & 2 \\
2 & 1 & -1
\end{vmatrix}=1(1-2)-1(-1-4)+1(1+2)=-1+5+3=7\ne0 ∣ A ∣ = 1 1 2 1 − 1 1 1 2 − 1 = 1 ( 1 − 2 ) − 1 ( − 1 − 4 ) + 1 ( 1 + 2 ) = − 1 + 5 + 3 = 7 = 0
非零,故有唯一解。把第 1 1 1 列换成常数列 ( 6 , 5 , 1 ) T (6,5,1)^T ( 6 , 5 , 1 ) T :
∣ A 1 ∣ = ∣ 6 1 1 5 − 1 2 1 1 − 1 ∣ = 6 ( 1 − 2 ) − 1 ( − 5 − 2 ) + 1 ( 5 + 1 ) = − 6 + 7 + 6 = 7 |A_1|=\begin{vmatrix}
6 & 1 & 1 \\
5 & -1 & 2 \\
1 & 1 & -1
\end{vmatrix}=6(1-2)-1(-5-2)+1(5+1)=-6+7+6=7 ∣ A 1 ∣ = 6 5 1 1 − 1 1 1 2 − 1 = 6 ( 1 − 2 ) − 1 ( − 5 − 2 ) + 1 ( 5 + 1 ) = − 6 + 7 + 6 = 7
换第 2 2 2 列、第 3 3 3 列同理:
∣ A 2 ∣ = ∣ 1 6 1 1 5 2 2 1 − 1 ∣ = 14 , ∣ A 3 ∣ = ∣ 1 1 6 1 − 1 5 2 1 1 ∣ = 21 |A_2|=\begin{vmatrix}
1 & 6 & 1 \\
1 & 5 & 2 \\
2 & 1 & -1
\end{vmatrix}=14,
|A_3|=\begin{vmatrix}
1 & 1 & 6 \\
1 & -1 & 5 \\
2 & 1 & 1
\end{vmatrix}=21 ∣ A 2 ∣ = 1 1 2 6 5 1 1 2 − 1 = 14 , ∣ A 3 ∣ = 1 1 2 1 − 1 1 6 5 1 = 21
于是 x 1 = ∣ A 1 ∣ ∣ A ∣ = 1 x_1=\frac{|A_1|}{|A|}=1 x 1 = ∣ A ∣ ∣ A 1 ∣ = 1 、x 2 = 14 7 = 2 x_2=\frac{14}{7}=2 x 2 = 7 14 = 2 、x 3 = 21 7 = 3 x_3=\frac{21}{7}=3 x 3 = 7 21 = 3 。代回原方程:1 + 2 + 3 = 6 1+2+3=6 1 + 2 + 3 = 6 、1 − 2 + 6 = 5 1-2+6=5 1 − 2 + 6 = 5 、2 + 2 − 3 = 1 2+2-3=1 2 + 2 − 3 = 1 ,全部吻合。
克拉默法则在 理论上 很漂亮(给出解的闭式表达),但 计算上很笨 :解 n n n 元方程组要算 n + 1 n+1 n + 1 个 n n n 阶行列式,远不如高斯消元高效。它的主要价值是理论分析,以及强调「∣ A ∣ ≠ 0 |A|\ne 0 ∣ A ∣ = 0 」这个唯一解的前提。
克拉默法则只在 系数矩阵为方阵且 ∣ A ∣ ≠ 0 |A|\ne 0 ∣ A ∣ = 0 时适用。一旦 ∣ A ∣ = 0 |A|=0 ∣ A ∣ = 0 ,法则失效,方程组要么无解、要么有无穷多解,此时只能改用 增广矩阵的秩 来判定(详见 线性方程组与向量组 )。
对齐次方程组 A x ⃗ = 0 ⃗ A\vec x=\vec 0 A x = 0 (A A A 为方阵):
∣ A ∣ ≠ 0 |A|\ne 0 ∣ A ∣ = 0 :只有 零解 。
∣ A ∣ = 0 |A|=0 ∣ A ∣ = 0 :有 非零解 。
几何上,∣ A ∣ = 0 |A|=0 ∣ A ∣ = 0 意味着变换把空间压扁,于是有非零向量被映成 0 ⃗ \vec 0 0 。
行列式 det A \det A det A 矩阵 A A A ≠ 0 \ne 0 = 0 可逆(非奇异),r ( A ) = n r(A)=n r ( A ) = n = 0 =0 = 0 不可逆(奇异),r ( A ) < n r(A)<n r ( A ) < n
这张表是连接 行列式、可逆性、秩、方程组解的存在性 的枢纽,后续章节会反复用到。详见 矩阵 。