转置把关于行的行列式恒等式转为关于列的恒等式。利用对一列的线性性,可以分离线性组合中的一个系数:替换一列后,其余各项都因出现重复列而消失。这个消去关系给出克拉默法则,并把它与伴随矩阵恒等式联系起来。
本节的矩阵与标量均取实数;凡写出行列式,所涉及的矩阵均为方阵。
转置不会改变行列式
对每个方阵 A,
det(AT)=det(A).
虽然递归定义采用第一行展开,转置仍然保持行列式的值不变。
若 A 奇异,则 AT 也奇异:把任一个逆矩阵等式转置,就会把 AT
的逆矩阵变成 A 的逆矩阵。因此两边的行列式都为零。若 A 可逆,写成
A=E1E2⋯Ek交换行或把一行乘以非零标量的基本矩阵转置后不变;加法基本矩阵
I+cEij 转置为 I+cEji,仍是加法基本矩阵,行列式为一。因此
det(ErT)=det(Er),而
AT=EkT⋯E2TE1T使用行列式乘积公式就得到 det(AT)=det(A)。矩阵因子顺序虽然反转,但行列式值是可以交换顺序相乘的标量。这个证明使用 7.2 的分解与行变换结果,为 7.1 已陈述的列展开提供推导,而没有在证明中使用列展开。
设 A=[aij] 是 n≥2 阶方阵,固定列指标 j。记 Mij 为子式,Cij=(−1)i+jMij 为余因子,则
det(A)=a1jC1j+a2jC2j+⋯+anjCnj.等价地,
det(A)=i=1∑n(−1)i+jaijMij.
因此,你可以沿行展开,也可以沿列展开。真正重要的不是方向,而是你选中的那条行或列是否能令子式最容易算。
为了看清列公式从何而来,固定第 j 列。记 A(i∣j) 为删去第 i 行与第 j 列后得到的矩阵。元素 aij 在 AT 中位于第 j 行;删去该行与第 i 列后得到
(AT)(j∣i)=(A(i∣j))T
根据转置不变性,这两个子矩阵的行列式相同。因此沿 AT 的第 j 行展开,就是
det(AT)=i=1∑n(−1)j+iaijdet((AT)(j∣i))=i=1∑n(−1)i+jaijdet(A(i∣j))
而这等于 det(A),正是 A 沿第 j 列的展开。
令
A=160791085.第三列有一个零,所以沿第三列展开:
det(A)=0⋅C13+8C23+5C33.因此
det(A)=−81071+51679=−8(1)+5(9−42)=−173.同一个答案当然也可以用行展开得到,但挑对列会令算式短很多。
列变换遵守同一套模式
由于转置不改变行列式,每一条关于行变换的规则,都有一条完全对应的列变换版本。
设 B 是由方阵 A 做一次基本列变换得到。
- 交换两个不同的列 p 与 q,行列式乘上 −1。
- 把第 p 列乘上 β,行列式也乘上 β;若变换要可逆,要求
β=0。
- 若 p=q,把第 q 列改成 Cq+cCp,行列式不变。
这些规则就是把行规则应用到 AT,再使用转置不变性。第三条必须区分来源列与目标列。固定其他列时,行列式对一列是线性的;有两列相同的矩阵行列式为零。这两点正是克拉默替换中多余项消失的原因。
只有 p=q 时,Cq←Cq+cCp 才是保持行列式的列加法。如果
p=q,新列是 (1+c)Cq,行列式会乘以 1+c,不会自动保持不变。
考虑
C=34−321−1−162.按时间顺序做列变换 C1←C1−C2,再做
C1←C1+C3;每一步都使用更新后的第一列:
34−321−1−162⟶13−221−1−162.第一步之后,第二步给出
13−221−1−162⟶09021−1−162这两步都只是“某列加上另一列倍数”,所以行列式没有改变。现在沿第一列展开:
det(C)=9(−1)2+12−1−12=−9(4−1)=−27.位置 (2,1) 的负号不能遗漏。根据哪些操作能够产生有用的零,选择行变换或列变换,并在每一步使用更新后的矩阵。
伴随矩阵把所有余因子一次性收集起来
单个余因子可以处理一次展开;伴随矩阵则把所有余因子集中到同一个矩阵中。
对 n×n 且 n≥2 的矩阵 A=[aij],用 Cij 表示 aij 的余因子,先写出余因子矩阵:
C11C21⋮Cn1C12C22⋮Cn2⋯⋯⋱⋯C1nC2n⋮Cnn.把这个余因子矩阵转置,便得到 伴随矩阵
adj(A)=C11C12⋮C1nC21C22⋮C2n⋯⋯⋱⋯Cn1Cn2⋮Cnn.对于 1×1 的基例,定义 det([a])=a 与 adj([a])=[1]。于是 [a][1]=[a]=det([a])I1。下面的余因子恒等式证明处理 n≥2。
对每个方阵 A,包括奇异矩阵,
Aadj(A)=det(A)I.若 det(A)=0,则 A 可逆,而且
A−1=det(A)1adj(A).
下面的证明假设 n≥2;1×1 基例已在上面定义。
乘积 Aadj(A) 的 (i,j) 元素是
(Aadj(A))ij=k=1∑naikCjk当 i=j 时,这是沿第 i 行的余因子展开,所以等于 det(A)。当
i=j 时,用第 i 行替换 A 的第 j 行,得到 B。B 有两行相同,所以 det(B)=0。沿被替换的第 j 行展开时,删去第 j 行也删去了替换内容;因此使用的余因子正好是 A 中的 Cjk。于是
0=det(B)=k=1∑naikCjk所以对角元是 det(A),非对角元是零。只有在 det(A)=0 时才可以除以这个标量并得到逆矩阵;奇异时恒等式仍然成立,但不能除以行列式。
例题 7.3.8
(由伴随矩阵重建 2×2 逆矩阵公式)
令
A=[acbd],det(A)=ad−bc=0.其余因子矩阵是
[d−b−ca],所以
adj(A)=[d−c−ba].因此
A−1=ad−bc1[d−c−ba].熟悉的 2×2 逆矩阵公式,就是伴随矩阵恒等式在二阶情形下的写法。直接相乘可见:
Aadj(A)=[ad−bc00ad−bc]=(ad−bc)I2伴随矩阵必须取余因子矩阵的转置。若直接使用未转置的余因子矩阵
[d−b−ca],乘积一般会出现 ad−b2、ab−ac、cd−bd 与
ad−c2,既不是对角线上同一个标量,也不会让非对角元为零。
克拉默法则是逐个坐标求解
令 A∈Mn(R) 满足 det(A)=0,并令
b∈Rn。对每个 j,只把 A 的第 j 列改成 b,得到矩阵 Mj。
若 x 是系统
Ax=b的唯一解,则
xj=det(A)det(Mj).
每个坐标都由一个行列式比值表示,明确显示它对系数矩阵与右端向量的依赖。
把 A 的列写成 a1,…,an。因为 det(A)=0,系统有唯一解,且
b=x1a1+⋯+xnan在 Mj 中固定第 j 列以外的所有列,只在第 j 列代入这个和。由列的线性性,
det(Mj)=k=1∑nxkdet(a1,…,aj−1,ak,aj+1,…,an)当 k=j 时,行列式中有两列相同,所以该项为零;剩下的 k=j 项是
xjdet(A)。因此
det(Mj)=xjdet(A),xj=det(A)det(Mj)替换过程中列的顺序从未改变,所以没有额外的符号。
替换一列为何能隔离一个未知量
下面的视觉说明会追踪克拉默法则背后的行列式逻辑:把其中一列换成右侧向量,使用列线性,再看重复列如何令多余项消失。
克拉默法则中的列替换观看把其中一列换成右侧向量后,克拉默法则如何隔离单一坐标。
用列去读
系统 Ax=b 表示右侧向量是 b=x1 a1+x2 a2+x3 a3,也就是 A 各列的加权组合。
替换一列
要求 x1,就把 A 的第一列换成 b,其他列保持不变,得到 M1。
代入 b
代入 b=x1 a1+x2 a2+x3 a3 后,被替换的那一列就是三个列向量的和。
使用列线性
列线性把 det(M1) 拆成 x1 det(A),再加上两个含有重复列的行列式。
重复列消失
有重复列的行列式为零,所以 det(M1)=x1 det(A),并得到 x1=det(M1)/det(A)。
示范例子
在此方程组中,det(A)=6,三个替换行列式是 15、-6、3,所以 x=(5/2,-1,1/2)。
克拉默法则成立,是因为把第 j 列换成 b 后,det(M_j) 会变成 x_j det(A);可逆性保证我们可以除以 det(A)。
对于 n≥2,已建立的逆矩阵公式给出了同一个坐标公式的另一种读法。因为 det(A)=0,有 adj(A)=det(A)A−1。先用 A−1 左乘 Ax=b,再代入这个恒等式,得到
det(A)x=adj(A)bxj=det(A)∑i=1nCijbi
这个分子正好是 det(Mj):沿替换后的第 j 列展开 Mj。删去该列后,向量 b 被删去,留下的子式与 A 中相同,因此附在 bi 上的余因子就是 Cij。所以伴随矩阵路线与固定一列的线性性路线最终给出相同的带符号和。对于 n=1,写 A=[a]、b=[b1] 且 a=0;此时直接得到 x1=b1/a。
例题 7.3.10
(3×3 伴随矩阵与三个替换行列式)
令
A=11120131−1,b=231沿第一行展开:
det(A)=1(−1)−2(−2)+3(1)=6余因子矩阵为
−1522−4211−2所以
adj(A)=−1215−4122−2把第一、第二、第三列分别替换成 b:
M1=23120131−1,M2=11123131−1,M3=111201231沿第一行计算得到
det(M1)=−2+8+9=15det(M2)=−4+4−6=−6det(M3)=−3+4+2=3因此
(x1,x2,x3)=(615,6−6,63)=(25,−1,21)代回三行分别得到 5/2−2+3/2=2、5/2+1/2=3、
5/2−1−1/2=1,与 b 一致。
这些数值还提供了对符号与伴随矩阵路线的独立检查。把上面列出的伴随矩阵乘以 b,得到
adj(A)b=15−63
因此伴随矩阵恒等式给出 x=adj(A)b/det(A),恰好是三个替换行列式所得的向量。例如第一个分量是 −1(2)+5(3)+2(1)=15;余因子矩阵中的符号在相乘前已经包含。
例题 7.3.11
(用克拉默法则解一个 2×2 系统)
求解
{2x1+x2=5,x1+3x2=7.写成
A=[2113],b=[57].先算
det(A)=2⋅3−1⋅1=5.把第一列换成 b:
M1=[5713],det(M1)=15−7=8.把第二列换成 b:
M2=[2157],det(M2)=14−5=9.因此
x1=58,x2=59.代回可检查结果:2(8/5)+9/5=5,以及 8/5+3(9/5)=7。
常见错误
克拉默法则要求系数矩阵必须是方阵,而且其行列式非零。若系数矩阵不是方阵,或者系数矩阵本身奇异,克拉默法则便不能使用。即使条件满足,对大系统来说,它通常也比高斯消元慢。
反例模式
替换行列式全为零不能判定奇异系统
令 A=diag(1,0,0),这是一个非零奇异矩阵。若
b=e1=(1,0,0)T,方程为 x1=1、0=0、0=0,解为 (1,s,t)。若
b=e2=(0,1,0)T,第二个方程为 0=1,因此系统无解。
明确写出替换后的列三元组。对 b=e1,(M1)=(e1,0,0)、
(M2)=(e1,e1,0)、(M3)=(e1,0,e1);每个行列式都因含零列或重复列而为零。对 b=e2,(M1)=(e2,0,0)、(M2)=(e1,e2,0)、
(M3)=(e1,0,e2);每个三元组都含零列而使行列式为零,其中 M1
含有两列零向量。因此六个形式比值全都是未定义的 0/0。使用克拉默法则前必须要求 det(A)=0。奇异系统应对增广矩阵行化简,检查相容性与自由变量。
快速检查
解答 · 答案
不会。det(AT)=det(A)。
解答 · 答案
把某一列改成“原本那一列加上另一条不同列的倍数”,会保留行列式。
解答 · 答案
当系数矩阵是方阵而且可逆,也就是说它的行列式非零时,才可使用克拉默法则。
练习
快速检查
(用列展开计算 det130040256。)
解答 · 引导解答
沿第二列展开:
det=4(−1)2+21026=4(6)=24.
快速检查
(对 A=[1324],写出 adj(A)。)
解答 · 引导解答
余因子是 C11=4、C12=−3、C21=−2、C22=1,因此
adj(A)=[4−3−21].
快速检查
(用克拉默法则求系统 x1+x2=3、2x1−x2=0 的 x1。)
只需要 det(A) 与 det(M1)。
解答 · 引导解答
此时
A=[121−1],b=[30].所以
det(A)=−1−2=−3,M1=[301−1],det(M1)=−3.因此
x1=det(A)det(M1)=1.
相关笔记
若你对行变换的记账仍未稳固,可先回看
7.2 行变换、乘积与可逆性。
同时也应保留
3.3 转置、对称矩阵与反对称矩阵
在旁,因为本节把那一章的转置观点推到行列式。
若要回到线性系统语言,可连回
1.1 方程与解集
与 2.3 高斯消元与 RREF。