MathLabs

代数学

矩阵与行列式

矩形排列的数表,以及衡量其对体积缩放程度的标量——行列式。

直观直觉:矩阵是重塑空间的一台机器

矩阵是一张矩形排列的数表,但它最有用之处在于:它是一套固定的线性规则,把一个向量变成另一个向量——这里拉伸、那里旋转、有时还会翻转。行列式是附着在方阵上的一个数,它回答一个非常具体的问题:这个矩阵把面积(在平面上)或体积(在空间中)按什么倍数缩放,并且在这个过程中是否翻转了方向(左手系变成右手系)?行列式为 00 意味着矩阵把空间彻底压扁,完全丢失了一个维度——正是这一个事实,几乎决定了这个矩阵的其他所有性质,包括它是否可以被"撤销"。

一个可交互旋转的四维超立方体投影图,用于说明线性变换。
2×22\times 2 矩阵 A=(a11a12a21a22)A = \begin{pmatrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{pmatrix} 对平面的线性变换:单位正方形变为有向面积为 det⁡A=a11a22−a12a21\det A = a_{11}a_{22} - a_{12}a_{21} 的平行四边形。

中学矩阵乘法与行列式公式

定义: 矩阵乘法

若 AA 是 m×nm\times n 矩阵,BB 是 n×pn\times p 矩阵,则它们的乘积 C=ABC=AB 是一个 m×pm\times p 矩阵,其元素为 Cij=∑k=1nAikBkjC_{ij} = \sum_{k=1}^{n} A_{ik}B_{kj}:CC 的第 (i,j)(i,j) 个元素是 AA 的第 ii 行与 BB 的第 jj 列的点积。

Cij=∑k=1nAikBkjC_{ij} = \sum_{k=1}^{n} A_{ik}B_{kj}

这里 AikA_{ik} 是 AA 第 ii 行第 kk 列的元素,BkjB_{kj} 是 BB 第 kk 行第 jj 列的元素;求和是对共同的内部指标 kk 进行的,这正是为何 AA 的列数必须等于 BB 的行数,乘积才有定义。

定义: 行列式(莱布尼茨公式)

对于 n×nn\times n 方阵 AA,行列式定义为 det⁡(A)=∑σ∈Snsgn⁡(σ)∏i=1nai,σ(i)\det(A)=\sum_{\sigma\in S_n}\operatorname{sgn}(\sigma)\prod_{i=1}^n a_{i,\sigma(i)},对 {1,…,n}\{1,\dots,n\} 的每一个置换 σ\sigma 求和,其中根据 σ\sigma 是偶置换还是奇置换,sgn⁡(σ)=+1\operatorname{sgn}(\sigma)=+1 或 −1-1。当 n=2,3n=2,3 时,这个公式展开为下面熟悉的余子式展开公式。

det⁡(abcd)=ad−bc\det\begin{pmatrix}a&b\\ c&d\end{pmatrix}=ad-bc

对于 2×22\times 2 矩阵,det⁡(abcd)=ad−bc\det\begin{pmatrix}a&b\\ c&d\end{pmatrix}=ad-bc 恰好是由行向量 (a,b)(a,b) 与 (c,d)(c,d) 所张成的平行四边形的带符号面积:{1,2}\{1,2\} 的两个置换分别是恒等置换(贡献 +ad+ad)和对换(贡献 −bc-bc)。

det⁡(a11a12a13a21a22a23a31a32a33)=a11(a22a33−a23a32)−a12(a21a33−a23a31)+a13(a21a32−a22a31)\det\begin{pmatrix}a_{11}&a_{12}&a_{13}\\ a_{21}&a_{22}&a_{23}\\ a_{31}&a_{32}&a_{33}\end{pmatrix}=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})

对于 3×33\times 3 矩阵,det⁡(a11a12a13a21a22a23a31a32a33)=a11(a22a33−a23a32)−a12(a21a33−a23a31)+a13(a21a32−a22a31)\det\begin{pmatrix}a_{11}&a_{12}&a_{13}\\ a_{21}&a_{22}&a_{23}\\ a_{31}&a_{32}&a_{33}\end{pmatrix}=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}) 是沿第一行的余子式展开:沿第 11 行展开,把每个元素 a1ja_{1j} 乘以删去第 11 行和第 jj 列后剩下的 2×22\times 2 矩阵的行列式,并让符号在 j=1,2,3j=1,2,3 之间交替取 +,−,++,-,+。

