zoukankan      html  css  js  c++  java
  • 线性代数之——行列式公式及代数余子式

    计算机通过主元来计算行列式,但还有另外两种方法,一种是大公式,由 (n!) 项置换矩阵组成;另一种是代数余子式公式。

    • 主元的乘积为 (2 * frac{3}{2}* frac{4}{3}* frac{5}{4} = 5)

    • 大公式有 (4!=24) 项,但只有 5 个非零项。

    [det A = 16-4-4-4+1 = 5 ]

    16 来自于对角线上 4 个 2 的乘积,其余的通过公式我们也都可以找到。

    • 代数余子式公式用第一行的数字 2,-1,0, 0分别乘以它们的代数余子式 4, 3, 2, 1,得到 8-3 = 5。

    1. 主元公式

    消元过程会让主元 (d_1,cdots,d_n) 最后出现在矩阵 (U) 的对角线上,如果没有行交换,那么有:

    [det A = (det L)(det U) = (1)(d_1d_2cdots d_n) ]

    如果有行交换,那么有 (PA=LU) 而且有 (|P| = pm1),所以

    [det A = pm(d_1d_2cdots d_n) ]

    如果主元的个数少于 (n),那么 (det A=0),矩阵是不可逆的。

    • 例 1

    • 例 2

    [det A = 2 * frac{3}{2}* frac{4}{3}* frac{5}{4} cdots *frac{n+1}{n} = n+1 ]

    而且,我们可以看到,前 (k) 个主元来自于矩阵 (A) 左上角大小为 (k×k) 的矩阵 (A_k)

    [det A_k = d_1d_2cdots d_k ]

    假设没有行交换,那在我们消元的过程中,有 (A_k = L_kU_k),因此

    [frac{detspace A_k}{det space A_{k-1}}=frac{detspace U_k}{det space U_{k-1}} o d_k=frac{d_1d_2cdots d_{k-1}d_k}{d_1d_2cdots d_{k-1}} ]

    2. 大公式

    大公式直接利用矩阵中的每一个元素来计算行列式,一个 (3×3) 矩阵的计算公式如下所示。

    注意到,每一项乘积的三个元素都分别来自于矩阵中的三行和三列,而其前面的符号其实是由置换矩阵来决定的。

    由行列式的线性性质我们可以将一个 (2×2) 矩阵的行列式分成四项:

    其中,第一个和第四个行列式为 0,因为它们有全零列。因此,只余下 (2!=2) 项需要计算。

    对于一个 (3×3) 的矩阵,其行列式可以分成 27 项,但只有 6 个非零项。

    前面三个置换矩阵有偶数次行交换,因此其行列式为 1;而后面三个置换矩阵有奇数次行交换,因此其行列式为 -1。

    因此,矩阵 (A) 的行列式是 (n!) 项简单行列式的和,每一项的系数是 1 或者 -1,其中简单的行列式是从每一行每一列中选取一个元素组成。

    3. 代数余子式公式

    利用行列式的线性性质,我们将第一行的三个元素分别提取出来,可以得到。

    其中,括号里面的项称为代数余子式(cofactor),它们是 (2×2) 矩阵的行列式。第一行贡献出因子 (a_{11},a_{12},a_{13}),余下的行贡献出代数余子式 (C_{11},C_{12},C_{13}),然后行列式的值就是 (a_{11}C_{11}+a_{12}C_{12}+a_{13}C_{13})

    接下来,我们需要注意符号。要计算 (C_{1j}),我们划掉第 (1) 行第 (j) 列来产生一个大小为 (n-1) 的子矩阵 (M_{1j}),然后

    [C_{1j} = (-1)^{1+j} det space M_{1j} ]

    [det space A = a_{11}C_{11}+a_{12}C_{12}+cdots +a_{1n}C_{1n} ]

    注意,对其它行来说,也有同样的情况。对 (C_{ij}) 来说,我们划掉第 (i) 行第 (j) 列来产生一个大小为 (n-1) 的子矩阵 (M_{ij})

    [C_{ij} = (-1)^{i+j} det space M_{ij} ]

    [det space A = a_{i1}C_{i1}+a_{i2}C_{i2}+cdots +a_{in}C_{in} ]

    同时,行列式也可以沿着某一列进行计算。

    [det space A = a_{1j}C_{1j}+a_{2j}C_{2j}+cdots +a_{nj}C_{nj} ]

    代数余子式公式在矩阵中有许多零时是非常有用的。

    获取更多精彩,请关注「seniusen」!

  • 相关阅读:
    tinymce原装插件源码分析(二)-link
    tinymce原装插件源码分析(一)-hr
    pyinstall 常见错误
    matlab Time-domain analysis 渐进式或者实时获取仿真值
    初识python和pycharm
    自定义指令详解
    Vue核心知识一览
    多维数组 转化为 一维数组
    js面试之数组的几个不low操作
    js如何操作或是更改sass里的变量
  • 原文地址:https://www.cnblogs.com/seniusen/p/10029635.html
Copyright © 2011-2022 走看看