为什么用一个数概括矩阵
消元通过把方阵化为主元方程来判断可逆性。行列式则用一个标量记录同一区别:它非零,当且仅当矩阵可逆。这个标量的构造从带符号的子式展开开始,随后由展开推导它在消元中的变化规律。
构造是递归的:n 阶行列式用 n−1 阶行列式表示,最后在 1×1
情形停止。每个较小行列式前面的符号都很重要;即使所有子式都算对,
漏掉一个负号也会改变最终答案。
概念视角结构
同一个标量的两种读法
递归展开是一种算法性计算:选一个项,删去它所在的行和列,再对较
小的行列式继续计算。同一个数也有结构性意义:零行、相同行和三角
形状会给出可预测的值。这些结构规则来自展开公式。余因子是带符号的标量,并不是矩阵中新添的一行或一列。
从较小矩阵构造行列式
定义
子矩阵、子式与余因子
设 A=[aij] 是一个 n×n 矩阵,其中 n≥2。给定
1≤i,j≤n,同时删去第 i 行与第 j 列,所得的
(n−1)×(n−1) 矩阵记为子矩阵 A(i∣j)。
属于项 aij 的子式是标量
Mij=det(A(i∣j))属于项 aij 的余因子是带符号标量
Cij=(−1)i+jMij符号形成左上角为正的棋盘:
+−+⋮−+−⋮+−+⋮⋯⋯⋯⋱A(i∣j) 表示一个矩阵,Mij 是该矩阵的行列式,
Cij=(−1)i+jMij 则是加上符号后的标量。明确区分这三个对象,
就不会把符号错误地乘两次。
定义
行列式的递归定义
对于 1×1 矩阵 [a11],定义
det([a11])=a11对于 n>1 的 n×n 矩阵,沿第一行定义
det(A)=j=1∑na1jC1j=j=1∑n(−1)1+ja1jM1j这是定义,还不是关于其他行或列的定理。每个子式的阶数都是 n−1,
所以反复使用定义最终会到达 1×1 基本情形。不需要约定
0×0 行列式:子矩阵和子式的定义只用于 n≥2。
选择合适的行或列展开
定理
沿任意一行或一列展开
若 A=[aij] 是 n≥2 阶方阵,对每个固定的行指标 i,有
det(A)=j=1∑n(−1)i+jaijMij相应的任意列展开是:对每个固定的列指标 j,
det(A)=i=1∑n(−1)i+jaijMij因此,第一行公式是递归定义;任意行或任意列公式则是说明展开位置可以
改变、但行列式不变的定理。一般证明在本节省略,以下结论严格按此定理
使用。
结构规则为何成立
零行、零列与唯一支撑项
定理
有零行或零列时行列式为零
如果方阵的一整行或一整列的每个项都是零,则它的行列式为零。
定理
某行或某列至多有一个非零项
设 C 是 n≥2 阶方阵。若第 k 行除 ckℓ 外都为零,则
det(C)=ckℓ(−1)k+ℓdet(C(k∣ℓ))若第 ℓ 列除 ckℓ 外都为零,也有同一公式。即使
ckℓ=0,这个表述仍然成立。
当 n=1 时,含有零行的矩阵就是 [0],按基本定义其行列式为零。当
n≥2 时,使用任意行展开定理沿该行展开。每一项都含有一个零项作为
因子,所以每一项都为零,因而 det(A)=0。
零列可以用归纳法直接证明,这样能看清零列如何传递。n=1 时,唯一
具有零列的 1×1 矩阵是 [0],其行列式为零。假设结论对
n=k 成立。设 (k+1)×(k+1) 矩阵 C 的第 ℓ 列全为零,
沿第一行展开。第 ℓ 项的因子已经是零。对其余每一项,删去第一
行和某个 j=ℓ 的列;原来的零列仍在所得 k×k 子矩阵中,
只是在 j<ℓ 时列指标向左移动。由归纳假设,每个这样的子矩阵的行列式
都是零,所以整行展开的每一项都为零,得到 det(C)=0。
若某行除一个项外全为零,沿该行展开即可;若某列除一个项外全为零,
沿第 k 行展开。ℓ 项保留下来,而对每个 j=ℓ,子矩阵
C(k∣j) 都继承了原第 ℓ 列的零列,因此其行列式为零。最后只
剩下 ckℓ(−1)k+ℓdet(C(k∣ℓ))。这正是稀疏行或
列能把计算缩成一个子式的原因。
三角矩阵
定理
三角矩阵定理
若 T 是上三角或下三角矩阵,则
det(T)=t11t22⋯tnn
用 n 作归纳证明上三角情形。n=1 时结论就是行列式的定义。假设
结论对上三角 k×k 矩阵成立,令 T 为 k+1 阶上三角矩阵。最
后一行除最后一项 tk+1,k+1 外都是零。沿最后一行展开,只有这一项
保留,而且符号 (−1)2k+2=1:
det(T)=tk+1,k+1det(T(k+1∣k+1))
保留下来的子矩阵仍是上三角矩阵,对角线为
t11,…,tkk。由归纳假设,它的行列式是
t11⋯tkk,于是得到完整的对角线乘积。下三角情形类似但可
沿第一行展开:第一行只可能留下 t11,删去第一行第一列后的子矩阵
仍是下三角矩阵,对角线从 t22 到 tnn。
固定一行时的多重线性
定理
固定一行时的多重线性
固定除第 p 行外的每一行。若新第 p 行是 αu+βv,则
det(相同其他各行,但第 p 行为 αu+βv)=αdet(相同其他各行,但第 p 行为 u)+βdet(相同其他各行,但第 p 行为 v)
当 n=1 时,基本定义直接给出
det([αa+βb])=αa+βb=αdet([a])+βdet([b])
这就证明了 1×1 情形。
当 n≥2 时,固定除第 p 行外的每一行。设矩阵 A,B,C 在这些固定行上完全相同,
而第 p 行满足 cp=αap+βbp。对每个列指标 j,删
去第 p 行后得到相同的矩阵:
A(p∣j)=B(p∣j)=C(p∣j)
沿第 p 行展开 det(C),再用每个项的关系
cpj=αapj+βbpj 和分配律,得到
det(C)=j=1∑n(αapj+βbpj)(−1)p+jdet(C(p∣j))=αdet(A)+βdet(B)
关键正是其他每一行都固定;同时改变两行是另一条命题。
相邻换行与相同行
定理
若有两行相同,行列式必为零
若一个方阵有两行完全相同,则它的行列式等于 0。
设 A 的相邻两行是 rq,rq+1,交换这两行得到 B。沿
A 的第 q 行展开,沿 B 中已经移动到第 q+1 行的同一行
rq 展开。对每个列指标 j,两次删去该行后留下的子矩阵次序相同,
但符号相反,因为
(−1)q+1+j=−(−1)q+j
逐项比较便得 det(B)=−det(A)。位置 p<q 的两行交换可以由
2(q−p)−1 次相邻交换组成,这是奇数次,所以同样会使行列式变号。
若 A 的第 p 行与第 q 行相同,交换它们后矩阵仍是 A 本身。换行
结论于是给出 det(A)=−det(A)。由于这里的项是实数,
2det(A)=0,所以 det(A)=0。这个证明没有调用下一节才会出现的行
替换规则。
指标与计算策略
每一项都要同时保留三个对象:所选项、删去一行一列后得到的子矩阵,以及取该子矩阵行列式所得的子式。先按原矩阵中的行列位置写出棋盘符号,再计算子式。若继续展开子式,应使用子式自己的局部指标;局部指标不会取代外层余因子的符号。
任意行、任意列展开定理使展开线可以有策略地选择。优先选择零多或剩余子式较简单的行或列,并在计算前说明理由。零项会立即删去分支;零子式则必须由它自己的计算证明。第一行递归式定义行列式,任意行列展开则是允许这种计算选择的定理。
例题详解
例题
2×2 公式是第一个递归情形
令
A=[a11a21a12a22]删去第一行第一列留下 [a22],删去第一行第二列留下 [a21]。
因此 M11=a22、M12=a21,而棋盘符号给出
C11=a22,C12=−a21递归定义于是产生
det(A)=a11a22−a12a21常见的 ad−bc 规则正是递归定义在 2×2 时的具体写法。
例题
把符号写清楚的 3×3 展开
令
B=34−321−1−162第一行的项为 3,2,−1,符号为 +,−,+。第三项写成
+(−1)M13,可以避免漏掉负数项前面的正号:
det(B)=31−162−24−362+(−1)4−31−1三个子式依次为 8,26,−1,因为
1⋅2−6(−1)=8,4⋅2−6(−3)=26,以及 4(−1)−1(−3)=−1。所以
det(B)=3(8)−2(26)+(−1)(−1)=24−52+1=−27最后一项有两种符号来源:棋盘符号为正,而矩阵项本身是 −1。
例题
稀疏 4×4 矩阵:完成每个保留下来的子式
考虑矩阵
C=1011959972887503第二行第一项为零,该行的棋盘符号是 −,+,−,+,所以
det(C)=−0M21+5M22−2M23+5M24三个需要计算的子式是
M22=det111788703=3,M23=det111999703=0,M24=det111999788=0沿第一行对三个 3×3 子式展开,得到
M22=1(8⋅3−0⋅8)−7(1⋅3−0⋅1)+7(1⋅8−8⋅1)=24−21+0=3,M23=1(9⋅3−0⋅9)−9(1⋅3−0⋅1)+7(1⋅9−9⋅1)=27−27+0=0,M24=1(9⋅8−8⋅9)−9(1⋅8−8⋅1)+7(1⋅9−9⋅1)=0−0+0=0因此
det(C)=5(3)−2(0)+5(0)=15第一项的零可以剪掉一个分支,但仍须保留 −2M23 的负号,并核对其
余下的子式。
例题
三角矩阵只留下对角线乘积
对于
T=20035047−1三角矩阵定理给出
det(T)=2⋅5⋅(−1)=−10归纳证明说明了对角线以上的项为什么不出现:最后一行的展开只留下
−1,而保留的子矩阵是上三角矩阵
[2035],继续展开便留下 2 和 5。
对角矩阵是特别情形,所以 det(In)=1。
反例模式
行列式不是对整个矩阵的加法线性
一般不能写成 det(A+B)=det(A)+det(B)。取
I2=[1001],则
det(I2+I2)=det(2I2)=4,det(I2)+det(I2)=1+1=2正确的修正是固定其他行后对一行使用多重线性。对于行向量
r=(r1,r2),令 F(r)=det[r11r20],
u=(1,2)、v=(0,1),则
F(2u−v)=det[2130]=−3同时
2F(u)−F(v)=2det[1120]−det[0110]=−3两边都保持第二行不变,这正是多重线性所要求的固定行条件。
常见错误
常见错误
混淆子矩阵、子式与余因子
A(i∣j) 是矩阵,Mij 是这个矩阵的行列式,
Cij=(−1)i+jMij 才是余因子。若在展开式中已经写了棋盘符
号,又把已经带符号的余因子再乘一次,就会把符号算两遍。
常见错误
行列式只对方阵定义
本节的行列式只对方阵定义。2×3 矩阵不属于这个递归构造,因为
删去一行一列后不能得到所需的方形递归问题。
练习
思考检查
用递归定义计算 det[1324]。
先写出第一行两个余因子及其棋盘符号,再与对应项相乘。
解答 · 答案 1
第一行余因子为 C11=4、C12=−3,所以
det[1324]=1(4)+2(−3)=−2
思考检查
用最合适的行或列计算 det204030105。
选择含有两个零项的第二行,并保留它中间位置的正号。
解答 · 答案 2
沿第二行展开:
det=3(−1)2+22415=3(10−4)=18
思考检查
写出第二行的余因子展开,并说明各项符号的依据。
C=1011959972887503.每个子式的指标都按元素在原矩阵中的位置确定。
解答 · 答案 3
第 2 行的符号是 −,+,−,+,因此展开为
−0M21+5M22−2M23+5M24;中间的负号属于第 3 列的项。
解答 · 答案 4
交换两行会使行列式变号,但交换相同两行后矩阵不变。因此
det(A)=−det(A),在实数范围内 2det(A)=0,故 det(A)=0。
思考检查
det[4] 是多少?
使用递归定义的 1×1 基本情形。
解答 · 答案 5
答案是 4,因为 1×1 矩阵的行列式等于它唯一的项。
解答 · 答案 6
每个零项都会贡献零倍余因子,所以只需计算较少的非零项和较少的较小行列式。
思考检查
若一个对角矩阵的对角线项是 2、−1、5,它的行列式是多少?
解答 · 答案 7
行列式是 2(−1)(5)=−10。
解答 · 答案 8
零行迫使行列式为 0。下一节说明可逆矩阵的行列式非零,因此有零行的矩阵不可能可逆。
相关笔记
可先回到 2.1 矩阵基础
复习方阵与索引记号。
接着读
7.2 行变换、乘积与可逆性,
看看行列式如何与消元法接上。
也可把
5.1 可逆矩阵
一并放在旁边,因为之后行列式会成为另一个可逆性判准。