基本行变换对行列式的影响
行变换对 det⁡\det 的影响
交换两行把 det⁡\det 乘以 −1-1
把某一行乘以 kk把 det⁡\det 乘以 kk
把某行的 kk 倍加到另一行上det⁡\det 不变
两行相等或成比例det⁡=0\det=0

大学定理:行列式的乘性与可逆性判据

对任意两个 n×nn\times n 矩阵 A,BA,B,都有 det⁡(AB)=det⁡(A)det⁡(B)\det(AB)=\det(A)\det(B)。

为什么成立?

由于行列式衡量的是线性映射对体积的缩放程度,先作用映射 BB、再作用映射 AA,体积应当先按 BB 的倍数缩放,再按 AA 的倍数缩放,也就是按这两个倍数的乘积缩放——乘性正是"复合线性映射就复合它们的体积缩放倍数"这一事实的代数表述。

证明

首先回顾三种基本行变换对行列式的影响(这可以直接从莱布尼茨求和式 det⁡(A)=∑σ∈Snsgn⁡(σ)∏i=1nai,σ(i)\det(A)=\sum_{\sigma\in S_n}\operatorname{sgn}(\sigma)\prod_{i=1}^n a_{i,\sigma(i)} 得出,因为该和式的每一项分别对每一行都是线性的):交换两行使 det⁡\det 乘以 −1-1,把某一行乘以 kk 使 det⁡\det 乘以 kk,把某一行的若干倍加到另一行上则 det⁡\det 不变。

对 AA 施行的每一个基本行变换,都等价于用相应的初等矩阵 EE 左乘 AA(把同一变换施加到单位矩阵 II 上即可得到)。与上一段对照可知,det⁡(E)\det(E) 恰好等于该变换的缩放系数(−1-1、kk 或 11),所以对每个初等矩阵 EE,都有 det⁡(EA)=det⁡(E)det⁡(A)\det(EA)=\det(E)\det(A)。

情形一,AA 可逆:高斯消元法用有限次基本行变换把任意可逆矩阵化为单位矩阵,即存在初等矩阵 E1,…,EmE_1,\dots,E_m 使 Em⋯E1A=IE_m\cdots E_1A=I,于是 A=E1−1⋯Em−1A=E_1^{-1}\cdots E_m^{-1},它本身就是初等矩阵的乘积(初等矩阵的逆也是同类型的初等矩阵)。反复利用上一段的等式,得 det⁡(A)=det⁡(E1−1)⋯det⁡(Em−1)\det(A)=\det(E_1^{-1})\cdots\det(E_m^{-1});再把它用到 AB=E1−1⋯Em−1BAB=E_1^{-1}\cdots E_m^{-1}B 上,得 det⁡(AB)=det⁡(E1−1)⋯det⁡(Em−1)det⁡(B)=det⁡(A)det⁡(B)\det(AB)=\det(E_1^{-1})\cdots\det(E_m^{-1})\det(B)=\det(A)\det(B)。

情形二,AA 奇异:此时 det⁡(A)=0\det(A)=0(奇异矩阵不能完全化为单位矩阵,上面的行变换规则表明,任何能达到的行阶梯形仍含有一行全为零,沿该行做余子式展开就迫使 det⁡=0\det=0)。奇异还意味着 rank⁡(A)<n\operatorname{rank}(A)<n,而对任意 BB 都有 rank⁡(AB)≤rank⁡(A)<n\operatorname{rank}(AB)\leq\operatorname{rank}(A)<n,所以乘积 ABAB 也是奇异的,从而 det⁡(AB)=0\det(AB)=0。因此 det⁡(AB)=0=0⋅det⁡(B)=det⁡(A)det⁡(B)\det(AB)=0=0\cdot\det(B)=\det(A)\det(B),等式在这种情形下同样成立,至此对一切 AA 完成证明。

方阵 AA 可逆的充要条件是 det⁡(A)≠0\det(A)\neq 0;当它可逆时,A−1=1det⁡(A)adj⁡(A)A^{-1}=\dfrac{1}{\det(A)}\operatorname{adj}(A),其中 adj⁡(A)\operatorname{adj}(A) 是伴随矩阵(余子式矩阵的转置)。

