Chapter 07

行列式

递归定义、几何意义、性质、按行展开与克拉默法则

01

核心概念

行列式的递归定义

n×n 矩阵 A 的行列式 det(A) 递归定义如下:

2×2 与 3×3 行列式
| a b | = ad - bc
| c d |

| a b c |
| d e f | = a(ei-fh) - b(di-fg) + c(dh-eg)
| g h i |

几何意义:有向体积

行列式的绝对值等于矩阵列向量所张成的平行多面体的体积。符号则表示定向:

3Blue1Brown 的直觉

线性变换将单位立方体变为由列向量张成的平行多面体。行列式就是这个变换的"体积缩放因子"。若 det(A) = 2,则变换后任何区域的面积(或体积)都变为原来的 2 倍;若 det(A) = -1,则体积不变但定向翻转。

行列式的三大性质

  1. 单位矩阵:det(I) = 1。
  2. 行交换变号:交换两行,行列式乘以 -1。
  3. 行线性性:对某一行满足线性性质——该行乘以 k,行列式乘以 k;将一行的倍数加到另一行,行列式不变。

由这三大性质可以推导出所有其他性质,如 det(AB) = det(A)det(B),det(Aᵀ) = det(A) 等。

按行(列)展开

对任意第 i 行展开:

det(A) = Σⱼ (-1)ⁱ⁺ʲ aᵢⱼ det(Aᵢⱼ)

其中 (-1)ⁱ⁺ʲ det(Aᵢⱼ) 称为元素 aᵢⱼ 的代数余子式(cofactor) Cᵢⱼ。按含有较多零的行或列展开可大幅简化计算。

克拉默法则

若 n×n 矩阵 A 可逆(det(A) ≠ 0),则方程组 Ax = b 的唯一解为:

xᵢ = det(Aᵢ) / det(A)

其中 Aᵢ 是将 A 的第 i 列替换为 b 后得到的矩阵。

克拉默法则的实用价值

虽然克拉默法则在数值计算中效率低下(O(n!) 复杂度),但它在理论分析中极为重要:它明确展示了解与系数、右端项之间的代数关系,是研究灵敏度分析和摄动理论的基础。

02

计算方法

2×2 和 3×3 直接计算

对于小型矩阵,直接使用对角线法则或按行展开即可。

用性质简化计算

高斯消元不改变行列式的绝对值(交换行变号),将矩阵化为上三角后,行列式等于对角元之积:

det(A) = (-1)ˢ · u₁₁ · u₂₂ · ... · uₙₙ

其中 s 是消元过程中行交换的次数。这是数值计算中最稳定、最高效的方法。

按行展开的技巧

  1. 优先选择含有最多零元素的行或列展开。
  2. 先用初等变换在某一行/列制造更多零,再展开。
  3. 注意:某行乘以 k 会使行列式乘以 k,不要与"倍加"变换混淆。
03

工程应用

雅可比行列式(坐标变换)

在多元微积分中,变量替换 x = x(u,v), y = y(u,v) 时,面积微元 dxdy 变为 |J| dudv,其中 J 是雅可比矩阵的行列式。这一思想推广到高维即是一般换元积分公式,是微分几何和张量分析的基础。

电路传输矩阵行列式

在二端口网络分析中,传输矩阵(ABCD矩阵)的行列式通常为 1(对于互易网络)。这个性质保证了信号功率在网络中的守恒,是微波工程和通信系统设计中的重要约束条件。

稳定性分析(劳斯判据前置)

控制系统的稳定性分析中,特征方程 det(sI - A) = 0 的根决定了系统的稳定性。劳斯-赫尔维茨判据通过构造行列式判断特征根是否全部位于左半平面,无需显式求解特征值,是经典控制理论的核心工具。

面积与体积计算

计算几何中,三角形面积可由顶点坐标构成的行列式直接得到;四面体体积同理。计算机图形学中的叉积本质上就是 2×2 行列式,而混合积则是 3×3 行列式,广泛用于碰撞检测、法向量计算和可见面判定。

04

例题

例题 7.1

计算行列式:

| 2 1 3 |
| 0 4 1 |
| 1 2 5 |

按第一行展开(或直接用 3×3 公式):

