欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

线代--行列式

最编程 2024-03-03 09:02:00
...

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)
对于这个性质,从几何意义上也即用空间体的体积的乘积来理解,它的意义就不大明确。需要从代数角度进行证明和理解:

情况一,相乘的两矩阵AB中存在线性相关行
两个矩阵AB相乘,其中如果有一个矩阵内存在某一行和其它行线性相关的话,那么A \cdot B中原本线性相关的行还是保持线性相关的,所以\det (A \cdot B) = 0。所以就有\det (A) = 0\det (B) = 0 , 因此\det (A \cdot B) = 0 就能得证;

情况二,相乘的两矩阵AB中所有行都线性无关
那么对于一个方阵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),由于两矩阵AB中所有行都线性无关,所以AB都可以拆分成系列初等矩阵的乘积
那么就有 \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的存在逆的话,它的行列式的值不能为零

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)
对于这个性质,从几何意义上也即用空间体的体积的乘积来理解,它的意义就不大明确。需要从代数角度进行证明和理解:

情况一,相乘的两矩阵AB中存在线性相关行
两个矩阵AB相乘,其中如果有一个矩阵内存在某一行和其它行线性相关的话,那么A \cdot B中原本线性相关的行还是保持线性相关的,所以\det (A \cdot B) = 0。所以就有\det (A) = 0\det (B					</div>
																				<div class=

上一篇: 线性代数

下一篇: 线性代数:秩规则 Python 计算 AB 矩阵乘法

推荐阅读