线代(一):行列式

2020-07-12  本文已影响0人  逸无无争

二阶行列式

一般来说,我们解二元方程组采用的都是消元法,简单来说,就是先想办法消除一个未知数,然后求解出另一未知数,最后在反过来求剩下的未知数。
\left\{\begin{matrix} a_{11}x + a_{12}x = b_{1} & \\ a_{21}x + a_{22}x = b_{2} & \end{matrix}\right.
求得方程组解为:x_{1} = \frac{b_{1}a_{22}-a_{12}b_{2}}{a_{11}a_{22}-a_{12}a_{21}} x_{2} = \frac{a_{11}b_{2}-b_{1}a_{21}}{a_{11}a_{22}-a_{12}a_{21}}

我们先把方程组未知数对应的4个系数摘下来,如下排列:
a_{11} a_{12}
a_{21} a_{22}
表达式a_{11}a_{22}-a_{12}a_{21}称为二阶行列式,并记作:\begin{vmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{vmatrix}

二阶行列式可以用对角线法则来记忆:a_{11}a_{22}的线称为主对角线,a_{12}a_{21}的线则是副对角线。于是,二阶行列式就是主对角线元素之积减去副对角线元素之积得到的差。

接下来,我们可以这样来求解二元线性方程组:
先求系数确定的二阶行列式:D=\begin{vmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{vmatrix}
然后,可以直接求得方程组两解:x_{1}=\frac{\begin{vmatrix} b_{1} & a_{12}\\ b_{2} & a_{22} \end{vmatrix}}{D} x_{2}=\frac{\begin{vmatrix} a_{11} & b_{1}\\ a_{21} & b_{2} \end{vmatrix}}{D}

# R
# 创建一个2*2矩阵,然后计算其行列式
>my_matrix <- matrix(1:4,2,2)
>print(my_matrix)
     [,1] [,2]
[1,]    1    3
[2,]    2    4
>det(my_matrix)  #内置函数,计算行列式
[1] -2
#python
>>>import numpy as np
>>>my_matrix = np.array([[1,2],[3,4]])
>>>print(my_matrix)
[[1 2]
 [3 4]]
>>>np.linalg.det(my_matrix) #调用函数来计算行列式
-2

三阶行列式

当然,有二阶自然有三阶,通常用的都是二阶行列式或三阶行列式,更高维的则较少使用。

\begin{vmatrix}a_{11} &a_{12} &a_{13} \\ a_{21} &a_{22} &a_{23} \\ a_{31} &a_{32} &a_{33} \end{vmatrix}=a_{11}a_{22}a_{33}+a_{12}a_{23}a_{31}+a_{13}a_{21}a_{32}-a_{11}a_{23}a_{32}-a_{12}a_{21}a_{33}-a_{13}a_{22}a_{31}

这里,对角线法则相对复杂,如图


线代书原话是这么解释:

图中有三条实线看做是平行于主对角线的连线,三条虚线看做是平行于副对角线的连线,实线上三元素的乘积冠正号,虚线上三元素的乘积冠负号.

全排列

何为全排列?也称为排列,就是把n个不同元素排成一列。对于n个元素,我们可以规定一个标准次序(一般是从小到大)。

对任意一个排列次数,如果某一对元素的先后次序与标准次序不同时,则构成1个逆序,那么,一个排列中所有逆序的总和称为此排列的逆序数
奇排列:逆序数为奇数的排列
偶排列:逆序数为偶数的排列
线代书例题如图所示:

对换

将任意两个元素对调,其余元素不动,这种作出新排列的操作叫对换。
将相邻元素对调的,称为相邻对换

n阶行列式的定义

学了逆序数这个概念,我们再来看看三阶行列式的求法。
\begin{vmatrix}a_{11} &a_{12} &a_{13} \\ a_{21} &a_{22} &a_{23} \\ a_{31} &a_{32} &a_{33} \end{vmatrix}=\sum(-1)^{t}a_{1p_{1}}a_{2p_{2}}a_{3p_{3}}
这里的t代表的是p_{1}p_{2}p_{3}这个排列的逆序数,所以正负号的选择与逆序数的奇偶有关。

推广到n阶行列式:有n^{2}个数,排成n行n列
\begin{vmatrix} a_{11} & a_{12} &\cdots &a_{1n} \\ a_{21} & a_{22} &\cdots &a_{2n} \\ \vdots & \vdots & & \vdots \\ a_{n1} &a_{n2} & \cdots & a_{nn} \end{vmatrix}=\sum(-1)^{t}a_{1p_{1}}a_{2p_{2}}\cdots a_{np_{n}}=det(a_{ij})

上(下)三角形行列式:主对角线以下(上)的元素都为0
对角行列式:主对角线以上和以下的元素都为0。
\begin{vmatrix} a_{11} & & & \\ a_{21} & a_{22} & &0 \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} &a_{n2} & \cdots & a_{nn} \end{vmatrix}=\begin{vmatrix} a_{11} & & & \\ & a_{22} & & \\ & & \ddots & \\ & & & a_{nn} \end{vmatrix}=a_{11}a_{22}\cdots a_{nn}

行列式的性质

转置行列式:D^{T} = \begin{vmatrix} a_{11} & a_{21} &\cdots &a_{n1} \\ a_{12} & a_{22} &\cdots &a_{n2} \\ \vdots & \vdots & & \vdots \\ a_{1n} &a_{2n} & \cdots & a_{nn} \end{vmatrix}

注:

行列式按行(列)展开

一般而言,低阶行列式的计算比高阶行列式的计算要简便,所以我们考虑怎样用低阶行列式来表示高阶行列式。先了解何为余子式和代数余子式。假设有下面这个行列式,然后拿走a_{22}所在的行和列,得到新的行列式,这个新的行列式称为a_{22}的余子式,记作M_{22}

\begin{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}\Rightarrow \begin{vmatrix}a_{11} &a_{13} &a_{14} \\ a_{31} &a_{33} &a_{34} \\ a_{41} &a_{43} &a_{44} \end{vmatrix}

再给余子式加上-(1)^{i+j},即代数余子式A_{22}=-(1)^{2+2}M_{22}

一个n 阶行列式,如果其中第i行所有元素除(i,j)元a_{ij}外都为零,那么这行列式等于a_{ij}与它的代数余子式的乘积,即D=a_{ij}A_{ij}

有这么一个重要定理(行列式按行(列)展开法则):行列式等于它的任一行(列)的各元素与其对应的代数余子式乘积之和,即

此外,还有一个推论:行列式某一行(列)的元素与另一行(列)的对应元素的代数余子式乘积之和等于零,即

上一篇 下一篇

猜你喜欢

热点阅读