zoukankan      html  css  js  c++  java
  • 线性代数19.行列式公式和代数余子式

    行列式公式

    (2*2) 矩阵行列式公式推导

    利用行列式性质3,每一行的线性性质,将向量分解

    [egin {align} |A|=&left| egin{array}{cc} a & b \ c & d \ end{array} ight|\ =&left| egin{array}{cc} a & 0 \ c & d \ end{array} ight|+left| egin{array}{cc} 0 & b \ c & d \ end{array} ight|\ =&left| egin{array}{cc} a & 0 \ c & 0 \ end{array} ight|+left| egin{array}{cc} a & 0 \ 0 & d \ end{array} ight|+left| egin{array}{cc} 0 & b \ c & 0 \ end{array} ight|+left| egin{array}{cc} 0 & b \ 0 & d \ end{array} ight|\ =&0+ad-bc+0\ =&ad-bc end {align} ]

    我们希望找到任意阶行列式公式。

    这种方法就是一次取一行,利用性质3对其进行分解

    例如,(3*3) 矩阵,第一行分解得到3部分,第二行分解得到9部分,第三行分解得到27部分。但这些部分有很多是零,幸存者是每行每列均只有一个元素。

    [egin {align} &left| egin{array}{ccc} a_{11} & a_{12} & a_{13} \ a_{21} & a_{22} & a_{23} \ a_{31} & a_{32} & a_{33} \ end{array} ight|\ =&left| egin{array}{ccc} a_{11} & 0 & 0\ 0 & a_{22} & 0 \ 0 & 0 & a_{33} \ end{array} ight|+left| egin{array}{ccc} a_{11} & 0 & 0\ 0 & 0& a_{23} \ 0 & a_{32} & 0 \ end{array} ight|+left| egin{array}{ccc} 0 & a_{12} & 0\ 0 & 0& a_{23} \ a_{31} & 0 & 0 \ end{array} ight|+\ &left| egin{array}{ccc} 0 & a_{12} & 0\ a_{21} & 0& 0 \ 0 & 0 & a_{33} \ end{array} ight|+left| egin{array}{ccc} 0 & 0 & a_{13}\ a_{21} & 0& 0 \ 0 & a_{32} & 0 \ end{array} ight|+left| egin{array}{ccc} 0 & 0 & a_{13}\ 0& a_{22}& 0 \ a_{31} &0 & 0 \ end{array} ight|\ \ =&a_{11}*a_{22}*a_{33} -a_{11}*a_{23}*a_{32} +a_{12}*a_{23}*a_{31} -\&a_{12}*a_{21}*a_{33} +a_{13}*a_{21}*a_{32}- a_{13}*a_{22}*a_{31} end {align} ]

    行交换次数是单数就在前面加负号,偶数就加正好。

    (2*2) 分解后总共有2项,(3*3) 是6项,(n*n)(n!) 项(阶乘)。并且,分解部分一半为正,一半为负。

    根据前面我们就能得到任意阶的行列式公式

    [ ext{detA}=sum _{n!} pm a_{1 alpha }*a_{2 eta }*a_{3 gamma }* ext{...}*a_{ ext{n$omega $}} ]

    其中,列标组合 ((alpha,eta,gamma...omega))((1,2,3...n)) 的某种排列。

    每个列下标均用到一次。

    举例

    利用公式求以下矩阵的行列式

    [left( egin{array}{cccc} 0 & 0 & 1 & 1 \ 0 & 1 & 1 & 0 \ 1 & 1 & 0 & 0 \ 1 & 0 & 0 & 1 \ end{array} ight) ]

    我们可以写出列下标组合

    [(4,3,2,1) ightarrow +1\ (3,2,1,4) ightarrow -1\ ]

    每列确保只能有一个元素,每列只用一次,所以只有2个排序,根据把她们交换得到标准排序 $(1,2,3,4) $ 所需要的次数,在前面加上相应的符号。所以行列式结果为0.

    代数余子式

    代数余子式的作用是把 (n) 阶行列式化简为 (n-1) 阶行列式。

    (3*3) 矩阵行列式为例

    [egin {align} &a_{11}*a_{22}*a_{33} -a_{11}*a_{23}*a_{32} +a_{12}*a_{23}*a_{31} -a_{12}*a_{21}*a_{33} +a_{13}*a_{21}*a_{32}- a_{13}*a_{22}*a_{31}\ =&a_{11}*(a_{22}*a_{33}-a_{23}*a_{32})\ +&a_{12}*(a_{23}*a_{31}-a_{21}*a_{33})\ +&a_{13}*(a_{21}*a_{32}-a_{22}*a_{31})\ end {align} ]

    将每一部分选定的那一项提取出来,剩下括号里面的表达式就是代数余子式。

    (a_{11}*(a_{22}*a_{33}-a_{23}*a_{32})) 为例,((a_{22}*a_{33}-a_{23}*a_{32}))(a_{11}) 的代数余子式。

    会发现 ((a_{22}*a_{33}-a_{23}*a_{32})) 刚好是一个 (2*2) 矩阵的行列式。

    [left( egin{array}{ccc} a_{11} & square & square \ square & a_{22} & a_{23} \ square & a_{32} & a_{33} \ end{array} ight) ]

    一旦选择 (a_{11}) ,剩余因子从剩余的 (n-1) 行和 (n-1) 列中取,每个元素只选一次,于是剩余因子会组成 (n-1) 阶行列式。这就是代数余子式的概念。

    (3*3) 行列式就是选定元素乘以相应的 (2*2) 行列式。

    [Cofactorquad of quad a_{ij}=C_{ij}=±det(n-1 quad matriax quad with quad rowiquad coljquad erased) ]

    (i+j) 为偶数时取正,(i+j) 为奇数时取负。

    求第一行的代数余子式,只要求相应的 (n-1) 阶行列式,再在前面根据 (i+j) 奇偶性加上正负号即可。

    行列式的代数余子式方程是什么?

    如果沿第 (i) 行展开,可得

    [detA=a_{i1}C_{i1}+a_{i2}C_{i2}+a_{i3}C_{i3} ]

    这是求行列式的另一种方法。

    比如

    [left| egin{array}{cc} a & b \ c & d \ end{array} ight|=ad-bc ]

    选定 (a) ,去掉第一行和第一列, (a) 代数余子式只有 (d).

    选定 (b) ,去掉第一行和第二列, (b) 代数余子式只有 (-c).

    上节课我们讲到,可以用消元法得到行列式的主元,然后用主元求解行列式,称之为主元公式,她能迅速得到答案,通过主元求解比什么都简单;而行列式大公式共有 (n!) 项,完全展开是很复杂的;利用代数余子式求解行列式的简便介于两者之间,她得到一些数和行列式的乘积,让原行列式展开成更简单的行列式,这也是代数余子式公式的核心思想。

    利用代数余子式公式计算行列式.

    例如:计算三对角线矩阵行列式

    (注意这个矩阵是有规律的,非0元素排列在三条对角线上,她以(left( egin{array}{cc} 1 & 1 \ 1 & 1 \ end{array} ight)) 这样一直对角写下来)

    [A_4=left( egin{array}{cccc} 1 & 1 & 0 & 0 \ 1 & 1 & 1 & 0 \ 0 & 1 & 1 & 1 \ 0 & 0 & 1 & 1 \ end{array} ight) ]

    (4*4) 矩阵记为 (A_4), (3*3) 矩阵记为 (A_3), (2*2) 矩阵记为 (A_2), (1*1) 矩阵记为 (A_1).

    可以求得

    (|A_1|=1)

    (|A_2|=0)

    (|A_3|=-1)

    (|A_4|=1*|A_3|-1*|A_2|=-1)

    由此可以得到一个公式

    [|A_n|=|A_{n-1}|-|A_{n-2}| ]

    这个例子 (A_{13}、A_{14}) 为0,可以忽略,因为0乘以她的代数余子式,结果为0.

    由此我们可以得到

    (|A_5|=|A_4|-|A_3|=0)

    (|A_6|=|A_5|-|A_4|=1)

    (|A_7|=|A_6|-|A_5|=1)

    行列式以 “1,0,-1,-1,0,1”循环,以6为周期。

    所以 (|A_{61}|=|A_1|=1)

  • 相关阅读:
    Devexpress根据条件单元格变色以及根据条件设置单元格可编辑-记录
    批量更新事物加回滚
    批量更新
    Devexpress GridControl无限高度惹得祸
    C# 多语言国际化问题中的 CultureInfo
    配置linux服务器的防火墙,以CENTOS 为例(转载)
    关于Java的程序运行提醒
    用Eclipse跑Hadoop程序的注意事项
    Hadoop平台-错误收集附解决方案!
    unity3d之物体克隆
  • 原文地址:https://www.cnblogs.com/ckk-blog/p/13701136.html
Copyright © 2011-2022 走看看