Loading [MathJax]/jax/output/HTML-CSS/jax.js

2020年5月31日 星期日

行列式的餘因子遞迴定義:從2階行列式與Cramer法則談起

南京大學數學系的朱富海教授在其文章〈问题引导的代数学: 行列式的多样性〉中討論了行列式的諸多定義方式,非常值得一讀。特別是其中
问题 2 三元一次线性方程组
{a11x1+a12x2+a13x3=b1a21x1+a22x2+a23x3=b2a31x1+a32x2+a33x3=b3
有唯一解, 求解的表达式.这个问题稍微复杂了一点, 可以利用消元法化为二元一次方程组, 不过我更喜欢利用二元情形的结论: 把x1看作已知的, 利用后两个方程求出x2,x3 (用二阶行列式来表达), 再代入第一个方程解出x1. x1的表达式是一个分式, 分子分母有共性, 引入三阶行列式就更能看出整齐性, 甚至猜出了三元情形的 Cramer 法则.
這真是個精闢的看法!觀點恰好與典型的解線性方程組的順序相反。一般慣用的Gauss消去法是由上而下,依序對x1,x2,,xn消元,然後再代回求解。 朱教授此處所言,卻是先考慮排除掉x1,以Cramer公式處理n1元線性方程組後,再代回解出x1,非常的有遞迴的味道!

實際上正是這樣的處理手法,可以自然的導出行列式的餘因子降階定義法!

有名的炸漢堡(Friedberg)線性代數,介紹n階行列式時,就是用餘因子降階法來定義。但是一個問題是,完全不說明這個定義怎麼來的,就是從天而降,讓人摸不著腦袋。我實在很反感這種教學方式。

約定:以下解方程組的過程中,一概考慮非奇異的情況。

1. 2階行列式與Cramer法則 


考慮2元線性方程組{a11x1+a12x2=b1a21x1+a22x2=b2,對其中的第2式a21x1+a22x2=b2,以x1表示出x2解得x2=1a22(b2a21x1),代回原方程組中的第1式,得
a11x1+a121a22(b2a21x1)=b1,a11a22x1+a12(b2a21x1)=a22b1,(a11a22a12a21)x1=b1a22b2a12,
a11a22a12a210時,可解得
x1=b1a22b2a12a11a22a12a21.
仔細觀察分子與分母的結構,非常的類似。定義2階行列式 (determinant of order 2)
|abcd|=adbc.
於是x1可改寫為
x1=|b1a12b2a22||a11a12a21a22|.
為了解出x2,如果將x1的式子代回原方程組,會遭遇複雜的運算。我們可以換個思路。由於加法具有交換律,我們可以考慮將原來的方程組變形為
{a12x2+a11x1=b1a22x2+a21x1=b2.
這個方程組當然與原本的方程組是同解的!接著依樣畫葫蘆,可以求得
x2=|b1a11b2a21||a12a11a22a21|.
儘管x1,x2乍看有點不同,但其實他們有相同的分母。在此我們要先插記一個2階行列式的性質:

性質  2階行列式中,對調column後,新行列式值為原行列式值添上一負號。

[證]. |badc|=bcad=(adbc)=|abcd|.
(證明終了)

有了這個性質後,我們就可以重新計算x2如下:
x2=|b1a11b2a21||a12a11a22a21|=|a11b1a21b2||a11a12a21a22|=|a11b1a21b2||a11a12a21a22|.
因此我們稱2階行列式|a11a12a21a22|為線性方程組{a11x1+a12x2=b1a21x1+a22x2=b2的係數行列式,記為D(2)。而行列式|b1a12b2a22||a11b1a21b2|則分別記為D(2)1D(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=b2a21x1a32x2+a33x3=b3a31x1.
然後使用2階線性方程組的Cramer法則,得到
x2=|b2a21x1a23b3a31x1a33||a22a23a32a33|=|b2a23b3a33|x1|a21a23a31a33||a22a23a32a33|,
以及
x3=|a22b2a21x1a32b3a31x1||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|.
對於上式中,牽涉到a21a31b2b3的行列式,將a21a31b2b3各別調換至其所在行列式中的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|.
要解出x2x3,無須將方才解出的x1代回方程組,我們採取調換標號的手段,如下所示:
{a11x1+a12x2+a13x3=b1a21x1+a22x2+a23x3=b2a31x1+a32x2+a33x3=b3{a12x2+a11x1+a13x3=b1a22x2+a21x1+a23x3=b2a32x2+a31x1+a33x3=b3x2=|b1a11a13b2a21a23b3a31a33||a12a11a13a22a21a23a32a31a33|.
以及
{a11x1+a12x2+a13x3=b1a21x1+a22x2+a23x3=b2a31x1+a32x2+a33x3=b3{a13x3+a12x2+a11x1=b1a23x3+a22x2+a21x1=b2a33x3+a32x2+a31x1=b3x3=|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. 從n1n


對於n階線性方程組
{a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2an1x1+an2x2++annxn=bn,
A中的column分別構成以下的column向量
A1=[a11a21an1],A2=[a12a22an2],,An=[a1na2nann].
方程組右端的常數項則記為
b=[b1b2bn].
由於我們會針對原方程組中的後n1條方程式進行討論,所以再定義以下的column向量:
~A1=[a21an1],~A2=[a22an2],,~An=[a2nann],˜b=[b2bn].
它們都是從原來的A1,A2,,An,b砍掉頭一個元素後得到的向量。注意它們都是n1維。
另外,我們用det(d1,d2,,dk)表示由k維column向量所構成的k階行列式。
由前面從2階推導至3階的經驗,考慮以下三條歸納假設:
  1. 我們會計算n1階行列式。
    D(n1)=|d11d12d1,n1d21d22d2,n1dn1,1dn1,2dn1,n1|.
  2. n1階行列式具有「交換column後加上負號」的性質。
  3. 我們有n1階Cramer法則。
 ​ 有了以上準備工作後,我們可以開始來討論n階線性方程組了。
 ​ 首先我們改寫原方程組中的後n1條如下:
{a22x2++a2nxn=b2a21x1an2x2++annxn=bnan1x1,
於是可根據歸納假設3解出x2,,xn
x2=det(˜bx1~A1,,~An)det(~A2,,~An),,xn=det(~A2,,˜bx1~A1)det(~A2,,~An).
代回原方程組中的第一條式子,得到
a11x1+a12det(˜bx1~A1,,~An)det(~A2,,~An)++a1ndet(~A2,,˜bx1~A1)det(~A2,,~An)=b1,
左右同乘以det(~A2,,~An),變為
a11x1det(~A2,,~An)+a12det(˜bx1~A1,,~An)++a1ndet(~A2,,˜bx1~A1)=b1det(~A2,,~An),
再利用n1階行列式的多重線性性質,得
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)
對於上式中的每個n1階行列式,將其中的~A1˜b逐步與其前頭的元素交換,挪移到column 1的位置,並且保持其餘column的相對順序不變,則得
[a11det(~A2,,~An)+a12(1)1det(~A1,~A3,,~An)++a1n(1)1+(n2)det(~A1,~A2,,~An1)]x1=b1det(~A2,,~An)+a12(1)1det(˜b,~A3,,~An)++a1n(1)1+(n2)det(˜b,~A2,,~An1).
這啟發了我們定義n階行列式 (determinant of order n)
D(n)=|d11d12d1nd21d22d2ndn1dn2dnn|=d11(1)1+1|d22d2ndn2dnn|+d12(1)1+2|d21d23d2ndn1dn3dnn|++d1n(1)1+n|d22d2,n1dn2dn,n1|.
從而可將方才的等式改寫為
|a11a12a1na21a22a2nan1an2ann|x1=|b1a12a1nb2a22a2nbnan2ann|.
因為假定了方程組非奇異(non-singular),所以上式中x1的係數必非零,故
x1=|b1a12a1nb2a22a2nbnan2ann||a11a12a1na21a22a2nan1an2ann|=det(b,A2,,An)det(A).
如果將原方程組改寫為
{a12x2+a11x1+a13x3++a1nxn=b1a22x2+a21x1+a23x3++a2nxn=b2an2x2+an1x1+an3x3++annxn=b1,
那麼仿照以上的討論,可解得
x2=|b1a11a13a1nb2a21a23a2nbnan1an3ann||a12a11a13a1na22a21a23a2nan2an1an3ann|.
而根據歸納假設2,有
x2=|b1a11a13a1nb2a21a23a2nbnan1an3ann||a12a11a13a1na22a21a23a2nan2an1an3ann|=|a11b1a13a1na21b2a23a2nan1bnan3ann||a11a12a13a1na21a22a23a2nan1an2an3ann|=|a11b1a13a1na21b2a23a2nan1bnan3ann||a11a12a13a1na21a22a23a2nan1an2an3ann|=det(A1,b,A3,,An)det(A).
其餘x3,,xn的討論亦類似,得
x3=det(A1,A2,b,A4,,An)det(A),,xn=det(A1,,An1,b)det(A).

結論:
  1. n階行列式是靠n1階行列式的線性組合所定義出來的:
    D(n)=|d11d12d1nd21d22d2ndn1dn2dnn|=d11(1)1+1|d22d2ndn2dnn|+d12(1)1+2|d21d23d2ndn1dn3dnn|++d1n(1)1+n|d22d2,n1dn2dn,n1|.
  2. Cramer公式:對於非奇異的n階線性方程組
    {a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2an1x1+an2x2++annxn=bn,
    其解為
    xi=det(,Ai1,b,Ai+1,)det(A).
  

參考文獻


[1] 朱富海,问题引导的代数学: 行列式的多样性,知乎專欄《數林廣記》

(最後更新:2020/06/05)

2020年5月13日 星期三

2020-05-10,統計量構成等差數列的問題

我的可愛家教學生育嫆問了我一道統計的題目,披著統計的外殼考數列,我一時沒有分析出來,回家後想了一會兒才理清頭緒。

先說我的評論是,這種題目對於理解統計思想沒有任何幫助,非常無聊

儘管無趣,但我們還是想辦法解開。抱怨歸抱怨,問題來了還是得面對。

==問題==

已知7筆數據:2, 5, 2, 4, 10, 2, x,如果此7筆數據的算術平均數、中位數與眾數3個統計量按照由小而大的順序排列起來恰好形成一個公差大於0的等差數列,那麼所有可能的x值其總和為何?

==解答==

首先,最重要的一步是將數據排序:2, 2, 2, 4, 5, 10, x。其中x放在最後並不意味著x是最大的,或是x10,僅僅是因為x未知大小,索性就丟在最後頭。

注意到在數據中,2一共出現了3次,這表示說,無論x取什麼值,在這7筆數據中,2永遠是出現最多次的數據,因此我們可以斷定眾數Mo=2

題設條件稱「算術平均數、中位數與眾數3個統計量按照由小而大的順序排列起來恰好形成一個公差大於0的等差數列」意味著3個統計量必然是完全相異的!

因為一共有7筆資料,所以中位數Me是由小而大的第4筆數據

平均數μ=17(2+2+2+4+5+10+x)=x+257

如果x2,則數據排序後必形如:x, 2, 2, 2, 4, 5, 10 (x<2時)或2, 2, 2, 2, 4, 5, 10 (x=2時)。無論是哪個情況,此時第4筆數據都是2,也就是說中位數Me=2,但這樣中位數與眾數就相等了,與題設條件矛盾。因此我們可推論x>2

如果2<x<4,則數據排序後必形如:2, 2, 2, x, 4, 5, 10。此時Me=x<4,而μ=x+257>2+257=367。此時無法直接判斷Me=xμ的大小關係。但我們仍然可以分情況討論。無論如何,眾數Mo=2都是最小的。於是Mo, Me, μ三者的大小關係可能是2<x<x+2572<x+257<x

若為2<x<x+257,則得到x2=x+257x,解得x=3

若為2<x+257<x,則得到x=365=7.2,不在x的範圍內,不合。

所以當x介於2與4之間時,合乎題目條件的值僅有x=3

如果x4,則數據排序後,前4筆數據必為2, 2, 2, 4,所以中位數Me=4,而μ=x+2574+257=417>4,所以得到Mo < Me < μ。那麼公差就是42=2,因此μ=4+2=6,於是x+257=6,解得x=17

我們已經對x的所有情況都討論分析過了,因此可能的x僅有3或17,故總和為20。

==附記==

本文完稿之時,其中平均數μ有誤算,經朋友許淵智老師確核答案後,始得修正。特此註記致謝。