继续MIT的笔记,本篇梳理行列式的10条性质,其中前3条性质作为后续性质的基础。应用分为克莱姆法则,逆矩阵和体积。注意,只有方阵才有行列式。
性质
- det I = 1 \det I =1 detI=1
- 交换行列式的两行,行列式变号
注:交换一次变一次号,交换 i i i次,即乘上 ( − 1 ) i (-1)^i (−1)i,由此偶数次变换和奇数次变换分别在各自独立的变换范畴。 - “行”的线性:a)齐次性:提出行列式某行的系数作为行列式整体的系数;b)可加性:行列式的某行可拆分两部分之和时,等于拆分后的这两个行列式的和。 用
2
×
2
2 \times 2
2×2行列式表示即为:
∣ 2 a + 3 e 2 b + 3 f c d ∣ = ∣ 2 a 2 b c d ∣ + ∣ 3 e 3 f c d ∣ = 2 ∣ a b c d ∣ + 3 ∣ e f c d ∣ \begin{vmatrix} 2a + 3e&2b +3f\\ c & d \end{vmatrix}= \begin{vmatrix} 2a &2b \\ c & d \end{vmatrix}+ \begin{vmatrix} 3e&3f\\ c & d \end{vmatrix}= 2\begin{vmatrix} a &b \\ c & d \end{vmatrix}+ 3\begin{vmatrix} e&f\\ c & d \end{vmatrix} ∣ ∣2a+3ec2b+3fd∣ ∣=∣ ∣2ac2bd∣ ∣+∣ ∣3ec3fd∣ ∣=2∣ ∣acbd∣ ∣+3∣ ∣ecfd∣ ∣
注:行列式的线性是对“行”而言,而矩阵的线性是对整个矩阵而言。因此 ∣ 2 A ∣ = 2 n ∣ A ∣ |2A|=2^n|A| ∣2A∣=2n∣A∣
-
有两行相等时,行列式为0。 可由性质2推得。
A = ∣ a b a b ∣ 交换两行 → − A = ∣ a b a b ∣ ⇒ A = 0 A = \begin{vmatrix} a &b \\ a & b \end{vmatrix} \underrightarrow{交换两行} -A =\begin{vmatrix} a &b \\ a & b \end{vmatrix} \Rightarrow A=0 A=∣ ∣aabb∣ ∣交换两行−A=∣ ∣aabb∣ ∣⇒A=0
注:进一步由性质3,有两行呈倍数关系时,行列式也为0。 -
某一行减去另一行的k倍,行列式并不改变。
注:类似性质4的证明,是基于性质3的合理外推。行列式为0的总结即为:当存在某一行为其余行的线性组合时,行列式为0,相当于要求对应的矩阵满秩。 -
如果有一行为0,行列式就为0。
注:0行加上任意一行,都相等于原行列式有两行相等。基于性质4和性质5就可推得。 -
消元法变成三角阵后,如作 A = L U A=LU A=LU变换,三角阵 U U U主列上(即主对角线上)元素的乘积即为行列式的值。
注:消元法不改变行列式的值。 -
当矩阵为奇异矩阵时(即不满秩),对应的行列式为0。
注:与性质5中的总结等价。 -
矩阵乘积的行列式等于行列式的乘积,即 det A B = det A det B \det{AB}=\det{A}\det{B} detAB=detAdetB
注:既然矩阵都可以化为对角阵,如果考虑对角矩阵的乘积,显然结果是成立的。进一步我们可以知道: det A − 1 = 1 / det A \det{A^{-1}} = 1/\det{A} detA−1=1/detA -
行列式与转置行列式的值相等。给出一个充分且简洁的证明:
∣ A T ∣ = ∣ A ∣ ⇒ ∣ U T L T ∣ = ∣ L U ∣ ⇒ ∣ U T ∣ ∣ L T ∣ = ∣ L ∣ ∣ U ∣ (性质 9 )√ |A^T| = |A| \Rightarrow |U^TL^T| = |LU| \Rightarrow |U^T||L^T| = |L||U|(性质9)√ ∣AT∣=∣A∣⇒∣UTLT∣=∣LU∣⇒∣UT∣∣LT∣=∣L∣∣U∣(性质9)√
注:这说明行的性质可合理外推到列上去,比如某列为其余列的线性组合时,行列式也将为0,交换某两列,也将发生行列式的变号。
行列式等于主元的乘积,这暗示了这些主元(即特征值)的重要性。
行列式的展开
记住下面这个公式,即行列式可以取某一行展开:
det
A
=
a
i
1
C
i
1
+
a
i
2
C
i
2
+
⋯
+
a
i
n
C
i
n
\det A = a_{i1}C_{i1}+a_{i2}C_{i2}+\cdots+a_{in}C_{in}
detA=ai1Ci1+ai2Ci2+⋯+ainCin
其中C被称为代数余子式,是取了变换符号后的余子式(cofactor)。即
C
i
j
=
(
−
1
)
i
+
j
det
M
i
j
C_{ij} = (-1)^{i+j}\det M_{ij}
Cij=(−1)i+jdetMij
余子式即为划出
a
i
j
a_{ij}
aij所在的行列元素后,剩下的元素所排列成的矩阵。
∣
+
a
i
j
−
.
.
.
∣
.
.
.
M
i
j
∣
\begin{vmatrix} \begin{array}{c:cc} \ +_{a_{ij}}& -_{...} \\ \hdashline |_{...}& M_{ij} \end{array} \end{vmatrix}
∣
∣ +aij∣...−...Mij∣
∣
举一个
3
×
3
3 \times 3
3×3行列式的计算为例,在Matlab中用det命令即可求矩阵行列式的值:
∣
1
2
3
4
5
6
7
8
9
∣
=
1
(
−
1
)
2
∣
5
6
8
9
∣
+
2
(
−
1
)
3
∣
4
6
7
9
∣
+
3
(
−
1
)
4
∣
4
5
7
8
∣
=
−
3
+
12
−
9
=
0
\begin{vmatrix} 1 & 2 & 3\\ 4& 5 & 6 \\ 7 &8 &9 \\ \end{vmatrix} = 1(-1)^2 \begin{vmatrix} 5 & 6 \\ 8&9 \\ \end{vmatrix} +2(-1)^3\begin{vmatrix} 4 & 6 \\ 7 &9 \\ \end{vmatrix} +3(-1)^4\begin{vmatrix} 4 & 5 \\ 7 & 8 \\ \end{vmatrix} =-3+12-9=0
∣
∣147258369∣
∣=1(−1)2∣
∣5869∣
∣+2(−1)3∣
∣4769∣
∣+3(−1)4∣
∣4758∣
∣=−3+12−9=0
>> A = [1,2,3;4,5,6;7,8,9];
>> det(A) % 行列式
ans =
-9.5162e-16
>> rank(A) % 秩
ans =
2
>> rref(A) % 最简行形式
ans =
1 0 -1
0 1 2
0 0 0
证明思路的关键在于取某一行逐次展开,就容易发现当取 a i j a_{ij} aij元素时,其余各行元素不能从已划去的行列中的选取,从而成为一个排列组合问题,即对于 n × n n \times n n×n的行列式而言,一共有 n ! n! n!个子项,排列成行列式看,就变成 n × n − 1 × ⋯ 1 n\times n-1 \times \cdots 1 n×n−1×⋯1的逐级分解,也就是行列式的逐级展开。
应用
Inverses(逆矩阵)
逆矩阵的显式表达:逆矩阵为代数余子式矩阵的转置除以原矩阵的行列式。即
A
−
1
=
C
T
/
det
A
A^{-1} = C^{T}/\det A
A−1=CT/detA
逆矩阵的推导要从行列式展开说起,即要说明
A
C
T
=
(
det
A
)
I
AC^{T} = (\det A) I
ACT=(detA)I成立:
[
a
11
a
12
a
13
a
21
a
22
a
23
a
31
a
32
a
33
]
[
C
11
C
21
C
31
C
12
C
22
C
32
C
13
C
23
C
33
]
=
[
det
A
0
0
0
det
A
0
0
0
det
A
]
\begin{bmatrix} a_{11} & a_{12} & a_{13}\\ a_{21}&a_{22} &a_{23} \\ a_{31} & a_{32} &a_{33} \end{bmatrix} \begin{bmatrix} C_{11} &C_{21} & C_{31}\\ C_{12}&C_{22} &C_{32} \\ C_{13} & C_{23} &C_{33} \end{bmatrix} = \begin{bmatrix} \det A & 0 & 0\\ 0&\det A &0 \\ 0& 0 &\det A \end{bmatrix}
⎣
⎡a11a21a31a12a22a32a13a23a33⎦
⎤⎣
⎡C11C12C13C21C22C23C31C32C33⎦
⎤=⎣
⎡detA000detA000detA⎦
⎤
关注对角线的元素,不难发现其就是行列式展开的表达式,而其余的零怎么说明呢?这是一个很好的问题。让我们来看这么个例子:
?
a
21
C
11
+
a
22
C
12
+
a
23
C
13
=
0
?a_{21}C_{11}+a_{22}C_{12}+a_{23}C_{13}=0
?a21C11+a22C12+a23C13=0
先摘引课本中对其的解释:
This is the cofactor rule for a new matrix, when the second row of A A A is copied into its first row. The new matrix A ∗ A^* A∗ has two equal rows, so det A ∗ A^* A∗ = 0. Notice that A ∗ A^* A∗ has the same cofactors C 11 C_{11} C11, C 12 C_{12} C12, C 13 C_{13} C13 as A A A-because all rows agree after the first row. Thus the remarkable multiplication is correct.
换言之,通过构造,下面两个矩阵第一行对应的代数余子式是相同的:
A
=
[
a
11
a
12
a
13
a
21
a
22
a
23
a
31
a
32
a
33
]
与
A
∗
=
[
a
21
a
22
a
23
a
21
a
22
a
23
a
31
a
32
a
33
]
⇒
det
A
∗
=
a
21
C
11
+
a
22
C
12
+
a
23
C
13
=
0
A = \begin{bmatrix} a_{11} & a_{12} & a_{13}\\ a_{21}&a_{22} &a_{23} \\ a_{31} & a_{32} &a_{33} \end{bmatrix} \ \ \ 与 \ \ \ A^* = \begin{bmatrix} a_{21}&a_{22} &a_{23}\\ a_{21}&a_{22} &a_{23} \\ a_{31} & a_{32} &a_{33} \end{bmatrix} \Rightarrow \det{A^*} =a_{21}C_{11}+a_{22}C_{12}+a_{23}C_{13}=0
A=⎣
⎡a11a21a31a12a22a32a13a23a33⎦
⎤ 与 A∗=⎣
⎡a21a21a31a22a22a32a23a23a33⎦
⎤⇒detA∗=a21C11+a22C12+a23C13=0
Cramer’s Rule(克莱姆法则)
对方程
A
x
=
b
Ax=b
Ax=b 而言,克莱姆法则是个“中看不中用”的的求解公式(不如消元法)。其主要意义在于显式给出了方程解的表达式,虽然做起来将十分繁琐。当
A
A
A的行列式不为0(或可逆时),
A
x
=
b
Ax = b
Ax=b方程的解为
x
1
=
det
B
1
det
A
x
2
=
det
B
2
det
A
⋯
x
n
=
det
B
n
det
A
x_1= \frac{\det B_1} {\det A} \ \ x_2= \frac{\det B_2} {\det A} \ \ \cdots \ x_n= \frac{\det B_n} {\det A} \
x1=detAdetB1 x2=detAdetB2 ⋯ xn=detAdetBn
其中
B
i
B_i
Bi列为
A
A
A 的第
i
i
i 用
b
b
b 列替换后的结果。
思路1
有两种思路说明这个结果,第一种是直接代入逆矩阵的表达式,即
x
=
A
−
1
b
=
C
T
b
det
A
x = A^{-1}b=\frac{C^{T} b}{\det A}
x=A−1b=detACTb
取
x
1
x_1
x1为例,对应的
C
T
b
C^T b
CTb即为
b
1
C
11
+
b
2
C
21
+
b
3
C
31
=
0
b_{1}C_{11}+b_{2}C_{21}+b_{3}C_{31}=0
b1C11+b2C21+b3C31=0
既然行列式转置后值不变,那么取某行展开,当然也就可以取某列展开。而当取某列展开时,我们知道,下面这两个矩阵对应第一列的代数余子式是相同的:
A
=
[
a
11
a
12
a
13
a
21
a
22
a
23
a
31
a
32
a
33
]
与
B
1
=
A
∗
=
[
b
1
a
12
a
13
b
2
a
22
a
23
b
3
a
32
a
33
]
⇒
det
A
∗
=
b
1
C
11
+
b
2
C
21
+
b
3
C
31
A = \begin{bmatrix} a_{11} & a_{12} & a_{13}\\ a_{21}&a_{22} &a_{23} \\ a_{31} & a_{32} &a_{33} \end{bmatrix} \ \ \ 与 \ \ \ B_1=A^* = \begin{bmatrix} b_{1} & a_{12} & a_{13}\\ b_{2}&a_{22} &a_{23} \\ b_{3} & a_{32} &a_{33} \end{bmatrix} \Rightarrow \det{A^*} =b_{1}C_{11}+b_{2}C_{21}+b_{3}C_{31}
A=⎣
⎡a11a21a31a12a22a32a13a23a33⎦
⎤ 与 B1=A∗=⎣
⎡b1b2b3a12a22a32a13a23a33⎦
⎤⇒detA∗=b1C11+b2C21+b3C31
因此,对于
C
T
b
C^Tb
CTb中对应
x
i
x_i
xi的行而言,其可以分别用
B
i
B_i
Bi进行替换,并能得到同样的结果。
思路2
这种思路更为巧妙,借助单位阵,我们做如下变换:
[
a
1
a
2
a
3
]
[
x
1
0
0
x
2
1
0
x
3
0
1
]
=
[
b
a
2
a
3
]
=
B
1
\begin{bmatrix} \\ a_{1} & a_{2} & a_{3} \\ \\ \end{bmatrix} \begin{bmatrix} x_1& 0 &0 \\ x_{2} & 1 & 0\\ x_3 &0 & 1 \\ \end{bmatrix} = \begin{bmatrix} \\ b & a_{2} & a_{3} \\ \\ \end{bmatrix} =B_1
⎣
⎡a1a2a3⎦
⎤⎣
⎡x1x2x3010001⎦
⎤=⎣
⎡ba2a3⎦
⎤=B1
两边取行列式,借助行列式的性质7和9,就有:
(
det
A
)
x
1
=
det
B
1
(\det {A}) x_1 =\det B_1
(detA)x1=detB1
Volumes(体积)
在学向量的叉乘时我们就曾接触过这样的式子,如计算向量
a
⃗
=
(
1
,
2
,
3
)
\vec{a}=(1,2,3)
a=(1,2,3)与
b
⃗
=
(
4
,
5
,
6
)
\vec{b}=(4,5,6)
b=(4,5,6)的叉乘:
a
⃗
×
b
⃗
=
∣
1
2
3
4
5
6
i
⃗
j
⃗
k
⃗
∣
=
(
12
−
15
)
i
⃗
+
(
12
−
6
)
i
⃗
+
(
5
−
8
)
k
⃗
=
(
−
3
,
6
,
−
3
)
\vec{a} \times \vec{b} = \begin{vmatrix} 1& 2 &3 \\ 4 & 5 & 6\\ \vec i &\vec j & \vec k \\ \end{vmatrix} =(12-15)\vec{i}+(12-6)\vec{i}+(5-8)\vec{k}=(-3,6,-3)
a×b=∣
∣14i25j36k∣
∣=(12−15)i+(12−6)i+(5−8)k=(−3,6,−3)
>> a=[1,2,3];b=[4,5,6];
>> cross(a,b)
ans =
-3 6 -3
更进一步,我们求上述结果与
c
⃗
=
(
0
,
1
,
0
)
\vec{c}=(0,1,0)
c=(0,1,0)的点积,即求三重积,而这表示的正是这三个向量所形成的平行六面体的体积:
a
⃗
×
b
⃗
⋅
c
⃗
=
∣
1
2
3
4
5
6
0
1
0
∣
=
(
12
−
15
)
+
(
12
−
6
)
1
+
(
5
−
8
)
0
=
6
\vec{a} \times \vec{b} \ \cdot \vec{c} = \begin{vmatrix} 1& 2 &3 \\ 4 & 5 & 6\\ 0 &1 & 0 \\ \end{vmatrix} =(12-15)+(12-6)1+(5-8)0=6
a×b ⋅c=∣
∣140251360∣
∣=(12−15)+(12−6)1+(5−8)0=6
>> c=[0,1,0];
>> dot(c,cross(a,b))
ans =
6
我们可以基于对三重积的理解推导平面上的三角形面积公式,即可以看成一个高为1的平行六面体的体积的一半,于是,就有:
1
2
∣
x
1
y
1
1
x
2
y
2
1
x
3
y
3
1
∣
=
1
2
[
(
x
2
y
3
−
x
3
y
2
)
+
(
x
3
y
1
−
x
1
y
3
)
+
(
x
1
y
2
−
x
2
y
1
)
]
=
1
2
[
x
1
(
y
2
−
y
3
)
+
x
2
(
y
3
−
y
1
)
+
x
3
(
y
1
−
y
2
)
]
\frac{1}{2} \begin{vmatrix} x_1& y_1 &1 \\ x_2 & y_2 & 1\\ x_3 &y_3 & 1 \\ \end{vmatrix} =\frac{1}{2} [(x_2y_3-x_3y_2)+(x_3y_1-x_1y_3)+(x_1y_2-x_2y_1)]=\frac{1}{2}[x_1(y_2-y_3)+x_2(y_3-y_1)+x_3(y_1-y_2)]
21∣
∣x1x2x3y1y2y3111∣
∣=21[(x2y3−x3y2)+(x3y1−x1y3)+(x1y2−x2y1)]=21[x1(y2−y3)+x2(y3−y1)+x3(y1−y2)]
特别地,如当
(
x
3
,
y
3
)
=
(
0
,
0
)
(x_3,y_3)=(0,0)
(x3,y3)=(0,0)时,就有面积公式进一步可化简为:
1
2
∣
x
1
y
1
x
2
y
2
∣
=
1
2
(
x
1
y
2
−
x
2
y
1
)
\frac{1}{2} \begin{vmatrix} x_1& y_1 \\ x_2 & y_2 \end{vmatrix} = \frac{1}{2} (x_1y_2-x_2y_1)
21∣
∣x1x2y1y2∣
∣=21(x1y2−x2y1)
值得注意的是正交矩阵
Q
Q
Q,由于
Q
Q
T
=
I
QQ^T=I
QQT=I,所以两边取行列式时,有
(
det
Q
)
2
=
1
(\det Q) ^2=1
(detQ)2=1,相当于旋转矩阵Q只改变角度,而并不改变体积。这些知识有助于增进对电磁学中算子运算和信号与系统中相位旋转的理解,在接下来特征值的一讲中,我们将更具体地发现矩阵运算所带来的的丰富含义。