# 置换
作为行列式定义的铺垫,需要先了解什么是置换
考虑一个含有 n 个元素的集合
S={1,2,3,…,n}
定义映射
σ:S→S
称 σ 为集合 S 上的 置换 (Permutation)「置換」,当且仅当 σ 为 S 到 S 的双射
- 记 Sn 为含有 n 个元素的集合上的所有置换所构成的集合
如果该映射是一个双射映射,这意味着它会将每一个元都映射到某一个元,并且确保不会重合也不会漏掉
那么实际上,这所产生的作用与 “将集合 S 中的元素进行重新排列” 是完全一致的,所以称为置换。
通常来说,如果给定每个元的映射结果,也就是说
σ(1)=i1,σ(2)=i2,…,σ(n)=in
那么映射可以用行列来简单表示,其中第一行为原先的排列,第二行为映射的结果
σ=(1σ(1)2σ(2)3σ(3)……nσ(n))=(1i12i23i3……nin)
示例
对于 S={1,2,3},来说,所有可能的置换一共有如下六种
(112233),(112332),(122133),(122331),(132132),(132231)
根据排列组合知识可以知道:一个含有 n 个元素的集合,其置换一共有 n! 种可能
置换的另一种表示方式是循环表示法,例如对于一个置换
i1↦i2↦ik−1↦ik↦ i2 i3 ⋮ ik i1
可以简写为
(i1 i2 i3 … ik)
- 特别地,(i,j) 表示将 i 与 j 互换位置的置换
通过置换映射的复合(乘积),可以将任意一个置换表示为多个循环置换的复合
示例
(1325344152)=(1 3 4)(2 5)
- 首先选定一个起点,例如 1,查看映射结果为 3,写出 (1 3
- 继续查看 3 的映射结果为 4,写出 (1 3 4
- 继续查看 4 的映射结果为 1,回到起点,完成第一个循环 (1 3 4)
- 接下来选择下一个未被包含的元 2,查看映射结果为 5,写出 (2 5
- 继续查看 5 的映射结果为 2,回到起点,完成第二个循环 (2 5)
- 将两个循环组合在一起,顺序并不重要,得到最终结果 (1 3 4)(2 5)
实际上,任意一个循环置换也都可以拆解为两个元的置换,例如
(1 3 4)=(1,4)(1,3)
也就是说,对于任意一个置换,都可以将其写为
σ=k∏τk
其中 τk 为两元置换
- 如果 τk 的总数量是偶数,那么称 σ 为 偶置换,记作 sgn(σ)=+1
- 如果 τk 的总数量是奇数,那么称 σ 为 奇置换,记作 sgn(σ)=−1
置换本身具有非常充足的学习价值,是代数学中的核心内容之一。今后会更加深入的学习有关置换群的内容。但是这里只需要理解到 sgn 即可。
# 行列式
定义
对于 n 阶方阵
A=⎝⎜⎜⎜⎜⎛a11a21⋮an1a12a22⋮an2⋯⋯⋱⋯a1na2n⋮ann⎠⎟⎟⎟⎟⎞
定义其 行列式 (Determinant)「行列式」 为
det(A)=σ∈Sn∑sgn(σ)i=1∏nai,σ(i)
- det(A) 也常简写为 ∣A∣
行列式的定义式可能有些难以理解,但是不必被复杂的符号吓住,只需要理解这一本质:
- 取所有偶置换下的组合做积并求和
- 取所有奇置换下的组合做积并求和
- 用前者减去后者,得到的结果即为行列式
在实际的应用中,最常见的行列式是 2 阶与 3 阶行列式
∣∣∣∣∣a11a21a12a22∣∣∣∣∣=a11a22−a12a21
也就是主对角线的乘积,减去副对角线的乘积
∣∣∣∣∣∣∣a11a21a31a12a22a32a13a23a33∣∣∣∣∣∣∣=a11a22a33+a12a23a31+a13a21a32−a13a22a31−a11a23a32−a12a21a33
也就是三个主对角线的乘积之和,减去三个副对角线的乘积之和
示例
计算以下矩阵的行列式
A=(3257),B=⎝⎛1052−16340⎠⎞
解
对于矩阵 A,有
det(A)=3×7−5×2=21−10=11
对于矩阵 B,有
det(B)=1×(−1)×0+2×4×5+3×0×6−3×(−1)×5−1×4×6−2×0×0=0+40+0−(−15)−24−0=40+15−24=31
□
# 行列式的性质
行列式的计算具有以下基本性质
命题
- 多重线性:若某一行可以拆开,则行列式可以拆开为各部分之和
∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮bi+ci⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣=∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮bi⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣+∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮ci⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣
若某一行为常数倍,则该常数可以提取到行列式外
∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮kai⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣=k∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮ai⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣
- 交代性:若矩阵有两行相等,则行列式为零
∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮ai⋮ai⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣=0
证明
(1)
根据行列式的定义式,可以将该行拆分为两部分,分别计算
∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮bi+ci⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣=σ∈Sn∑sgn(σ)j=1∏naj,σ(j)=σ∈Sn∑sgn(σ)(a1,σ(1)⋯(bi,σ(i)+ci,σ(i))⋯an,σ(n))=σ∈Sn∑sgn(σ)(a1,σ(1)⋯bi,σ(i)⋯an,σ(n))+σ∈Sn∑sgn(σ)(a1,σ(1)⋯ci,σ(i)⋯an,σ(n))=∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮bi⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣+∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮ci⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣
(2)
取 ai=aj,则对于任意置换 σ∈Sn,都存在另一个置换 σ′∈Sn,使得
σ′=σ∘(i,j)
则有
sgn(σ′)=−sgn(σ)
并且
k=1∏nak,σ(k)=k=1∏nak,σ′(k)
因此在行列式的定义式中,任意一项都可以找到另一项与之相消,所以行列式的值为零。
□
- 多重线性性质也可以得到 ∣kA∣=kn∣A∣
基于上述性质,可以对以下两类行列式进行快速计算
命题
- 若矩阵有某一行(列)全为零,则行列式为零
∣∣∣∣∣∣∣∣∣∣∣∣∣a11⋮0⋮an1a12⋮0⋮an2⋯⋱⋯⋱⋯a1n⋮0⋮ann∣∣∣∣∣∣∣∣∣∣∣∣∣=0
- 若矩阵为上(下)三角矩阵,则行列式为主对角线元素的乘积
∣∣∣∣∣∣∣∣∣∣a110⋮0a12a22⋮0⋯⋯⋱⋯a1na2n⋮ann∣∣∣∣∣∣∣∣∣∣=a11a22⋯ann
证明
(1)
由于该行全为零,所以任意一个置换下的乘积中,都会包含一个零因子,因此行列式的值为零。
(2)
由于矩阵为上三角矩阵,所以对于任意置换 σ∈Sn,如果存在某个 i>j,使得 σ(i)=j,则有 ai,σ(i)=ai,j=0,因此该置换下的乘积为零。
因此,只有当 σ 为恒等置换时,乘积才可能非零,此时乘积为主对角线元素的乘积。
i=1∏nai,σ(i)=a11a22⋯ann
且 sgn(σ)=+1,因此行列式的值为主对角线元素的乘积。
□
- 特别地,对于任意 n,都有 ∣En∣=1
实际上,也可以从基本性质出发,得到行列式可以与行基本变换高度交互
命题
- 若将某一行乘以常数 k,则行列式也乘以 k
- 若将两行互换位置,则行列式取相反数
- 若将某一行加上另一行的常数倍,则行列式不变
证明
(1)
该性质等同于多重线性中的第二条性质。
(2)
注意以下具有相同行的行列式为零
∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮ai+aj⋮aj+ai⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣=0
利用线性性质拆解
0=0∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮ai⋮ai⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣+∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮ai⋮aj⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣+∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮aj⋮ai⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣+0∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮aj⋮aj⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣
因此有
∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮aj⋮ai⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣=−∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮ai⋮aj⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣
(3)
同样利用线性性质拆解
∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮ai⋮aj+kai⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣=∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮ai⋮aj⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣+k0∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮ai⋮ai⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣=∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣a1⋮ai⋮aj⋮an∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣
□
- 这样一来,复杂的行列式也可以通过行变换化简为易于计算的形式
行列式的转置不改变值,这使得行基本变换与列基本变换在行列式计算中具有同等的地位
命题
若 A 为 n 阶方阵,则
∣tA∣=∣A∣
证明
由于行列式的定义涉及对矩阵元素的排列和符号的计算,而转置操作仅仅是将矩阵的行和列互换,不改变元素的排列顺序和符号,因此行列式的值保持不变,即
∣tA∣=∣A∣
□
针对高阶行列式,关键的解法在于如下结论
命题
若行列式左上角元素下面全为 0,则行列式可以降次,即
∣∣∣∣∣∣∣∣∣∣a110⋮0a12a22⋮an2⋯⋯⋱⋯a1na2n⋮ann∣∣∣∣∣∣∣∣∣∣=a11∣∣∣∣∣∣∣∣a22⋮an2⋯⋱⋯a2n⋮ann∣∣∣∣∣∣∣∣
证明
根据行列式的定义式,只有当置换 σ 满足 σ(1)=1 时,乘积才可能非零,此时乘积为
i=1∏nai,σ(i)=a11i=2∏nai,σ(i)
且 sgn(σ) 与置换 σ 在 {2,3,…,n} 上的限制 σ′ 相同,因此行列式可以写为
∣∣∣∣∣∣∣∣∣∣a110⋮0a12a22⋮an2⋯⋯⋱⋯a1na2n⋮ann∣∣∣∣∣∣∣∣∣∣=σ∈Snσ(1)=1∑sgn(σ)i=1∏nai,σ(i)=σ′∈Sn−1∑sgn(σ′)a11i=2∏nai,σ′(i)=a11∣∣∣∣∣∣∣∣a22⋮an2⋯⋱⋯a2n⋮ann∣∣∣∣∣∣∣∣
□
示例
求解
∣∣∣∣∣∣∣∣∣2400371212345648∣∣∣∣∣∣∣∣∣
解
通过行变换将矩阵降次
R2−2R1→R2∣∣∣∣∣∣∣∣∣2000311210345−448∣∣∣∣∣∣∣∣∣=2∣∣∣∣∣∣∣112034−448∣∣∣∣∣∣∣R3−2R1→R32∣∣∣∣∣∣∣110034−4412∣∣∣∣∣∣∣R2−R1→R22∣∣∣∣∣∣∣100034−4812∣∣∣∣∣∣∣=2∣∣∣∣∣34812∣∣∣∣∣=2(3×12−8×4)=8
□
行列式可以被矩阵乘法直接拆开,这是计算上非常好用的一点,为了证明该结论,需要铺垫两个命题
命题
令 A 为 n 阶方阵,P 为正则矩阵
∣PA∣=∣P∣⋅∣A∣
证明
由于 P 为正则矩阵,所以存在一系列基本矩阵使得
P=PkPk−1⋯P1
注意对于三种基本矩阵
- ∣Pi(c)A∣=c∣A∣=∣Pi(c)∣⋅∣A∣
- ∣PijA∣=−∣A∣=∣Pij∣⋅∣A∣
- ∣Pij(c)A∣=∣A∣=∣Pij(c)∣⋅∣A∣
因此重复该过程,有
∣P∣=∣Pk∣⋅∣Pk−1∣⋯∣P1∣
那么对
PA=PkPk−1⋯P1A
两边取行列式,得到
∣PA∣=∣Pk∣⋅∣Pk−1∣⋯∣P1∣⋅∣A∣=∣P∣⋅∣A∣
□
命题
令 A 为 n 阶方阵,A 为正则矩阵的充分必要条件为 ∣A∣=0
证明
假设基于行基本变换使得 A 化为简约行阶梯形矩阵 R,即
R=PA
由上述结论
∣R∣=∣P∣⋅∣A∣
显然如果 A 正则,那么 ∣R∣=∣En∣=1,所以 ∣A∣=0
如果 A 不正则,那么 ∣R∣=0,所以 ∣A∣=0
□
并且在 A 可逆时,逆矩阵的行列式可以快速给出
命题
若 A 是正则矩阵,则
∣A−1∣=∣A∣1
证明
由于 AA−1=En,所以
∣A∣⋅∣A−1∣=∣En∣=1
因此有
∣A−1∣=∣A∣1
□
最终得到目标结论
命题
令 A,B 为 n 阶方阵,则有
∣AB∣=∣A∣⋅∣B∣
证明
若 A 正则,退化为前述命题
假设 A 不正则,则 ∣A∣=0
假设 AB 是正则的,那么存在其逆矩阵 C 满足
(AB)C=En=A(BC)
因此 A 也是正则的,与假设矛盾
所以 AB 也不正则,因此 ∣AB∣=0=∣A∣⋅∣B∣
□
# Cramer 法则
通过对行列式的操作,可以得到求解线性方程组问题时的一个著名结论
即,即正则矩阵作为系数矩阵的方程组的解,可以由行列式给出,这就是
定理 Cramer 法则
令 A 为 n 阶正则矩阵,线性方程组
Ax=b
的解可以由
xi=∣A∣∣Ai∣
给出,其中 Ai 为将矩阵 A 的第 i 列替换为向量 b 后所得到的矩阵
证明
取列向量分割
A=(a1,a2,…,an)
因为 A 正则,所以方程组具有唯一解,可写为
b=x1a1+x2a2+⋯+xnan
通过行列式的性质得到
∣Ai∣=∣a1,…,ai−1,b,ai+1,…,an∣=∣a1,…,ai−1,x1a1+x2a2+⋯+xnan,ai+1,…,an∣=xi∣a1,…,an∣=xi∣A∣
因此
xi=∣A∣∣Ai∣
□
示例
利用 Cramer 法则求解线性方程组
{2x+3y=54x+7y=11
解
改写为矩阵形式
(2437)(xy)=(511)
设系数矩阵 A,计算行列式
∣A∣=∣∣∣∣∣2437∣∣∣∣∣=2×7−3×4=14−12=2
计算替换后的行列式
∣A1∣=∣∣∣∣∣51137∣∣∣∣∣=5×7−3×11=35−33=2
∣A2∣=∣∣∣∣∣24511∣∣∣∣∣=2×11−5×4=22−20=2
根据 Cramer 法则,解为
x=∣A∣∣A1∣=22=1,y=∣A∣∣A2∣=22=1
□