1、概念:
只有方阵$A$才有 $\color{red} {\small 行列式}$,是方阵的一个属性,记作: $det(A)$ 或写成 $|A|$,描述的是一个向量组的 $\color{red} {\small 有向“体”积}$,矩阵的行列式计算结果是一个纯量,通过这个存量可以一定程度上刻画向量组之间的不同。概念上类似于研究一个数的时候,数有大小,符号,约数,是否素数等属性。
一个空间有无数组基,比如在二维空间中,描述生成二维空间的不同组基之间的差异,就可以通过计算每组基的向量所形成的 面积 这么一个 纯量 来反映基之间的差异。
对于一个三维空间,那么这个纯量 就是计算的由构成三维空间的一组基的3个向量所形成的体的一个体积;
推广到更高维的空间,空间的基所形成的这个"体"也是存在的,但无法用几何可视化。
二阶行列式的计算
示例: 计算二维空间一组基向量的对应方阵矩阵的 行列式
对于二维空间内的一组基,$\vec u =(a,b)$和$\vec v=(c,d)$,这组基的向量按行排列成方阵$A = \begin{bmatrix} a&b \\ c&d \end{bmatrix}$
则有$\det (A) = |A| = (a+c)(b+d) - 2bc - cd -ab = ad -bc$由$\det (A)$的结果可知对于一个二阶方阵,它的行列式的值就是主对角线上元素的乘积减去非主对角线上元素的乘积。
2、行列式是 $\color{red} {\small 有向“体”积}$ 的概念:
通过求二阶方阵$A = \begin{bmatrix} a&b \\ c&d \end{bmatrix}$的一个行列式得到$\det (A) = ad -bc$
可以发现当交换矩阵$A$两行就有对于$B= \begin{bmatrix} c&d \\ a&b \end{bmatrix}$,$\det(B) = cd -ab = - \det(A)$ ,从而说明,$\color{red} {\small 行列式}$ 作为矩阵的一个属性,不能简单的仅表示这组向量构成的空间体的体积,而是一组向量在空间中形成的 有向体积,这个有向指的是行列式计算结果这个 纯量 是一个有正负号($\color {darkred} {\pm}$)的值,不同于向量,向量的方向有无数个,而行列式的值是表示在一个一维空间的纯量,所以方向只有正负两种情况 。
所以在行列式中,向量的排列顺序是有意义的($\color {grey} {\small 行向量从上到下的排列顺序,任意交换两行,则行列式的值取反}$)。
3、行列式的基本性质
- $\det(I) = 1$ 单位矩阵的行列式的值是1 ;
- 交换行列式的两行, 则行列式的值取反 ;
- 方阵的某一行乘以一个数$k$,则其对应的行列式的值也缩放了$k$倍(对于$k$,如果是小数就是缩小,大于1就是放大)。 那么就有$\det (kA) = k^{n} \cdot \det(A)$,即根据矩阵基础运算,矩阵乘以一个常数,就是所有行都乘以这个数,对一个$n\times n$矩阵的所有行都乘以一个常数$k$,就是对行列式的值缩放了$k^{n}$倍;
- 当方阵的某一行加上一个等维向量,其行列式可以作如下拆分 $ | \begin{matrix} a+x&b+y \\ c&d \end{matrix} | = | \begin{matrix} a&b \\ c&d \end{matrix} | + | \begin{matrix} x&y \\ c&d \end{matrix} | $
如何行列式中存在 相同的两行 ,那么行列式的值为 0 :
$\because $ 对于一个存在相同行的矩阵$A$,当交换矩阵$A$内的相同行得到矩阵$A'$,就有$\det(A) = -\det(A')$,
$\therefore$由于矩阵$A'$是矩阵$A$内交换相同两行得到的,那么矩阵$A$等于矩阵$A'$,所以$\det(A) = \det(A') = -\det(A')$ ,因此$\det(A) = 0$。
在二维空间,当两个向量共线,那么面积为0;
在三维空间中,如果两个向量共线,形成的是一个平面,体积为0;
高维空间中,如果两个向量共线,那么就会形成一个$(n-1)$维的”体“ ,那么这个体在$n$维空间中是没有体积的。
$\therefore$ 如果行列式内存在线性相关的行,也即一行是另一方的$k$倍,则行列式的值为0 ,可证如下:
$ | \begin{matrix} ka&kb \\ a&b \end{matrix} | = k \cdot | \begin{matrix} a&b \\ a&b \end{matrix} | = k \cdot 0 = 0$如果行列式中有一行为0,也即矩阵的行向量中出现零向量,那么行列式的值为 0
$\because$ 除开零向量,那么剩余的 $n-1$个向量在$n$维空间中最高只能形成一个$n-1$维的体,在$n$维空间中也是没有体积的。
$ | \begin{matrix} a&b \\ 0&0 \end{matrix} | = | \begin{matrix} a&b \\ 0a&0b \end{matrix} | = 0 \cdot | \begin{matrix} a&b \\ a&b \end{matrix} | = 0$
小结论:一组线性相关的向量,它们按行排列构成的方阵行列式值为0,意味着矩阵不可逆。而行列式的不为0,表明矩阵可逆。(这条性质是求特征值特征向量的关键).
$det(A) = 0 \to A 不可逆$
$det(A) \neq 0 \to A 可逆$
4、行列式的标准计算方法
由行列式的基本性质,如果一个行列式的一行加(减)另一行的$k$倍,那么行列式的值不变:
$ | \begin{matrix} a&b&c \\ d&e&f \\ g&h&i \end{matrix} | = | \begin{matrix} a&b&c \\ d&e&f \\ g-ka&h-kb&i-kc \end{matrix} | = | \begin{matrix} a&b&c \\ d&e&f \\ g&h&i \end{matrix} | - k \cdot | \begin{matrix} a&b&c \\ d&e&f \\ a&b&c \end{matrix} | $
因为$ k \cdot | \begin{matrix} a&b&c \\ d&e&f \\ a&b&c \end{matrix} | = 0$
所以$ | \begin{matrix} a&b&c \\ d&e&f \\ g&h&i \end{matrix} | = | \begin{matrix} a&b&c \\ d&e&f \\ g-ka&h-kb&i-kc \end{matrix} | $成立。
这种通过执一行加(减)另一行的$k$倍,且保持行列式的值不变的处理方法也就是所谓的$Guass 消元法$。一个矩阵的行列式的值等同于其执行$Guass-Jordan$消元后的结果。但是这里对矩阵的行列式执行高斯消元的过程中不能执行归一化,也即不能对某一行乘以$k$倍($\color {grey} {\small 方阵的某一行乘以一个数k,则其对应的行列式的值也缩放了k倍}$),可以执行行(列)的交换操作但是要注意变换结果的符号(奇数次交换行列式的值取负,偶数次取正)。
$Guass$ 消元获得 上 三角矩阵$U$ (矩阵主对角线上面的元素是非零的)
$Guass-Jordan$ 过程获得 对角矩阵$D$ (矩阵主对角线上的元素是非零的,其它位置的元素都为0)
如果矩阵$A$执行 高斯约旦消元后 出现零行,那么$det(A) = 0$
如果矩阵$A$执行 高斯约旦消元后 得到对角矩阵$D$,那么$det(A) $就是主对角线上所有元素的乘积:
那么对于一些特殊的矩阵,像下三角矩阵$L$和上三角矩阵$U$,我们可以不执行Jordan 消元过程直接计算行列式的值,因为即使执行Jordan 消元过程化为了对角矩阵,但是该过程却并不改变下三角矩阵$L$和上三角矩阵$U$主对角线上的元素,所以对于一个下三角矩阵$L$或上三角矩阵$U$,它们的行列式的值就是主对角线上所有元素的乘积:
综上,计算一个矩阵$A$的行列式的值,只需要对矩阵$A$执行$Guass$消元处理得到上三角矩阵,然后乘积这个上三角矩阵主对角线上元素的结果就是矩阵$A$的行列式的值。
5、行列式与初等矩阵的联系
行列式的另一个重要性质: $\det (A\cdot B) =\det (A) \cdot \det (B)$
对于这个性质,从几何意义上也即用空间体的体积的乘积来理解,它的意义就不大明确。需要从代数角度进行证明和理解:
情况一,相乘的两矩阵$A$,$B$中存在线性相关行
两个矩阵$A$,$B$相乘,其中如果有一个矩阵内存在某一行和其它行线性相关的话,那么$A \cdot B$中原本线性相关的行还是保持线性相关的,所以$\det (A \cdot B) = 0$。所以就有$\det (A) = 0$或$\det (B) = 0$ , 因此$\det (A \cdot B) = 0$ 就能得证;
情况二,相乘的两矩阵$A$,$B$中所有行都线性无关
那么对于一个方阵$A$,如果方阵内所有的行向量线性无关,那么执行高斯约旦消元后得到的矩阵行最简形式就是一个单位矩阵$reff(A) = I$,进而,也就意味着方阵$A$可以表示为系列初等矩阵的乘积的形式$A = E_n \cdot E_{n-1} \cdots E_3 \cdot E_2 \cdot E_1$;
初等矩阵$E$是对单位矩阵$I$执行初等行变换的结果矩阵,对于初等矩阵的行列式就只有三种形式:
- 如果$E$是单位矩阵的某一行乘以$k$ ,那么$det (E) = k$ ;
- 如果$E$是单位矩阵的某两行交换, 那么 $det (E) = -1$ ;
- 如果$E$是单位矩阵的某行加(减)零一行的$k$倍, 那么 $det (E) = 1$;
对于一个初等矩阵$E$ 乘以 一个方阵$B$ ,如果$E$是单位矩阵的某一行乘以$k$ ,这样$E \cdot B$ 的结果就是对矩阵 $B$中的某一行乘以常数$k$,那么$\det (E \cdot B) = k \cdot \det (B) = \det (E) \cdot \det (B)$;
进而,对于$\det (E_n \cdot E_{n-1} \cdots E_3 \cdot E_2 \cdot E_1 \cdot B)$
令$E_{n-1} \cdots E_3 \cdot E_2 \cdot E_1 \cdot B = B'$
就有 $\det (E_n \cdot E_{n-1} \cdots E_3 \cdot E_2 \cdot E_1 \cdot B) = \det (E_n \cdot B') = \det (E_n) \cdot \det (B')$ ,,, 依此类推
可以得出 $\det (E_n \cdot E_{n-1} \cdots E_3 \cdot E_2 \cdot E_1 \cdot B) = \det (E_n) \cdot \det (E_{n-1}) \cdots \det (E_2) \cdot \det (E_1) \cdot \det (B)$
进而,对于$\det (A \cdot B)$,由于两矩阵$A$,$B$中所有行都线性无关,所以$A$,$B$都可以拆分成系列初等矩阵的乘积
那么就有 $\det (A) = \det (E_k \cdot E_{k-1} \cdots E_2 \cdot E_1 \cdot I) = \det (E_k ) \cdot \det (E_{k-1} ) \cdots \det (E_2 ) \cdot \det (E_1 ) \cdot 1$
$\therefore \det (A \cdot B) =\det (E_k \cdot E_{k-1} \cdots E_2 \cdot E_1 \cdot I \cdot B) = \det (E_k ) \cdot \det (E_{k-1} ) \cdots \det (E_2 ) \cdot \det (E_1 ) \cdot \det (B) = \det (A) \cdot \det (B)$
根据性质$\det (A\cdot B) =\det (A) \cdot \det (B)$,可以推出 $\det (A \cdot A^{-1}) = \det (A) \cdot \det (A^{-1}) = \det (I) = 1 $
从而 $\det (A^{-1}) = \frac {1}{\det (A)}$,这个结论意味着 如果矩阵$A$的存在逆的话,它的行列式的值不能为零
6、行列式的行式与列式概念
上面所有讨论的都是将待研究向量组按行的形式排列来看行列式,也就是"行式"的概念,但是对于行列式的值来说,向量组按行排列或按列向量的形式排列来计算的话,其结果是一样的,也即: $ \det \left ( \begin{array} \ a&b \\ c&d \end{array} \right ) = \det \left ( \begin{array} \ a&c \\ b&d \end{array} \right ) $ ,这就是行列式的 "行式" 即 "列式"概念。
行列式的行式 即 列式 换一种表达方式即 : $\det (A) = \det (A^{T})$,矩阵的转置 指沿着矩阵主对角线交换上下两边的元素位置。
6、行列式的行式与列式概念
上面所有讨论的都是将待研究向量组按行的形式排列来看行列式,也就是"行式"的概念,但是对于行列式的值来说,向量组按行排列或按列向量的形式排列来计算的话,其结果是一样的,也即: $ \det \left ( \begin{array} \ a&b \\ c&d \end{array} \right ) = \det \left ( \begin{array} \ a&c \\ b&d \end{array} \right ) $ ,这就是行列式的 "行式" 即 "列式"概念。
行列式的行式 即 列式 换一种表达方式即 : $\det (A) = \det (A^{\intercal})$,矩阵的转置 指沿着矩阵主对角线交换上下两边的元素位置。
对于任意一个矩阵$A$,可以通过执行LU分解成$A=P \cdot LU \cdot P'$,其中$P$是行变换矩阵,$P'$是列变换矩阵:
从而,$\det (A) = \det (PLUP') = \det (P) \cdot \det (L) \cdot \det (U) \cdot \det (P') $;
那么就有,$\det (A^\intercal) = \det ( \ (PLUP')^\intercal \ )$ ,由矩阵的基本运算,$(PLUP')^\intercal = P'^\intercal \cdot U^\intercal \cdot L^\intercal \cdot P^\intercal$
从而,$\det (A^\intercal) = \det ( \ (PLUP')^\intercal \ ) = \det (P'^\intercal \cdot U^\intercal \cdot L^\intercal \cdot P^\intercal) = \det (P'^\intercal) \cdot \det(U^\intercal) \cdot \det (L^\intercal) \cdot \det (P^\intercal)$ ;
矩阵分解出来的$L$和$U$矩阵都属于三角矩阵,而对于转置后的$L^\intercal$和$U^\intercal$矩阵,由于转置变换并不改变矩阵主对角线上元素的位置,所以由行列式的标准计算方法可得 $\det (L) = \det (L^\intercal) , \det (U) = \det (U^\intercal)$ ;
由标准单位矩阵交换某两行之后得到初等变换矩阵$E$,行变换初等矩阵$E$上的元素关于矩阵主对角线对称,因此执行转置之后的结果还是$E$,即$E^\intercal = E \to \det (E^\intercal) = \det (E)$,从而矩阵分解的行变换矩阵$P$的转置矩阵的行列式$\det (P^\intercal) = \det (E^\intercal_k \cdot E^\intercal_{k-1} \cdots E_{2}^\intercal \cdot E^\intercal_{1}) = \det (P)$;
由于单位矩阵$I$既可以从行向量,也可以从列向量上看,转置意味着行向量与列向量的互换,那么其中交换任意两个列向量的位置,转置后的结果等价于交换两个行向量的位置,所以列交换矩阵$P'$的转置$P'^T$是行交换矩阵,那么就有$\det (P'^\intercal) = \det (\ (P'^\intercal)^\intercal \ ) = \det (P')$。
综上,$\det (L) = \det (L^\intercal) ; \det (U) = \det (U^\intercal) ; \det (P) = \det (P^\intercal) ; \det (P') = \det (P'^\intercal)$
所以,$\det (A) = \det (PLUP') = \det ( \ (PLUP')^\intercal \ ) = \det (A^\intercal)$,矩阵的行列式的“行式”与“列式”等价;
从列式的视角看待行列式,那么转换出行列式的行式基本性质:
- 行列式交换两列,则行列式的值取反;
- 行列式一列乘以常数$k$,则行列式缩放$k$倍
- 当行列式的某一列加上一个等维向量,其行列式可以作如下拆分 $ | \begin{matrix} a+x&c \\ b+y&d \end{matrix} | = | \begin{matrix} a&c \\ b&d \end{matrix} | + | \begin{matrix} x&c \\ y&d \end{matrix} | $
- 行列式的一列是其它列的线性组合,则行列式的值为0
- 如果一列加减另一列的$k$倍,行列式的值不变
- $\cdots $
7、行列式的代数理论与相关结论
以下相关结论一般不用作复杂计算,计算量太高,无实际上的应用价值 !!!
(1)、行列式的代数表达式 $\det{\begin{vmatrix} a{11}&a{12}&\cdots &a{1n}\
a{21}&a{22}&\cdots &a{2n}\
\cdots &\cdots &\cdots &\cdots \
a{n1}&a{n2}&\cdots &a{nn}\end{vmatrix}} = \sum{i=1}^{n} a{1i}A{1i}$ ,意思是每次取方阵的中第一行的一列,乘以$A_{1i}$并累加计算出行列式的值
其中 ,$A_{1i} = (-1)^{i+1} M_{1i}$
$A_{1i}$叫做“代数余子式”,是 "余子式" 的代数结果(乘以了一个系数1或-1) ;
$M_{1i}$是对方阵删除当前计算的$a_{1i}$元素所在行和列后得到的 $n-1$ 阶方阵的行列式的值,称为 "余子式" 。
这条公式的计算涉及非常大量的递归操作,计算难度非常高。
(2)、通过行列式的值求矩阵的逆: $A^{-1} =\frac {1}{\begin{vmatrix} A \end{vmatrix}} \cdot A^{*}$,$A^{*} $叫做伴随矩阵。
$ A^{
} =\begin{bmatrix} A{11}&A{12}&\cdots &A{1n}\
A{21}&A{22}&\cdots &A{2n}\
\cdots &\cdots &\cdots &\cdots \
A{n1}&A{n2}&\cdots &A{nn}\end{bmatrix}$,伴随矩阵内的元素$A{ij}$是每个原矩阵$A$中每个元素的*代数余子式,计算复杂度相当高。
(3)、Cramer 法则,用于求解线性系统$A \vec x = \vec b$ ,
$x_{i} = \frac {\begin{vmatrix} A_{i}(b)\end{vmatrix}}{\begin{vmatrix} A\end{vmatrix}}$ ,其中$ A_{i}(b)$ 是将系数矩阵$A$中的第$i$列的元素换成$b$,计算$\det (A) $和$\det (A_{i}(b))$的比值得到第$x_{i}$的值。