人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理

Karen110
• 阅读 1311

一、逆序及逆序数

在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。也就是说,对于n个不同的元素,先规定各元素之间有一个标准次序(例如n个 不同的自然数,可规定从小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素的实际先后次序与标准次序不同时,就说有1个逆序。一个排列中所有逆序总数叫做这个排列的逆序数。

如2431中,21,43,41,31是逆序,逆序数是4,计算过程如下:2逆序数1(1排其后)、4逆序数2(3、1排其后)、3逆序数1(1排其后)。

二、偶排列及奇排列

逆序数为偶数的排列称为偶排列;逆序数为奇数的排列称为奇排列。
如2431中,21,43,41,31是逆序,逆序数是4,为偶排列。

三、线性方程组

3.1、概念

线性方程组是各个方程关于未知量均为一次的方程组,下图为典型的线性方程组:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
1)、式中x1,x2,…,xn代表未知量,αij(1≤i≤m,1≤j≤n)称为方程的系数,bi(1≤i≤m)称为常数项。系数和常数项都是任意的复数或某一个域的元素。
2)、当常数项b1,b2,…,bn都等于零时,则方程组称为齐次线性方程组。

上述方程组中各变量前面的系数构成的矩阵A:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
称为方程的系数矩阵。在A中添加由常数项组成的列而得到一个m行n+1列矩阵:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
称为方程组的增广矩阵。

3.2、线性方程组的解

  • 若x1=c1,x2=c2,…,xn=cn代入所给线性方程式的方程各式均成立,则称(c1,c2,…,cn)为该线性方程的一个解

  • 若线性方程组的解c1,c2,…,cn不全为0,则称(c1,c2,…,cn)为线性方程的非零解

  • 齐次线性方程组总有零解(0,0,…,0)

  • 线性方程组有解,称为相容,否则称为不相容

  • 两个方程组,若它们的未知量个数相同且解集相等,则称为同解方程组或等价方程组

  • 线性方程组的方程个数低于未知量个数时,这个线性方程组没有唯一解,此时这个方程组有无穷多个解。想要确定地解出n个未知数,并且要求该结果唯一,则至少需要n个方程才行,但有n个方程不一定能确认唯一解,因为可能其中有些方程是无用的,例如将第一个方程和第二个方程相加构造的方程,或者直接在方程两端乘以系数构造的方程等。

3.3、线性方程组研究的主要问题

线性方程组主要讨论的问题是:

  • 一个方程组有没有解,何时有解,即解的存在性

  • 有解方程组解的个数,是否只有一个,即解的唯一性。

  • 对有解方程组求解,如果存在多个解,能否把每一个解都找到,并能说明不同解之间的关系,这就是研究线性方程组解的结构。

四、n阶行列式

4.1、定义

按照一定的规则,由排成正方形的一组(n个)数(称为元素)之乘积形成的代数和,称为n阶行列式。
对于方阵:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
定义它的行列式为:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
aij叫做第i行j列的数或元。
行列式的结果为一标量,这里 j1,j2,…,jn是1,2,…,n的一个排列(一共有n!个排列),因此n阶行列式是由n! 项组成,式中:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
即每一项都按下列规则带有符号:当 j1,j2,…,jn是偶排列时带有正号,当 j1,j2,…,jn是奇排列时带有负号。

另外还有种方法确认行列式代数和计算公式中每项的符号:把项中的排列在行列式中的位置,每次互换两行或两列,把项中的所有元素移到行列式的对角位置,如果所需要互换的个数是偶数,则对应项的符号是正号,否则是负号。

案例1:2*2阶行列式
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
案例2:3*3阶行列式
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理

4.2、行列式的主对角线和次对角线

行列式中从左上角到右下角的对角线称为主对角线,从右上角到左下角的对角线称为次对角线。

4.3、转置行列式

将行列式D的行变成列,列变成行,不改变它们间的前后顺序,则称该新行列式为转置行列式,即为D'

4.4、对称行列式和反对称行列式

对于行列式:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
如果对于任意i,j属于[1,n],aij=aji(ij、ji为下标),则称该行列式为对称行列式。
如果对于任意i,j属于[1,n],aij=-aji(ij、ji为下标),此时aii=0,则称该行列式为反对称行列式。

4.5、对角行列式

n阶对角行列式是指主对角线外的元素全0(称为主对角行列式)或次对角线外的元素全0(称为次对角行列式)的行列式。

主对角行列式的结果为主对角所有元的乘积,次对角行列式的结果的绝对值为次对角所有元的乘积,但其符号位由负一的n(n-1)/2次方来确认。即:

人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理

4.6、上下三角行列式

上(下)三角行列式是指主对角线以上(下)的元素全为0的行列式,上、下三角行列式的结果相等,都等于主对角线上元素的乘积。即:

人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理

4.7、范德蒙行列式

形如:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
的行列式称为范德蒙行列式。

若Dn 为n(n>=2)阶范德蒙行列式,则有:

人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
其中:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
由范德蒙行列式的计算方法可以得出,该行列式为0的充要条件是至少x1,…,xn至少有两个相等。

