第五節* 行列式的幾何意義與應用舉例
關于行列式概念產生的簡要歷史,據說在中國古代,用籌算法表示聯立一次方程組未知量的系數時,就有了行列式的萌芽——排列的方式。之后日本人吸收了這種思想,在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使用介紹及編程計算的相關內容。