det = 2·(4×5 - 1×2) - 1·(0×5 - 1×1) + 3·(0×2 - 4×1)

= 2·(20-2) - 1·(0-1) + 3·(0-4)

= 2×18 + 1 - 12

= 36 + 1 - 12 = 25

det(A) = 25
例题 7.2

用初等变换将下列矩阵化为上三角,并求行列式:

A = [ 2 4 6 ]
     [ 1 3 5 ]
     [ 0 2 4 ]

R₂ ← R₂ - (1/2)R₁(倍加变换,行列式不变):

[ 2 4 6 ]
[ 0 1 2 ]
[ 0 2 4 ]

R₃ ← R₃ - 2R₂(倍加变换):

[ 2 4 6 ]
[ 0 1 2 ]
[ 0 0 0 ]

上三角矩阵对角元之积:2 × 1 × 0 = 0。

det(A) = 0
例题 7.3

判断矩阵 A 是否可逆,若可逆求 A⁻¹ 的第一列:

A = [ 1 2 0 ]
     [ 0 1 2 ]
     [ 2 0 1 ]

计算 det(A):

det(A) = 1·(1×1 - 2×0) - 2·(0×1 - 2×2) + 0

= 1·1 - 2·(-4) = 1 + 8 = 9 ≠ 0

故 A 可逆。

求 A⁻¹ 第一列即解 Ax = e₁ = (1,0,0)ᵀ。由克拉默法则:

x₁ = det(A₁)/det(A),其中 A₁ = [e₁ | a₂ | a₃]。

det(A₁) = | 1 2 0 | = 1·(1×1-2×0) - 2·(0×1-2×0) + 0 = 1
              | 0 1 2 |
              | 0 0 1 |

x₁ = 1/9。类似可求得 x₂ = -2/9, x₃ = 4/9。

A⁻¹ 的第一列为 (1/9, -2/9, 4/9)ᵀ,det(A) = 9
例题 7.4

用克拉默法则解方程组:

2x + y = 5
x - 3y = 6

A = [2 1], b = [5]

     [1 -3]       [6]

det(A) = 2×(-3) - 1×1 = -7。

A₁ = [5 1], det(A₁) = 5×(-3) - 1×6 = -21。

       [6 -3]

A₂ = [2 5], det(A₂) = 2×6 - 5×1 = 7。

       [1 6]

x = det(A₁)/det(A) = -21/(-7) = 3。

y = det(A₂)/det(A) = 7/(-7) = -1。

x = 3, y = -1
05

MATLAB 实践

计算行列式与判断可逆性

MATLAB
% 定义矩阵 A = [2 1 3; 0 4 1; 1 2 5]; % 计算行列式 d = det(A); disp(['det(A) = ', num2str(d)]); % 判断可逆性 if abs(d) > 1e-10 disp('A 可逆'); invA = inv(A); disp('逆矩阵 A^{-1}:'); disp(invA); else disp('A 不可逆'); end

几何可视化:行列式与面积缩放

MATLAB
% 定义变换矩阵 T = [2 1; 1 3]; % 单位正方形的顶点 unit_sq = [0 1 1 0 0; 0 0 1 1 0]; % 变换后的顶点 transformed = T * unit_sq; % 计算面积缩放因子 scale = abs(det(T)); disp(['面积缩放因子 = ', num2str(scale)]); % 绘制原图形与变换后图形 figure; fill(unit_sq(1,:), unit_sq(2,:), [0.9 0.9 0.9], 'EdgeColor', 'k'); hold on; fill(transformed(1,:), transformed(2,:), [0.6 0.8 1], 'EdgeColor', 'b', 'FaceAlpha', 0.5); axis equal; grid on; legend('原单位正方形', '变换后'); title('行列式 = 面积缩放因子');

结果展示

MATLAB 命令行输出如下:

MATLAB 输出
det(A) = 25 A 可逆 逆矩阵 A^{-1}: 0.7200 -0.0400 -0.4400 -0.0400 0.2800 -0.0400 -0.1600 -0.1200 0.3200 面积缩放因子 = 5
行列式的几何意义:面积缩放因子
← 上一章:线性方程组 下一章:特征值与特征向量 →