zoukankan      html  css  js  c++  java
  • 线性代数三部曲(一)·行列式

    Part1:从解方程组谈起

    栗子:试讨论以下方程的解.

    [egin{cases} a_{11}x_1+a_{12}x_2=b_1qquad(1)\ a_{21}x_1+a_{22}x_2=b_2qquad(2) end{cases} ]

    :将((1))乘以(a_{21}),((2))乘以(a_(11))

    [egin{cases} a_{11}a_{21}x_1+a_{12}a_{21}x_2=a_{21}b_1qquad(3)\ a_{11}a_{21}x_1+a_{22}a_{11}x_2=a_{11}b_2qquad(4) end{cases} ]

    消去(x_1)

    [(a_{11}a_{22}-a_{12}a_{21})x_2=a_{11}b_2-a_{21}b_1 ]

    [x_2=frac{a_{11}b_2-a_{21}b_1}{a_{11}a_{22}-a_{12}a_{21}} ]

    重复对(x_2)消元,有

    [x_1=frac{a_{22}b_1-a_{12}b_2}{a_{11}a_{22}-a_{12}a_{21}} ]

    (a_{11}a_{22}-a_{12}a_{21} e0)时,方程组有唯一解;

    (a_{11}a_{22}-a_{12}a_{21}=0)时,若(a_{11}b_2-a_{21}b_1=a_{22}b_1-a_{12}b_2=0),则方程有无穷多组解;否则,方程无解.

    为了方便,我们引入记号

    [egin{vmatrix} a_{11}&a_{12}\ a_{21}&a_{22} end{vmatrix}=a_{11}a_{22}-a_{12}a_{21} ]

    称为二阶行列式(determinant).于是,记

    [D=egin{vmatrix} a_{11}&a_{12}\ a_{21}&a_{22} end{vmatrix} ]

    称为方程组的系数行列式,而

    [D_1=egin{vmatrix} b_1&a_{12}\ b_2&a_{22} end{vmatrix}, D_2=egin{vmatrix} a_{11}&b_1\ a_{21}&b_2 end{vmatrix} ]

    分别称为是用常数列((b_1,b_2))替换系数行列式第(1,2)列得到的行列式.于是,方程组的解就可以表示为

    [x_1=frac{D_1}D,x_2=frac{D_2}D,D e0 ]

    Part:三阶行列式

    考虑以下方程组:

    [egin{cases} a_{11}x_1+a_{12}x_2+a_{13}x_3=b_1\ a_{21}x_1+a_{22}x_2+a_{23}x_3=b_2\ a_{31}x_1+a_{32}x_2+a_{33}x_3=b_3 end{cases} ]

    引入

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

    称为三阶行列式,令

    [D=egin{vmatrix} a_{11}&a_{12}&a_{13}\ a_{21}&a_{22}&a_{23}\ a_{31}&a_{32}&a_{33} end{vmatrix}, D_1=egin{vmatrix} b_1&a_{12}&a_{13}\ b_2&a_{22}&a_{23}\ b_3&a_{32}&a_{33} end{vmatrix}, D_2=egin{vmatrix} a_{11}&b_1&a_{13}\ a_{21}&b_2&a_{23}\ a_{31}&b_3&a_{33} end{vmatrix}, D_3=egin{vmatrix} a_{11}&a_{12}&b_1\ a_{21}&a_{22}&b_2\ a_{31}&a_{32}&b_3 end{vmatrix}, ]

    则方程组的解可表示为:

    [x_1=frac{D_1}D,x_2=frac{D_2}D,x_3=frac{D_3}D ]

    为方便记忆,对于三阶行列式有对角线法则:

    eHUDRx.png

    红线上的数相乘取正号,蓝线上的数相乘取负号,相加即可.

    栗子:计算行列式

    [D=egin{vmatrix} 2&0&1\ 1&-4&-1\ -1&8&3 end{vmatrix} ]

    :由对角线法则,

    [egin{align} D&=2 imes(-4) imes3+0 imes(-1) imes(-1)+1 imes1 imes8\ &-1 imes(-4) imes(-1)-0 imes1 imes3-2 imes(-1) imes8\ &=-24+8-4+16=-4. end{align} ]

    Part3:(n)阶行列式

    定义:对于(n imes n)个数组成的数表

    [egin{matrix} a_{11}&dots&a_{1n}\ vdots&ddots&vdots\ a_{n1}&dots&a_{nn} end{matrix} ]

    [D=egin{vmatrix} a_{11}&dots&a_{1n}\ vdots&ddots&vdots\ a_{n1}&dots&a_{nn} end{vmatrix} ]

    称为这(n imes n)个数排成的(n)阶行列式,记作

    [D=det_n(a_{ij})=|a_{ij}|_n ]

    其中,(a_{ij})称为行列式的元素.

    行列式的计算规则为

    [D=sum_{pinOmega}left[left(-1 ight)^{sigma(p)}prod_{i=1}^n a_{ip_i} ight] ]

    其中,(Omega)(1,2,dots,n)全体排列((n!)个)构成的集合,(sigma(p))表示排列(p)中的逆序对个数,即所有满足(i<j)(p_i>p_j)((i,j))的对数.

    克拉默法则

    对于一个(n)元方程组

    [egin{cases} a_{11}x_1+a_{12}x_2+dots+a_{1n}x_n=b_1\ a_{21}x_1+a_{22}x_2+dots+a_{2n}x_n=b_2\ vdots\ a_{n1}x_1+a_{n2}x_2+dots+a_{nn}x_n=b_n end{cases} ]

    [D=det_n(a_{ij})=egin{vmatrix} a_{11}&dots&a_{1n}\ vdots&ddots&vdots\ a_{n1}&dots&a_{nn} end{vmatrix} ]

    称为该方程组的系数行列式,而

    [D_{i}=egin{vmatrix} a_{11}&dots&a_{1(i-1)}&b_1&dots&a_{1n}\ a_{21}&dots&a_{2(i-1)}&b_2&dots&a_{2n}\ vdots&ddots&vdots&vdots&ddots&vdots\ a_{n1}&dots&a_{n(i-1)}&b_n&dots&a_{nn} end{vmatrix} ]

    为将系数行列式中的第(i)列替换为((b_1,b_2,dots,b_n))的行列式,(i=1,2,dots,n),则当(D e0)时,方程组有唯一解

    [x_i=frac{D_i}D,i=1,2,dots,n ]

    (D=0)

    [D_1=D_2=dots=D_n=0 ]

    时,方程组有无穷多组解;否则,方程组无解.上述关于行列式和线性方程组的结论称为克拉默法则(Cramer's Rule),可以方便地计算方程组的解.

    Part4:行列式的按行展开

    显然,根据定义计算行列式是非常繁琐的,从分析学上讲,这样的复杂度至少是(O(n!cdot nlog n))的.于是,我们应当尽量简化计算.

    余子式的定义

    对于行列式(D=det_n(a_{ij}))的某个元素(a_{ij}),将其所在行和列的所有元素都去掉所构成的(n-1)阶行列式称为(a_{ij})余子式(cofactor),记为(M_{ij}).比如,对于四阶行列式

    [D=egin{vmatrix} a_{11}&a_{12}&a_{13}&a_{14}\ a_{21}&a_{22}&a_{23}&a_{24}\ a_{31}&a_{32}&a_{33}&a_{34}\ a_{41}&a_{42}&a_{43}&a_{44} end{vmatrix} ]

    (a_{22})的余子式就等于

    [M_{22}=egin{vmatrix} a_{11}&a_{13}&a_{14}\ a_{31}&a_{33}&a_{34}\ a_{41}&a_{43}&a_{44} end{vmatrix}. ]

    特别地,定义(A_{ij}=(-1)^{i+j}M_{ij}),称为(a_{ij})代数余子式.

    行列式降阶

    任何一个行列式等于其某一行(列)的元素与其代数余子式的乘积之和.即,设选取的行(列)为(j),则

    [D=sum_{i=1}^n a_{ij}A_{ij}=sum_{i=1}^n a_{ji}A_{ji}. ]

    比如,对于三阶行列式,有

    [D=egin{vmatrix} a_{11}&a_{12}&a_{13}\ a_{21}&a_{22}&a_{23}\ a_{31}&a_{32}&a_{33} end{vmatrix}\ egin{align} &=a_{11}A_{11}+a_{12}A_{12}+a_{13}A_{13}\ &=a_{11}egin{vmatrix}a_{22}&a_{23}\a_{32}&a_{33}end{vmatrix}-a_{12}egin{vmatrix}a_{21}&a_{23}\a_{31}&a_{33}end{vmatrix}+a_{13}egin{vmatrix}a_{21}&a_{22}\a_{31}&a_{32}end{vmatrix}\ &=a_{11}a_{22}a_{33}+a_{12}a_{23}a_{31}+a_{21}a_{32}a_{13}\ &-a_{11}a_{23}a_{32}-a_{12}a_{21}a_{33}-a_{13}a_{22}a_{31} end{align} ]

    这样,就可以把(n)阶行列式的计算转化为(n)(n-1)阶行列式的计算,如此降阶下去,直到降为(2)阶,即可直接计算,复杂度就降到了(O(n!)).然而,尽管如此,行列式的计算还是很慢.之后,我们会介绍快速的(O(n^3))高斯消元法.

    本文完

  • 相关阅读:
    Shelve Instance 操作详解
    Rebuild Instance 操作详解
    Snapshot Instance 操作详解
    Nova Suspend/Rescue 操作详解
    Pause/Resume Instance 操作详解
    Terminate Instance 操作详解
    Nova reboot 和 lock 操作
    Start Instance 操作详解
    tar --help
    VIM标记 mark 详解
  • 原文地址:https://www.cnblogs.com/Anverking/p/math-det.html
Copyright © 2011-2022 走看看