4.8、n阶行列式的性质

  1. 性质1:行列互换,行列式不变。因此若两矩阵互为转置矩阵,则它们的行列式相等;

  2. 性质2:把行列式中某一行(列)的所有元素都乘以一个数K,等于用数K乘以行列式;

  3. 性质3 :如果行列式的某行(列)的各元素是两个元素之和,那么这个行列式等于两个行列式的和,即:如果A=[a1,…,ai,…,an],B=[a1,…,bi,…,an],C=[a1,…,ai+bi,…,an],则|C|=|A|+|B|;

  4. 性质4:如果行列式中有两行(列)相同,那么行列式为零。(所谓两行(列)相同就是说两行(列)的对应元素都相等);

  5. 性质5:如果行列式中两行(列)成比例,那么行列式为零;

  6. 性质6:把一行(列)的倍数加到另一行(列),行列式不变;

  7. 性质7:对换行列式中两行(列)的位置,行列式反号;

  8. 性质8:如果A=[a1,…,ai,…,an],且矢量组 a1,…,ai,…,an 线性相关,则|A|=0

五、子行列式及余子式

从行列式D中删除若干行与相同数目的列,所留下来的m行m列的部分仍然构成一个行列式,称为原行列式的m阶子式,常记作:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
下标r1…rm表示保留下来的行,s1…sm表示保留下来的列,二者个数相同,但对应原行列式的行号和列号不一定相同,如行保留2、4、6等偶数行,而列保留奇数列,则二者完全不相同,但如果保留的下标满足对任意的i∈[1,m],ri = si,即保留的行号和列号完全相同,则称保留的子式为主子式。所删行与列的交点的元素也构成一个行列式,若将主子式记作 M ,则删除部分构成的行列式称为M的余子式,记作:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理

从另一个角度看, M也是原行列式关于其余子式的余子式。

将M的余子式 乘上系数:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
后得到的值记作:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理

称为与M对应的代数余子式。

特别地,在n阶行列式D中,把元素aij所在的第i行和第j列划去后,留下来的n-1阶行列式叫做元素aij的余子式,记作Mij,将余子式Mij再乘以-1i+j次方记为Aij,Aij叫做元素aij的代数余子式。即:Aij = (-1)i+jMij

aij在D中的余子式是它在D的转置行列式D'中的余子式的转置行列式。

六、行列式展开和拉普拉斯定理

6.1、定理1

n阶行列式D:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
等于任一行中所有各元与它的代数余子式的乘积的和,即:
D = ai1*Ai1+ai2*Ai2+…+ain*Ain
这个定理通常说成把行列式按第i行展开,类似的,我们也可以将行列式按列展开,得到:
D = a1i*A1i+a2i*A2i+…+ani*Ani

6.2、定理2

n阶行列式的任意一行中各元与另一行中对应元的代数余子式乘积的和等于0,即:
aj1*Ai1+aj2*Ai2+…+ajn*Ain = 0 (i≠j)
同样地,行换成列同样成立,即:
a1j*A1i+a2j*A2i+…+anj*Ani = 0 (i≠j)

6.3、定理合并

把定理1和定理2合并,得到如下两个重要公式:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
引入克朗耐克符号:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
上面两个公式可以写成:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理

6.4、拉普拉斯定理

拉普拉斯定理是计算降阶行列式的一种方法。

定理:
在n阶行列式D=|aij| 中,任意取定k行(列),1≤k≤n,由这k行(列)的元素所构成的一切k阶子式与其代数余子式的乘积的和等于行列式D的值。此展式称为拉普拉斯展式。

该定理又称为行列式按某k个行(列)展开。

七、用行列式求解线性方程组

7.1、二元线性方程组求解

对于二院线性方程组:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
该线性方程组对应的增广矩阵为:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理

其对应的解为:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
记:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理

人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
则上述线性方程组解记为:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
这样的表示方法,形状简单,容易记忆。

7.2、三元线性方程组求解

设三元线性方程组为:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
令:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
如果D ≠ 0则上述线性方程组有唯一解:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理

7.3、n元线性方程组求解

关于n元线性方程组求解,有如下重要定理。设线性方程组为:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
其系数行列式D:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
若线性方程的系数矩阵对应的系数行列式 D≠0,则线性方程组有唯一解,其解为:
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
其中Dj是把D中第j列元素对应地换成常数项而其余各列保持不变所得到的行列式。

以上定理称为克莱姆定理或克莱姆法则。

根据克莱姆定理,如果方程组无解或者有两个不同的解,那么方程组的系数行列式必定等于零。

八、小结

本节介绍了与线性方程组求解相关的逆序及逆序数、偶排列及奇排列、行列式等相关的概念,介绍了使用行列式求解线性方程组的方法。使用克莱姆定理可以求解有唯一解的线性方程组的解,但当线性方程组变元较多时,这种方式运算量较大,求解一个N阶线性方程组要计算N+1个N阶行列式。另外当方程组系数的行列式等于零时,克莱姆法则失效。

参考资料:

1、百度百科n阶行列式相关知识介绍
2、百度百科克莱姆定理相关知识介绍

写博不易,敬请支持:

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

更多人工智能数学基础的介绍请参考专栏《人工智能数学基础 》

本文转转自微信公众号老猿Python原创https://mp.weixin.qq.com/s/v3mSTzhdLaioi2S3mhhQxQ,如有侵权,请联系删除。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Wesley13 Wesley13
3年前
n级排列
n级排列由1,2,...,n组成的一个有序数组称为一个n级排列。例如,2431是一个四级排列,45321是一个五级排列。注:n级排列的总数是n(n1)(n2)...1n!逆序在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序逆序数一个排列中逆序的总数
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
ES6 新增的数组的方法
给定一个数组letlist\//wu:武力zhi:智力{id:1,name:'张飞',wu:97,zhi:10},{id:2,name:'诸葛亮',wu:55,zhi:99},{id:3,name:'赵云',wu:97,zhi:66},{id:4,na
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这