为什么成立?

一个线性映射能被"撤销",恰好发生在它没有把空间压缩到更低维度的时候——由于行列式正好衡量的就是"它是否把体积压缩为零"这个问题,所以可逆性与 det⁡≠0\det\neq 0 其实是同一个论断从两个角度看到的结果:一个是代数角度(是否存在逆矩阵),一个是几何角度(体积缩放系数是否非零)。

证明

(⇒\Rightarrow)假设 AA 可逆,于是存在矩阵 A−1A^{-1} 使 AA−1=IAA^{-1}=I。应用上面已证明的乘性定理,得 det⁡(A)det⁡(A−1)=det⁡(AA−1)=det⁡(I)=1\det(A)\det(A^{-1})=\det(AA^{-1})=\det(I)=1。由于 det⁡(A)\det(A) 与 det⁡(A−1)\det(A^{-1}) 这两个数的乘积等于 11,它们都不能为 00——所以 det⁡(A)≠0\det(A)\neq 0。

(⇐\Leftarrow)以 2×22\times 2 情形具体验证:设 A=(abcd)A=\begin{pmatrix}a&b\\ c&d\end{pmatrix} 满足 det⁡(A)=ad−bc≠0\det(A)=ad-bc\neq 0。定义 adj⁡(A)=(d−b−ca)\operatorname{adj}(A)=\begin{pmatrix}d&-b\\ -c&a\end{pmatrix}。直接相乘,A⋅adj⁡(A)=(abcd)(d−b−ca)=(ad−bc−ab+abcd−cd−cb+ad)=(ad−bc00ad−bc)=det⁡(A) IA\cdot\operatorname{adj}(A)=\begin{pmatrix}a&b\\ c&d\end{pmatrix}\begin{pmatrix}d&-b\\ -c&a\end{pmatrix}=\begin{pmatrix}ad-bc&-ab+ab\\ cd-cd&-cb+ad\end{pmatrix}=\begin{pmatrix}ad-bc&0\\ 0&ad-bc\end{pmatrix}=\det(A)\,I,这恰好就是等式 A⋅adj⁡(A)=det⁡(A) IA\cdot\operatorname{adj}(A)=\det(A)\,I。按相反顺序做同样的计算,同样得到 adj⁡(A)⋅A=det⁡(A) I\operatorname{adj}(A)\cdot A=\det(A)\,I。

因为 det⁡(A)≠0\det(A)\neq 0,把 A⋅adj⁡(A)=det⁡(A)IA\cdot\operatorname{adj}(A)=\det(A)I 两边同除以标量 det⁡(A)\det(A),得到 A⋅adj⁡(A)det⁡(A)=IA\cdot\dfrac{\operatorname{adj}(A)}{\det(A)}=I,同样按相反顺序也得到 adj⁡(A)det⁡(A)⋅A=I\dfrac{\operatorname{adj}(A)}{\det(A)}\cdot A=I。这就给出了一个显式的双侧逆矩阵 A−1=1det⁡(A)adj⁡(A)A^{-1}=\dfrac{1}{\det(A)}\operatorname{adj}(A),所以 AA 可逆。

对于一般的 nn(以 n=3n=3 为例说明),同样的论证依然有效,因为拉普拉斯余子式展开给出 ∑jaijCij=det⁡(A)\sum_j a_{ij}C_{ij}=\det(A)(沿第 ii 行展开),而当 i≠ki\neq k 时 ∑jaijCkj=0\sum_j a_{ij}C_{kj}=0(这个和是把第 ii 行复制到第 kk 行所得矩阵的余子式展开,该矩阵有两行相等,由上表知其行列式为 00)。把这些逐行的等式组合成矩阵形式,对任意 nn 都恰好给出 A⋅adj⁡(A)=det⁡(A)IA\cdot\operatorname{adj}(A)=\det(A)I,所以只要 det⁡(A)≠0\det(A)\neq 0,就可以像 2×22\times 2 情形那样通过除法得到 A−1=adj⁡(A)/det⁡(A)A^{-1}=\operatorname{adj}(A)/\det(A);反之,若 det⁡(A)=0\det(A)=0,第一段的逆否命题就完全排除了可逆性,因为 det⁡(A)det⁡(A−1)=1\det(A)\det(A^{-1})=1 会强行要求 det⁡(A)≠0\det(A)\neq 0。这样就从两个方向证明了这个判据。

