MIT 线性代数 Linear Algebra 20: 行列式的应用和物理意义
这一节,Prof. Strang主要讲了行列式的两个应用:求矩阵的逆,克拉默法则解 A x = b \bm{Ax=b} Ax=b。最后又讲了矩阵行列式的物理意义。
在开始本节的内容之前,我得强调一下,用行列式来计算是一件非常复杂的事情,因此通常我们不用行列式来求某个具体矩阵的逆或者解方程。最常用的还是matrix elimination:Gauss-Jordan 消元求逆,Gauss消元解方程。但是这不能说行列式解法不重要,因为他提供了一种analytical formula for “matrix inverse” or “solution to linear equations”. 换句话说,在橘真没有具体形式的时候,我们通常用的解方程或求逆算法都无法使用,这时候就可以把他们的逆或方程的解用行列式的方式表示出来。
用行列式求矩阵的逆
先把结论摆出来
A
−
1
=
1
det
A
C
⊤
(
1
)
\bm{A}^{-1}=\frac{1}{\text{det}\bm{A}} \bm{C}^\top~~~~(1)
A−1=detA1C⊤ (1)
其中 C n × n \bm{C}_{n\times n} Cn×n 是的每个元素是 A \bm{A} A 对应位置元素的代数余子式 (cofactor).
当然,逆存在的前提是 det ( A ) \text{det}(\bm{A}) det(A) 不为零,也就是说矩阵non-singular。
我们首先给一些例子,再看一下为什么这个等式成立。
例1: 假设
A
=
I
4
\bm{A=I_4}
A=I4 是单位阵, 那么
A
−
1
=
I
4
=
[
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
]
\bm{A}^{-1}=\bm{I_4}=\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix}
A−1=I4=⎣⎢⎢⎡1000010000100001⎦⎥⎥⎤
det ( A ) = 1 \text{det}(\bm{A})=1 det(A)=1
C = I 4 = [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ] \bm{C}=\bm{I_4}=\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} C=I4=⎣⎢⎢⎡1000010000100001⎦⎥⎥⎤
Eq. (1) 式成立。
例2: 假设
A
\bm{A}
A 是二阶矩阵
A
=
[
a
b
c
d
]
\bm{A}=\begin{bmatrix} a & b \\ c & d \\ \end{bmatrix}
A=[acbd]
可以验证其求逆公式确实符合 (1) 式
A
−
1
=
1
a
d
−
b
c
[
d
−
b
−
c
a
]
\bm{A}^{-1}=\frac{1}{ad-bc}\begin{bmatrix} d & -b \\ -c & a \\ \end{bmatrix}
A−1=ad−bc1[d−c−ba]
Reasoning: 现在我们来验证一下为什么 (1) 式成立。验证 (1) 是不是
A
−
1
\bm{A}^{-1}
A−1 的最好方法就是乘以
A
\bm{A}
A 看能不能得到单位阵。
A
A
−
1
=
1
det
A
A
C
⊤
(
2
)
\bm{AA}^{-1}=\frac{1}{\text{det}\bm{A}} \bm{A}\bm{C}^\top~~~~(2)
AA−1=detA1AC⊤ (2)
所以其实我们只用研究
A
C
⊤
\bm{A}\bm{C}^\top
AC⊤ 即可。让我们把这两个矩阵展开,
[
a
11
a
12
.
.
.
a
1
n
a
21
a
22
.
.
.
a
2
n
.
.
.
.
.
.
.
.
.
.
.
.
a
n
1
a
n
2
.
.
.
a
n
n
]
[
c
11
c
21
.
.
.
c
n
1
c
12
c
22
.
.
.
c
n
2
.
.
.
.
.
.
.
.
.
.
.
.
c
1
n
c
2
n
.
.
.
c
n
n
]
\begin{bmatrix} {a_{11}} & {a_{12}} & ... & {a_{1n}} \\ {a_{21}} & {a_{22}} & ... & {a_{2n}} \\ ... & ... & ... & ... \\ {a_{n1}} & {a_{n2}} & ... & {a_{nn}} \\ \end{bmatrix} \begin{bmatrix} {c_{11}} & {c_{21}} & ... & {c_{n1}} \\ {c_{12}} & {c_{22}} & ... & {c_{n2}} \\ ... & ... & ... & ... \\ {c_{1n}} & {c_{2n}} & ... & {c_{nn}} \\ \end{bmatrix}
⎣⎢⎢⎡a11a21...an1a12a22...an2............a1na2n...ann⎦⎥⎥⎤⎣⎢⎢⎡c11c12...c1nc21c22...c2n............cn1cn2...cnn⎦⎥⎥⎤
其中 c i j c_{ij} cij 是 a i j a_{ij} aij 的cofactor. 注意 C \bm{C} C 被转置了。
- 首先,我们看 A \bm{A} A 的第一行乘以 C \bm{C} C 的第一列是什么结果, 这就是行列式 det ( A ) \text{det}(\bm{A}) det(A) 按第一行展开嘛,所以内积结果就是 det ( A ) \text{det}(\bm{A}) det(A).
- 更进一步, A \bm{A} A 的第 i i i 行乘以 C \bm{C} C 的第 i i i 列就是行列式按第 i i i 行展开,所以内积结果就是 det ( A ) \text{det}(\bm{A}) det(A). 因此 A C ⊤ \bm{A}\bm{C}^\top AC⊤ 的对角线元素全部都是 det ( A ) \text{det}(\bm{A}) det(A).
- 我们再来看 A C ⊤ \bm{A}\bm{C}^\top AC⊤ 的非对角线元素。实际上就是 A \bm{A} A 的第 i i i 行乘以 C \bm{C} C 的第 j j j 列的结果 ( i ≠ j i\neq j i=j). 此时相当于是 A \bm{A} A 的第 i i i 行 乘以其 第 j j j 行对应的cofactor。这个结果是零。究其原因,我们可以把它想象成把矩阵 A \bm{A} A 的第 j j j 行换成跟第 i i i 行一样的元素之后得到的矩阵的行列式 (按照第 j j j 行展开后就是内积结果)。这个新得到的矩阵有两个相同的行,因此行列式为 0.
Overall, A C ⊤ = det ( A ) I n \bm{A}\bm{C}^\top=\text{det}(\bm{A})\bm{I_n} AC⊤=det(A)In. 代入(2)则有 A A − 1 = I n \bm{AA}^{-1}=\bm{I_n} AA−1=In, (1) 式成立。
克拉默法则
行列式的第二个应用由 Cramer 给出,实际上他是用行列式的方式把 A x = b \bm{Ax=b} Ax=b 在 A \bm{A} A满秩时的唯一解表示了出来。
首先,
A
x
=
b
\bm{Ax=b}
Ax=b
x = A − 1 b = 1 det ( A ) C ⊤ b \bm{x=A^{-1}b}=\frac{1}{\text{det}(\bm{A})}\bm{C}^\top \bm{b} x=A−1b=det(A)1C⊤b
Cramer 给了这样一个insight,
x
\bm{x}
x 的每一项的形式长这样:
x
j
=
det
(
B
j
)
det
(
A
)
(
3
)
\bm{x}_j=\frac{\text{det}(\bm{B_j})}{\text{det}(\bm{A})}~~~~(3)
xj=det(A)det(Bj) (3)
而且他还给出了
B
j
\bm{B_j}
Bj 的形式。其实只要有这个insight,
B
j
\bm{B_j}
Bj 也不是很难找,拆解开
C
⊤
b
\bm{C}^\top \bm{b}
C⊤b, we have
[
c
11
c
21
.
.
.
c
n
1
c
12
c
22
.
.
.
c
n
2
.
.
.
.
.
.
.
.
.
.
.
.
c
1
n
c
2
n
.
.
.
c
n
n
]
[
b
1
b
2
.
.
.
b
n
]
\begin{bmatrix} {c_{11}} & {c_{21}} & ... & {c_{n1}} \\ {c_{12}} & {c_{22}} & ... & {c_{n2}} \\ ... & ... & ... & ... \\ {c_{1n}} & {c_{2n}} & ... & {c_{nn}} \\ \end{bmatrix} \begin{bmatrix} b_1 \\ b_2 \\ ... \\ b_n \\ \end{bmatrix}
⎣⎢⎢⎡c11c12...c1nc21c22...c2n............cn1cn2...cnn⎦⎥⎥⎤⎣⎢⎢⎡b1b2...bn⎦⎥⎥⎤
所以 B j \bm{B_j} Bj 其实就是矩阵 A \bm{A} A 把第 j j j 列换成 b \bm{b} b 就行了。
最后,我们在强调一遍,给定一个具体的matrix,没人会用 (1) 和 (3)来求逆和解方程,他们的计算复杂度太高了。
行列式的物理意义
Prof. Strang最后给出了一个有趣的idea,关于行列式的物理意义:矩阵的行列式是一个box的体积,box的边由矩阵的各行构成
如果所示,设一个三阶矩阵各行是 a 1 \bm{a_1} a1, a 2 \bm{a_2} a2, a 3 \bm{a_3} a3, 那 A \bm{A} A 的行列式就是如图所示平行六面体的体积。Prof. Strang额外说了一些reasoning,有兴趣的同学可以去听听~