matlab证明多项行列式,实用大众线性代数(MATLAB版)第3章行列式.ppt

3.1 二、三阶行列式的意义3.1.1 二阶行列式  行列式的主要用途是判断线性方程组的解是否存在和唯一。  例3.1 求二元线性方程组的解: 这意味着式(3.1.1)的第二个方程变成了: (a11a22-a12a21)x2?=?b2-a21b1/a11 当两个主元a11及a11a22?-?a12a21都不等于零时,由这个方程,可解出x2为: 称D为该系数矩阵A的行列式(Determinant)。把a11、a22的连线称为该行列式的主对角线,把a12、a21的连线称为其副对角线,那么二阶行列式的值就等于主对角线上元素的乘积减去副对角线上元素的乘积。如果D=a11a22-a12a21=0,则说明两个方程系数成比例,相当于一个方程。此时没有唯一解。所以行列式D≠0就成为线性方程组判别解的存在和唯一性的主要工具。 根据二阶行列式的定义,方程组(3.1.1)的解可表示成x1=D1/D,x2=D2/D,其中 例3.2 在xOy平面上有一个平行四边形OACB,A、B两点的坐标分别为(a1,b1)、(a2,b2),如图3-1所示,求平行四边形OACB的面积。 解 过点A作x轴的垂线,交x轴于点E;过点B做平行于x轴的直线,与过点C做平行于y轴的直线相交于点D。因三角形CDB和三角形AEO全等,所以: 3.1.2 三阶行列式 例3.3 求三元线性方程组的解: x1的系数不为零时,可以解出x1的值。为此引出三阶行列式的定义,把9个元素排成三行、三列,两边用一对竖线括起,定义其表达式为: 3.2 n阶行列式与线性方程组的解3.2.1 n阶行列式的三种定义方法 从例3.1和例3.3所述的低阶行列式可以演绎出高阶行列式的定义。目前,有三种不同的演绎方法,可形成三种定义。 (1) 显式法:根据行列式的结构直接进行演绎。二阶行列式(3.1.1)由两项之和组成,每项为两个元素相乘;三阶行列式(3.1.6)由六项(即3的阶乘3!)之和组成,每项为三个元素相乘;依此类推,n阶行列式应该由n!项之和组成,每项为n个元素相乘。照此式计算时,需要做的乘法次数为(n?-?1)?*?n!。当n?=?4时,3?*?4!?=?72;当n=5时,4?*?5!?=?480…,阶数略高一些,运算量更大。而演绎各项的符号规则更加复杂,必须引入“逆序数”等概念,很繁琐。行列式的“可畏”,源头就在这里。 (2) 代数余子式法:它的思路是把显式法的表达式降阶,通过行列式按行展开的特性,可以把n阶行列式降为n个(n?-?1)阶行列式。比如,上述的三阶行列式就可以写成三个二阶行列式之和,即 (3) 对角主元连乘法:二阶方程组的系数矩阵,通过高斯消元法得出行阶梯形式(3.1.1),其主对角线上两个主元的连乘积为a11a22-a12a21,正是其系数矩阵的行列式。 三阶方程组系数矩阵作高斯消元后的行阶梯形为: 为了使定义(3.1.8)不出现歧义,还必须对所用的消元法提出一个要求,那就是消元过程中最好只采用消元矩阵E,因为交换矩阵会造成行列式改变正负号。但可以让程序记住使用交换矩阵P的次数r,把结果乘以(-1)r,则将式(3.1.8)改为D?=?(-1)rp11p22…pnn就全面了。实际上,用行列式或主元判解时,关心的只是它是否等于零,其正负号没有什么价值。 *3.2.2 三种定义的比较 数值计算中通常用所需的乘法次数来标志计算的复杂度,表3-1给出了三种定义方法在不同阶数下计算行列式的计算量比较。 拿(1)、(3)两种方法所需的乘法次数加以比较,可以看出,只有N=2时,用显式法求行列式才比消元法方便。n=3时,两者的计算量基本相同。比如n?=?5时,用显式法的计算量为480次乘法,代数余子式法为205次,都是工程上无法接受的。n更大时,它的运算量不仅超越了人们笔算的可能性,也超越了计算机的能力。一个25阶的行列式若按显式法来算,乘法的次数为3.72×1026次。用每秒1万亿(1012)次的超级计算机,也要算1200万年才能得出结果。2013年11月,中国的“天河二号”超级计算机(如图3-5所示)以其计算速度33.86千万亿次(1016)两次连获全球之冠,用这样的计算机来算仍然要400年,这种计算量随维数呈指数增长的现象称为“维数灾难(Curse of Dimensionality)”,它是科学计算的大敌,前两种定义方法都存在着这个致命弱点

你可能感兴趣的:(matlab证明多项行列式)