大学实际应用与典型例题

行列式让工程师可以用一个显式公式(克拉默法则)而不是消元法来求解小型线性方程组,也让计算机图形程序只用一个数就能判断一个变换是保持方向还是翻转方向、以及把面积按什么倍数缩放——这两者都是 det⁡≠0\det\neq 0 意味着"可逆"、∣det⁡∣|\det| 意味着"缩放系数"这一事实的直接应用。

例题: 工程:用克拉默法则求解双回路电路

把基尔霍夫定律用于一个双回路电路,得到关于两个回路电流 x,yx,y(单位:安培)的线性方程组 3x+y=113x+y=11 和 x+2y=8x+2y=8。用行列式求出 xx 和 yy。

解答

把方程组写成矩阵方程 (3112)(xy)=(118)\begin{pmatrix}3&1\\1&2\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}=\begin{pmatrix}11\\8\end{pmatrix}。系数矩阵满足 det⁡=3×2−1×1=6−1=5≠0\det=3\times2-1\times1=6-1=5\neq 0,由可逆性判据知方程组有唯一解,可以使用克拉默法则。

克拉默法则给出 x=det⁡(11182)det⁡(3112)x=\dfrac{\det\begin{pmatrix}11&1\\8&2\end{pmatrix}}{\det\begin{pmatrix}3&1\\1&2\end{pmatrix}}:把系数矩阵的第一列替换为方程右边的常数列,求其行列式,再除以原来的行列式。分子为 11×2−1×8=22−8=1411\times2-1\times8=22-8=14,所以 x=14/5=2.8x=14/5=2.8 安培。

同理 y=det⁡(31118)5y=\dfrac{\det\begin{pmatrix}3&11\\1&8\end{pmatrix}}{5}:这次替换第二列。分子为 3×8−11×1=24−11=133\times8-11\times1=24-11=13,所以 y=13/5=2.6y=13/5=2.6 安培。

验证:3(2.8)+2.6=8.4+2.6=113(2.8)+2.6=8.4+2.6=11 ✓,且 2.8+2(2.6)=2.8+5.2=82.8+2(2.6)=2.8+5.2=8 ✓,确认 x=2.8x=2.8 安培、y=2.6y=2.6 安培恰好满足电路方程。

例题: 计算机图形学:一个变换是否翻转图形,又把面积缩放了多少倍?

一个二维图形引擎把变换矩阵 M=(2143)M=\begin{pmatrix}2&1\\4&3\end{pmatrix} 应用到一个面积为 55 平方单位的图形的每一个点上。判断变换后的图形相对于原图形是否发生了镜像翻转,并求变换后图形的面积。

解答

计算 MM 的行列式:det⁡(M)=2×3−1×4=6−4=2\det(M)=2\times3-1\times4=6-4=2。

det⁡(M)\det(M) 的符号告诉我们方向信息:因为 det⁡(M)=2>0\det(M)=2>0,该变换保持方向,所以图形没有发生镜像翻转(行列式为负则表示发生了翻转,因为这意味着矩阵内蕴含了奇数次反射)。

∣det⁡(M)∣|\det(M)| 的大小告诉我们面积缩放系数:变换后,任何区域的面积都会乘以 ∣det⁡(M)∣=2|\det(M)|=2,与该区域的形状无关,因为这正是前面所确立的行列式的几何意义。

所以变换后的图形面积为 5×∣det⁡(M)∣=5×2=105\times|\det(M)|=5\times2=10 平方单位,并且保持与原图形相同的方向(未翻转)。

求 det⁡(2513)\det\begin{pmatrix}2&5\\1&3\end{pmatrix}。

若两个 n×nn\times n 矩阵满足 det⁡(A)=3\det(A)=3、det⁡(B)=4\det(B)=4,求 det⁡(AB)\det(AB)。

下列哪个矩阵不存在逆矩阵?

某图形变换矩阵满足 det⁡=−3\det=-3。这说明了什么?

参考文献

  1. Eric W. Weisstein (MathWorld) (2024). Determinant
  2. Gilbert Strang (2016). Introduction to Linear Algebra