碎碎念

好久不更新,四月重新开始!

线性代数 06

矩阵的行列式

矩阵的行列式是非常重要的一个概念,包括到后面的矩阵求导什么的,都有用到。如果上过吴恩达的machine learning课程就会发现这一点。一般来说我们用\(\det(A)\)表示行列式。

二阶方阵还有三阶方阵的行列式计算方法都是高中的内容,不多说,回顾一下行列式的一些特性:

  1. 单位矩阵的行列式一定为1
  2. 交换矩阵两个行的位置一次,行列式乘一次\(-1\)
  3. 如果矩阵线性相关,行列式为0
  4. \(\det(\begin{bmatrix} ta &tb \\ c &d \end{bmatrix}) = t \det(\begin{bmatrix} a &b \\ c &d \end{bmatrix})\)
  5. \(\det(\begin{bmatrix} a + a' &b + b' \\ c &d \end{bmatrix}) = \det(\begin{bmatrix} a &b \\ c &d \end{bmatrix}) + \det(\begin{bmatrix} a' &b' \\ c &d \end{bmatrix})\)
  6. \(\det(AB) = \det(A) \det(B)\)
  7. \(\det(A^{\top}) = \det(A)\)

那行列式和前面的矩阵可逆之间有什么关系呢?很直觉的,如果矩阵的行列式为0,那么这个矩阵就不可逆,如果行列式不为0,那么这个矩阵就可逆。

大部分人应该都忘了大学线代教的高阶矩阵如何计算行列式,所以这里复习一下。我们引入一个定义\(A_{ij}\)表示的是原来的矩阵\(A\)不包含\(i\)\(j\)列的所有元素,也可以记做\(c_{ij}\)。这个英文是cofactor,就是代数余子式,所以取了首字母。然后我们可以这样定义行列式: \[ \det(A) = a_{11} c_{11} + a_{12} c_{12} + \cdots + a_{1n} c_{1n} \]

其中\(c_{ij} = (-1)^{i+j} \det A_{ij}\)

当然,除了用一行的元素,也可以用一列的元素。

那这样一来,不论是多么高阶的矩阵,我们都可以不断拆解,直到一直拆到二阶矩阵求行列式。

行列式的计算大概就这么一回事,计算量比较大,原理不难。