问题 2 三元一次线性方程组{a11x1+a12x2+a13x3=b1a21x1+a22x2+a23x3=b2a31x1+a32x2+a33x3=b3
有唯一解, 求解的表达式.这个问题稍微复杂了一点, 可以利用消元法化为二元一次方程组, 不过我更喜欢利用二元情形的结论: 把x1看作已知的, 利用后两个方程求出x2,x3 (用二阶行列式来表达), 再代入第一个方程解出x1. x1的表达式是一个分式, 分子分母有共性, 引入三阶行列式就更能看出整齐性, 甚至猜出了三元情形的 Cramer 法则.
這真是個精闢的看法!觀點恰好與典型的解線性方程組的順序相反。一般慣用的Gauss消去法是由上而下,依序對x1,x2,⋯,xn消元,然後再代回求解。 朱教授此處所言,卻是先考慮排除掉x1,以Cramer公式處理n−1元線性方程組後,再代回解出x1,非常的有遞迴的味道!
實際上正是這樣的處理手法,可以自然的導出行列式的餘因子降階定義法!
實際上正是這樣的處理手法,可以自然的導出行列式的餘因子降階定義法!
有名的炸漢堡(Friedberg)線性代數,介紹n階行列式時,就是用餘因子降階法來定義。但是一個問題是,完全不說明這個定義怎麼來的,就是從天而降,讓人摸不著腦袋。我實在很反感這種教學方式。
約定:以下解方程組的過程中,一概考慮非奇異的情況。
1. 2階行列式與Cramer法則
考慮2元線性方程組{a11x1+a12x2=b1a21x1+a22x2=b2,對其中的第2式a21x1+a22x2=b2,以x1表示出x2解得x2=1a22(b2−a21x1),代回原方程組中的第1式,得
a11x1+a12⋅1a22(b2−a21x1)=b1,a11a22x1+a12(b2−a21x1)=a22b1,(a11a22−a12a21)x1=b1a22−b2a12,
當a11a22−a12a21≠0時,可解得
x1=b1a22−b2a12a11a22−a12a21.
仔細觀察分子與分母的結構,非常的類似。定義2階行列式 (determinant of order 2)為
|abcd|=ad−bc.
於是x1可改寫為
x1=|b1a12b2a22||a11a12a21a22|.
為了解出x2,如果將x1的式子代回原方程組,會遭遇複雜的運算。我們可以換個思路。由於加法具有交換律,我們可以考慮將原來的方程組變形為
{a12x2+a11x1=b1a22x2+a21x1=b2.
這個方程組當然與原本的方程組是同解的!接著依樣畫葫蘆,可以求得
x2=|b1a11b2a21||a12a11a22a21|.
儘管x1,x2乍看有點不同,但其實他們有相同的分母。在此我們要先插記一個2階行列式的性質:
性質 2階行列式中,對調column後,新行列式值為原行列式值添上一負號。
[證]. |badc|=bc−ad=−(ad−bc)=−|abcd|.
(證明終了)
有了這個性質後,我們就可以重新計算x2如下:
x2=|b1a11b2a21||a12a11a22a21|=−|a11b1a21b2|−|a11a12a21a22|=|a11b1a21b2||a11a12a21a22|.
因此我們稱2階行列式|a11a12a21a22|為線性方程組{a11x1+a12x2=b1a21x1+a22x2=b2的係數行列式,記為D(2)。而行列式|b1a12b2a22|與|a11b1a21b2|則分別記為D(2)1與D(2)2,從而得到2階線性方程組的Cramer公式:
x1=D(2)1D(2),x2=D(2)2D(2).
此處再提醒,行列式D(2)1是用常數項b1b2替換掉係數行列式D(2)的column 1而得到,D(2)2則是用常數項b1b2替換掉係數行列式D(2)的column 2而得。
![]() |
G. Cramer (1704-1752) |
![]() |
Cramer法則首次的公開是在此書的附錄 |
![]() |
紅線框起的部分就是2階線性方程組的Cramer法則,只是當年沒有採用行列式記號。下面跟著的是3階的情況。 |
2. 用2階Cramer法則解3階線性方程組,用2階行列式導出3階行列式
現在考慮3階線性方程組
{a11x1+a12x2+a13x3=b1a21x1+a22x2+a23x3=b2a31x1+a32x2+a33x3=b3.
首先針對其中的第2式與第3式,改寫作
{a22x2+a23x3=b2−a21x1a32x2+a33x3=b3−a31x1.
然後使用2階線性方程組的Cramer法則,得到
x2=|b2−a21x1a23b3−a31x1a33||a22a23a32a33|=|b2a23b3a33|−x1|a21a23a31a33||a22a23a32a33|,
以及
x3=|a22b2−a21x1a32b3−a31x1||a22a23a32a33|=|a22b2a32b3|−x1|a22a21a32a31||a22a23a32a33|.
代回原方程組中的第1式,
a11x1+a12|b2a23b3a33|−x1|a21a23a31a33||a22a23a32a33|+a13|a22b2a32b3|−x1|a22a21a32a31||a22a23a32a33|=b1,
整理得
(a11|a22a23a32a33|−a12|a21a23a31a33|−a13|a22a21a32a31|)x1=b1|a22a23a32a33|−a12|b2a23b3a33|−a13|a22b2a32b3|.
對於上式中,牽涉到a21a31與b2b3的行列式,將a21a31與b2b3各別調換至其所在行列式中的column1位置,利用前文推導過的「行列式交換column添負號」,得
(a11|a22a23a32a33|−a12|a21a23a31a33|+a13|a21a22a31a32|)x1=b1|a22a23a32a33|−a12|b2a23b3a33|+a13|b2a22b3a32|.
如果我們定義3階行列式 (determinant of order 3)為
|d11d12d13d21d22d23d31d32d33|=d11|d22d23d32d33|−d12|d21d23d31d33|+d13|d21d22d31d32|.
那麼上式可改寫為
|a11a12a13a21a22a23a31a32a33|x1=|b1a12a13b2a22a23b3a32a33|.
從而可解出
x1=|b1a12a13b2a22a23b3a32a33||a11a12a13a21a22a23a31a32a33|.
要解出x2與x3,無須將方才解出的x1代回方程組,我們採取調換標號的手段,如下所示:
{a11x1+a12x2+a13x3=b1a21x1+a22x2+a23x3=b2a31x1+a32x2+a33x3=b3→{a12x2+a11x1+a13x3=b1a22x2+a21x1+a23x3=b2a32x2+a31x1+a33x3=b3⇒x2=|b1a11a13b2a21a23b3a31a33||a12a11a13a22a21a23a32a31a33|.
以及
{a11x1+a12x2+a13x3=b1a21x1+a22x2+a23x3=b2a31x1+a32x2+a33x3=b3→{a13x3+a12x2+a11x1=b1a23x3+a22x2+a21x1=b2a33x3+a32x2+a31x1=b3⇒x3=|b1a12a11b2a22a21b3a32a31||a13a12a11a23a22a21a33a32a31|.
為了使x2,x3的分母形式與x1一致,我們還要證明:
性質 3階行列式中,對調column後,新行列式值為原行列式值添上一負號。
[證]. 考慮column 1與column 2對調的情況:
|d12d11d13d22d21d23d32d31d33|=d12|d21d23d31d33|−d11|d22d23d32d33|+d13|d22d21d32d31|=d12|d21d23d31d33|−d11|d22d23d32d33|−d13|d21d22d31d32|=−(d11|d22d23d32d33|−d12|d21d23d31d33|+d13|d21d22d31d32|)=−|d11d12d13d21d22d23d31d32d33|.
其餘調換的情況也是類推。
(證明終了)
由此性質,可得
x2=|b1a11a13b2a21a23b3a31a33||a12a11a13a22a21a23a32a31a33|=−|a11b1a13a21b2a23a31b3a33|−|a11a12a13a21a22a23a31a32a33|=|a11b1a13a21b2a23a31b3a33||a11a12a13a21a22a23a31a32a33|,
與
x3=|b1a12a11b2a22a21b3a32a31||a13a12a11a23a22a21a33a32a31|=−|a11a12b1a21a22b2a31a32b3|−|a11a12a13a21a22a23a31a32a33|=|a11a12b1a21a22b2a31a32b3||a11a12a13a21a22a23a31a32a33|.
類似對2階線性方程組的討論,我們可定義3階線性方程組{a11x1+a12x2+a13x3=b1a21x1+a22x2+a23x3=b2a31x1+a32x2+a33x3=b3的係數行列式D(3)及D(3)1,D(3)2,D(3)3如下:
D(3)=|a11a12a13a21a22a23a31a32a33|,D(3)1=|b1a12a13b2a22a23b3a32a33|,D(3)2=|a11b1a13a21b2a23a31b3a33|,D(3)3=|a11a12b1a21a22b2a31a32b3|.
從而3階線性方程組的Cramer法則可表述為
x1=D(3)1D(3),x2=D(3)2D(3),x3=D(3)3D(3).
3. 從n−1到n
對於n階線性方程組
{a11x1+a12x2+⋯+a1nxn=b1a21x1+a22x2+⋯+a2nxn=b2⋮an1x1+an2x2+⋯+annxn=bn,
A中的column分別構成以下的column向量
A1=[a11a21⋮an1],A2=[a12a22⋮an2],⋯,An=[a1na2n⋮ann].
方程組右端的常數項則記為
b=[b1b2⋮bn].
由於我們會針對原方程組中的後n−1條方程式進行討論,所以再定義以下的column向量:
~A1=[a21⋮an1],~A2=[a22⋮an2],⋯,~An=[a2n⋮ann],˜b=[b2⋮bn].
它們都是從原來的A1,A2,⋯,An,b砍掉頭一個元素後得到的向量。注意它們都是n−1維。
另外,我們用det(d1,d2,⋯,dk)表示由k維column向量所構成的k階行列式。
由前面從2階推導至3階的經驗,考慮以下三條歸納假設:
- 我們會計算n−1階行列式。D(n−1)=|d11d12⋯d1,n−1d21d22⋯d2,n−1⋮⋮⋮dn−1,1dn−1,2⋯dn−1,n−1|.
- n−1階行列式具有「交換column後加上負號」的性質。
- 我們有n−1階Cramer法則。
有了以上準備工作後,我們可以開始來討論n階線性方程組了。
首先我們改寫原方程組中的後n−1條如下:
{a22x2+⋯+a2nxn=b2−a21x1⋮an2x2+⋯+annxn=bn−an1x1,
於是可根據歸納假設3解出x2,⋯,xn
x2=det(˜b−x1~A1,⋯,~An)det(~A2,⋯,~An),⋯,xn=det(~A2,⋯,˜b−x1~A1)det(~A2,⋯,~An).
代回原方程組中的第一條式子,得到
a11x1+a12det(˜b−x1~A1,⋯,~An)det(~A2,⋯,~An)+⋯+a1ndet(~A2,⋯,˜b−x1~A1)det(~A2,⋯,~An)=b1,
左右同乘以det(~A2,⋯,~An),變為
a11x1det(~A2,⋯,~An)+a12det(˜b−x1~A1,⋯,~An)+⋯+a1ndet(~A2,⋯,˜b−x1~A1)=b1det(~A2,⋯,~An),
再利用n−1階行列式的多重線性性質,得
a11x1det(~A2,⋯,~An)+a12det(˜b,⋯,~An)−a12x1det(~A1,⋯,~An)+⋯+a1ndet(~A2,⋯,˜b)−a1nx1det(~A2,⋯,~A1)=b1det(~A2,⋯,~An),
重新整理得
[a11det(~A2,⋯,~An)−a12det(~A1,⋯,~An)−⋯−a1ndet(~A2,⋯,~A1)]x1=b1det(~A2,⋯,~An)−a12det(˜b,⋯,~An)−⋯−a1ndet(~A2,⋯,˜b)
對於上式中的每個n−1階行列式,將其中的~A1或˜b逐步與其前頭的元素交換,挪移到column 1的位置,並且保持其餘column的相對順序不變,則得
[a11det(~A2,⋯,~An)+a12(−1)1det(~A1,~A3,⋯,~An)+⋯+a1n(−1)1+(n−2)det(~A1,~A2,⋯,~An−1)]x1=b1det(~A2,⋯,~An)+a12(−1)1det(˜b,~A3,⋯,~An)+⋯+a1n(−1)1+(n−2)det(˜b,~A2,⋯,~An−1).
這啟發了我們定義n階行列式 (determinant of order n)為
D(n)=|d11d12⋯d1nd21d22⋯d2n⋮⋮⋮dn1dn2⋯dnn|=d11(−1)1+1|d22⋯d2n⋮⋮dn2⋯dnn|+d12(−1)1+2|d21d23⋯d2n⋮⋮dn1dn3⋯dnn|+⋯+d1n(−1)1+n|d22⋯d2,n−1⋮⋮dn2⋯dn,n−1|.
從而可將方才的等式改寫為
|a11a12⋯a1na21a22⋯a2n⋮⋮⋮an1an2⋯ann|x1=|b1a12⋯a1nb2a22⋯a2n⋮⋮⋮bnan2⋯ann|.
因為假定了方程組非奇異(non-singular),所以上式中x1的係數必非零,故
x1=|b1a12⋯a1nb2a22⋯a2n⋮⋮⋮bnan2⋯ann||a11a12⋯a1na21a22⋯a2n⋮⋮⋮an1an2⋯ann|=det(b,A2,⋯,An)det(A).
如果將原方程組改寫為
{a12x2+a11x1+a13x3+⋯+a1nxn=b1a22x2+a21x1+a23x3+⋯+a2nxn=b2⋮an2x2+an1x1+an3x3+⋯+annxn=b1,
那麼仿照以上的討論,可解得
x2=|b1a11a13⋯a1nb2a21a23⋯a2n⋮⋮⋮⋮bnan1an3⋯ann||a12a11a13⋯a1na22a21a23⋯a2n⋮⋮⋮⋮an2an1an3⋯ann|.
而根據歸納假設2,有
x2=|b1a11a13⋯a1nb2a21a23⋯a2n⋮⋮⋮⋮bnan1an3⋯ann||a12a11a13⋯a1na22a21a23⋯a2n⋮⋮⋮⋮an2an1an3⋯ann|=−|a11b1a13⋯a1na21b2a23⋯a2n⋮⋮⋮⋮an1bnan3⋯ann|−|a11a12a13⋯a1na21a22a23⋯a2n⋮⋮⋮⋮an1an2an3⋯ann|=|a11b1a13⋯a1na21b2a23⋯a2n⋮⋮⋮⋮an1bnan3⋯ann||a11a12a13⋯a1na21a22a23⋯a2n⋮⋮⋮⋮an1an2an3⋯ann|=det(A1,b,A3,⋯,An)det(A).
其餘x3,⋯,xn的討論亦類似,得
x3=det(A1,A2,b,A4,⋯,An)det(A),⋯,xn=det(A1,⋯,An−1,b)det(A).
結論:
- n階行列式是靠n−1階行列式的線性組合所定義出來的:D(n)=|d11d12⋯d1nd21d22⋯d2n⋮⋮⋮dn1dn2⋯dnn|=d11(−1)1+1|d22⋯d2n⋮⋮dn2⋯dnn|+d12(−1)1+2|d21d23⋯d2n⋮⋮dn1dn3⋯dnn|+⋯+d1n(−1)1+n|d22⋯d2,n−1⋮⋮dn2⋯dn,n−1|.
- Cramer公式:對於非奇異的n階線性方程組{a11x1+a12x2+⋯+a1nxn=b1a21x1+a22x2+⋯+a2nxn=b2⋮an1x1+an2x2+⋯+annxn=bn,
其解為xi=det(⋯,Ai−1,b,Ai+1,⋯)det(A).
參考文獻
[1] 朱富海,问题引导的代数学: 行列式的多样性,知乎專欄《數林廣記》
(最後更新:2020/06/05)