Dark Dwarf Blog background

行列式

行列式

1. 基本概念

a.a. 定义

对于 2x2 矩阵

A=[abcd]A=\begin{bmatrix}a & b\\ c & d\end{bmatrix}

它的行列式为:

detA=adbc\det A = ad - bc

b.b. 性质

行列式具有如下性质:

  1. 交换矩阵的任意两行,行列式的值乘以 -1。
  2. 行列式在某一行上是线性的(前提是其他行保持不动)。
  3. 消元不改变行列式的值。这个可以通过性质2来证明:
det[abcladlb]=det[abcd]ldet[abab]=det[abcd]\det\begin{bmatrix} a & b \\ c - l a & d - l b \end{bmatrix} = \det\begin{bmatrix} a & b \\ c & d \end{bmatrix} - l \det\begin{bmatrix} a & b \\ a & b \end{bmatrix} = \det\begin{bmatrix} a & b \\ c & d \end{bmatrix}

通过消元性质可以得到性质4:

  1. 行列式的值等于主元乘积。我们对矩阵进行消元,得到类似下面的上三角矩阵:
U=[p10p200p3]U = \begin{bmatrix} p_1 & * & * \\[4pt] 0 & p_2 & * \\[4pt] 0 & 0 & p_3 \end{bmatrix}

而对于上三角矩阵,行列式为对角线元素的乘积,也即主元乘积。

如果在消元过程中进行了行交换,需要乘上对应的 -1。

  1. 行列式为0的矩阵不可逆。这个可以通过 2x2 矩阵的分母看出,分母不可以为 0:
A1=1adbc[dbca]A^{-1} = \frac{1}{ad - bc} \begin{bmatrix} d & -b \\ -c & a \end{bmatrix}

2. 克拉默法则

克拉默法则提出了一种用行列式求解 Ax=bAx=b 的方法。假设我们有一个 3x3 矩阵,为了求解 x1x_1,我们构造下面的矩阵乘法式子:

a.a. 基本概念

A×[x100x210x301]=[b1a12a13b2a22a23b3a32a33]A \times \begin{bmatrix} x_1 & 0 & 0 \\ x_2 & 1 & 0 \\ x_3 & 0 & 1 \end{bmatrix} = \begin{bmatrix} b_1 & a_{12} & a_{13} \\ b_2 & a_{22} & a_{23} \\ b_3 & a_{32} & a_{33} \end{bmatrix}

这里的两个矩阵分别通过把单位矩阵的第一列换成 xx 和把 AA 的第一列换成 bb。我们记右边的矩阵为 B1B_1。根据行列式乘法性质:

det(A)×x1=det(B1)\det(A) \times x_1 = \det(B_1)

即得:

x1=detB1detAx_1 = \frac{\det B_1}{\det A}

其他列同理:对 xix_i,只需将 AA 的第 ii 列替换为 bb 即可。以下面的方程组为例:

3x1+4x2=25x1+6x2=4\begin{aligned} 3x_1 + 4x_2 &= 2 \\ 5x_1 + 6x_2 &= 4 \end{aligned}

有:

detA=3456=3645=1820=2\det A = \begin{vmatrix}3 & 4\\[4pt]5 & 6\end{vmatrix} = 3\cdot6 - 4\cdot5 = 18 - 20 = -2
detB1=2446=2644=1216=4\det B_1 = \begin{vmatrix}2 & 4\\[4pt]4 & 6\end{vmatrix} = 2\cdot6 - 4\cdot4 = 12 - 16 = -4
detB2=3254=3425=1210=2\det B_2 = \begin{vmatrix}3 & 2\\[4pt]5 & 4\end{vmatrix} = 3\cdot4 - 2\cdot5 = 12 - 10 = 2

b.b. 逆矩阵求解

我们可以使用克拉默法则来求解逆矩阵。我们将逆矩阵求解转化为求解方程 AA1=IAA^{-1}=I

我们一列一列地求解。例如,对于A1A^{-1} 的第1列,我们转化为解方程

Ax=(100)Ax = \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}

根据克拉默法则,当 b=(100)b = \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} 时,矩阵 BjB_j 的行列式其实就变成了 AA代数余子式

detB1  =  1a12a130a22a230a32a33=C11\det B_{1} \;=\; \begin{vmatrix} 1 & a_{12} & a_{13} \\ 0 & a_{22} & a_{23} \\ 0 & a_{32} & a_{33} \end{vmatrix} = C_{11}

同理,求 x2x_2 时,把 AA 的第二列换成 (1,0,0)(1, 0, 0),计算出来的行列式正好对应 C12C_{12}。于是有:

A1=1detACTA^{-1} = \frac{1}{\det A} C^T

其中CC代数余子式矩阵,每个元素 CijC_{ij} 是去掉第 ii 行第 jj 列后的行列式乘以 (1)i+j(-1)^{i+j}

该公式的证明如下:我们转而证明 ACT=(detA)IA C^T = (\det A) I

  • 对角线元素为:
Dii=ai1Ci1+ai2Ci2++ainCin.D_{ii} = a_{i1} C_{i1} + a_{i2} C_{i2} + \dots + a_{in} C_{in}.

这正好是行列式 detA\det A 按第 ii 行展开的公式。因此:

Dii=detA,i.D_{ii} = \det A, \quad \forall i.
  • 对于非对角线元素:
Dij=ai1Cj1+ai2Cj2++ainCjn.(ij)(1)D_{ij} = a_{i1} C_{j1} + a_{i2} C_{j2} + \dots + a_{in} C_{jn}. \quad (i \neq j) \tag{1}

可以发现在这个式子里,我们交换iijj得到的行列式是一样的,这说明行列式中有两个相同的行,因此这些位置的值为0。于是:

ACT=[detA00detA]=(detA)IA C^T = \begin{bmatrix} \det A & 0 & \dots \\ 0 & \det A & \dots \\ \dots & \dots & \dots \end{bmatrix} = (\det A) I