第五节* 行列式的几何意义与应用举例
关于行列式概念产生的简要历史,据说在中国古代,用筹算法表示联立一次方程组未知量的系数时,就有了行列式的萌芽——排列的方式。之后日本人吸收了这种思想,在1683年,日本学者关孝和(Seki Takakusu)对行列式的概念和它的展开已经有了清楚的叙述。而到18世纪初,瑞士数学家克莱姆(G.Gramer)和法国数学家拉普拉斯(P.S.Laplace)建立了行列式理论。
本节首先介绍行列式的几何意义,然后给出几个行列式应用的重要例子。
一、行列式的几何意义
设有2阶行列式
式中,,是行列式的两个列的元素所构成的2维(列)向量(参见图1.1。有关n维向量的一般概念可以参见本书第三章)。
图1.1 行列式的两个列向量构成一个平行四边形
定理1.3 2阶行列式D的值,大小即为以向量α,β为边的平行四边形面积。
证明 我们可以利用高等数学中向量代数的有关知识来证明。
因为α=a11i+a21j,β=a12i+a22j,其中i,j是两个坐标轴上的单位向量。又i×i=j×j=0,j×i=-i×j。则有
由高等数学中向量积的定义知,向量α与β叉乘的模|α×β|=|α||β|sin(α,β),就等于以向量α,β为边的平行四边形的面积,且|i×j|=1。从而
|α×β|=|(a11a22-a21a12)(i×j)|=|a11a22-a21a12|
又二阶行列式
所以2阶行列式D的大小,即为以行列式的两个列向量α,β为边的平行四边形面积。
而且不难分析得到,当向径α,β为逆时针顺序时,叉乘向量α×β的方向与(i×j)的方向一致,从而必有a11a22-a21a12>0,即绝对值|a11a22-a21a12|=a11a22-a21a12。这时,行列式D的值就等于该平行四边形的面积。得证。
另外我们也可以利用行列式的性质来证明上述结论。其证明过程在理解上稍有一点难度,在此从略。
对3阶行列式
式中,α=(a11 a12 a13),β=(a21 a22 a23),γ=(a31 a32 a33)是行列式的三个(3维的)行向量。
由行列式性质与高等数学中(三个)向量混合积的有关结论,与定理1.3推证过程类似地可以得到:3阶行列式D值的大小即为以向量α,β,γ为边的平行六面体的体积。并且当向量α,β,γ符合右手法则时,行列式D的值的就等于以这个平行六面体的体积。
推广到更一般的n阶行列式
其值大小即可理解为在n维空间Rn中以它的n个行(列)向量为边所构成的n维超几何体的体积。
二、多项式方程的重根与公共根
【例1.14】 已知两个多项式方程x3-2x+a=0,x2-bx+1=0,问:当参数a,b满足什么关系时它们有公共根?
解 对这个问题如果采用通常先求出两个方程的根,然后再来判断它们有否有公共根的方法显然不可行。
现在用构造方程组和判定方程组是否有解的方法来解决它。事实上,这两个多项式有公共根,等价于下列方程组
有解。注意到两个给定多项式方程的次数分别为m=3次和n=2次,所以对第一个m=3次的方程两边累次同乘x,将它重复写了n=2次;而对另外一个n=2次方程两边累次同乘x,并重复写了m=3次。
设这样构成的方程组其解为x,并记,,,,,则如此构成的m+n=5元齐次线性方程组
(1.20)
有非零解(x4,x3,x2,x1,x0)=(x4,x3,x2,x,1)。而该齐次方程组的系数行列式
(1.21)
所以由克莱姆法则一节的相关结论可知,若两个方程有公共根,则上述系数行列式值必为零,即参数a,b要满足关系
ab3-5ab+a2-2b2+9=0 (1.22)
形如式(1.21)的行列式(其构成的方法请大家自己去观察)通常称之为两个多项式的结式(resultant)。可以证明任意两个多项式的结式等于零是这两个多项式有公共根的充要条件。
举一个具体的、比较简单的例子来说明一下结式的作用。问:一元二次方程
ax2+bx+c=0 (1.23)
其中(a≠0),什么时候有重根?
这个结果当然简单易求。但换个思考问题的方法,该方程有重根等价于它与其左端的导函数构成的方程2ax+b=0有公共根。此时就有结式
因为a≠0,结式为零,即
Δ=b2-4ac=0 (1.24)
你如果还有兴趣,也完全可以将它推广到一元三次以上的多项式方程什么时候有重根等类似的问题上去。甚至还可以把结式的作用加以推广。
【例1.15】 多项式方程x5-3x4+3x3+x2-4x+2=0有没有重根?进一步地,能否回答它有几个实根,几个虚根?
解 首先,5次以上的多项式方程没有统一的求根公式,求其根是有一定理论难度的问题。
其次,因为该多项式方程是实系数多项式方程,所以若其有虚数根,则其虚根一定是成对共轭出现的(这个结论的证明留给读者去做)。
现在仍然用构造结式的方法去探讨这一问题。记方程中的n=5次多项式
f(x)=x5-3x4+3x3+x2-4x+2(=0)
其导数多项式为
由它们的系数可以构成下列2n=10阶的行列式
(1.25)
注意到这是把多项式函数f(x)及其导数的系数行向量一起重复了n=5次,而且每重复一次在系数前面就多添上一列零元素。这样构成的行列式叫做西尔威斯特(Sylvester)结式,它比形如式(1.21)的结式有更好的特性。
若记该结式行列式中最前面2行与最前面2列的元素构成的2阶子行列式为S2,则显然有
而结式的最前面4行与前4列的元素构成的4阶子行列式
同理结式的前面6阶、8阶及10阶的子行列式的值分别为
S6=-156,S8=-800,S10=S=0
于是得到结式的(偶数阶的)子式序列为
(S2,S4,S6,S8,S10)=(5,6,-156,-800,0)
首先,因为该结式行列式的值S10=S=0,所以上述多项式方程f(x)=0与其导数方程f'(x)=0有公共根,即原多项式方程必有重根;其次,上述结式子式序列数组的符号数(正数、负数与零的符号数分别为1,-1与0)构成的数组为
F=(1,1,-1,-1,0)
其前面的非零元素长度为l=4,而且该符号数组的变号数(正、负改变的次数)为v=1,于是有结论表明:上述多项式方程有v=1对不同虚根,有l-2v=2个不同实根。
又因为原多项式方程是n=5次的方程,它应该总共有5个根,所以还可以推知,该方程的2个不同实根中有一个是2重根,另外一个是单根。此外方程还有一对共轭虚根。
上述方法可以推广到任意次数的实系数甚至复系数的多项式方程根的情况分类问题。多项式方程有否公共根以及高阶的、符号系数多项式方程根的情况分类问题,这在符号运算与计算机机器证明等科学领域中有非常重要的作用。
从实际计算方面来说,结式行列式的阶数比较高,求值一般会比较复杂。这样的问题则可以交给MATLAB去完成。对此可以参见第二章第八节和第三章第九节中关于MATLAB使用介绍及编程计算的相关内容。