看不懂的高等代數(shù)(四)
啊……很久很久以后,我終于又有時間來更新專欄了……
嘛,不過我們更新一次介紹的內(nèi)容也蠻多的,所以倒也足夠大家在這么長的時間里來消化~
這一次呢,在介紹過行列式的基本定義之后,我們就要具體研究行列式的各種性質(zhì)了。我們將會從基本定義出發(fā),來介紹行列式的各種運算性質(zhì),以及一些基本應用,用以簡化許多行列式的計算。
所以,話不多說,我們開始吧!
Chapter? Two? 行列式
2.3? 行列式的性質(zhì)
我們上一篇介紹了行列式的定義,其計算方式是n!個乘積項的加和。我們曾經(jīng)在數(shù)學分析部分介紹過n!的估計(Stirling公式),即:
可以看到,隨著n的增大,乘積項的數(shù)目是至少指數(shù)級增大的。于是,當n足夠大的時候(甚至是n≥5時,此時有120項),直接依靠定義去計算都會非常復雜。于是,我們迫切需要找到一些方法,來簡化運算的實際過程。
因此,我們先來研究一下行列式的性質(zhì)。
首先,我們上次證明過,無論是固定行序數(shù)排列列序數(shù)還是固定列序數(shù)排列行序數(shù),對于同一個行列式而言,計算結(jié)果是不會發(fā)生改變的。于是,我們就能得到:
將行列式的行變?yōu)榱校凶優(yōu)樾校ㄐ辛谢Q),行列式的值不變。
我們稱矩陣A行列互換的結(jié)果為矩陣A的轉(zhuǎn)置,記為。
則這一結(jié)果可以記為:
我們提到過,行列式本身也是基于一個方形數(shù)表(即方陣)定義的計算規(guī)則,那么我們就要來看看,對方陣的元素做改變,能夠?qū)π辛惺降挠嬎阒诞a(chǎn)生什么影響。
我們曾經(jīng)介紹過,任何矩陣都可以通過初等行變換變?yōu)樾须A梯形矩陣,而對于方陣而言,行階梯形矩陣一定是一種上三角形矩陣,其結(jié)果我們是有結(jié)論可以直接應用的。所以,我們就很自然地去想,初等行變換會不會影響行列式的值?
首先,我們來看一下比較好討論的初等行變換——倍乘變換。
所謂倍乘變換,其實就是矩陣的某一行變成了原本的k倍。這相當于是用k乘以該行所有元素,所以我們稱之為倍乘變換。
顯然,我們有:
從以上推導的過程當中,我們也可以看到:
這表明,在行列式的某一行(列)上乘上某一個因子,等于行列式整體乘一個相同的因子。即,在至多相差一個因子的情況下,倍乘變換不改變行列式的值。
接下來,我們來看一下加和變換。
加和變換,就是將矩陣的第k行加到第m行上去(加到本行就相當于做了倍乘),使得原本的第m行變?yōu)槟硟尚兄汀?/p>
還是從定義來推導,我們能得到:
我們現(xiàn)在需要研究一下,推導中等號右側(cè)的表達式的值。
可以看出來,對于等號右側(cè)表達式而言,實際上就是要求一個這樣的方陣的行列式:
我們介紹過,在任何一個乘積項中,一次對換改變排列的奇偶性。因此,對于行列式中的任何一項,我們就能得到:
于是,我們就得到了:
這就是說:
行列式中有兩行相同時,行列式的值為0。
同時,我們也得到了:
加和變換不改變行列式的值。
事實上,對于加和變換的推導,還可以拓寬一些。如果我們讓被加到某一行上的不是另一行的元素,而是隨便的元素構(gòu)成的一個行,那么,我們就能得到:
其中,A與B除了第k行的元素以外其他行的元素都相同。
利用這兩條性質(zhì),我們就能得到:
倍加變換不改變行列式的值。(倍加變換就是將矩陣的某一行的k倍加到另一行上去。)
(命題1)
至此,我們就得到了一個十分便于我們計算行列式的結(jié)論:
在至多相差一個倍數(shù)的情況下,初等行變換不改變行列式的值。
這樣的話,我們就可以嘗試去將行列式對應的方陣變換為行階梯形矩陣,從而直接得出行列式的值。這樣,我們就大大簡化了行列式的計算復雜度。
因此,我們就得到了第一種計算行列式的簡化方法:
通過初等行變換將行列式變?yōu)樯先切涡辛惺健?/p>
2.4? 行列式按一行(列)展開
我們接下來來介紹行列式的另一種簡化計算方法。
我們還是來研究一下行列式的定義。從排列的角度來看,對于n個數(shù)而言,排列數(shù)為n!。仔細回顧對排列數(shù)的推導,我們就能知道,實際上,我們是先選擇了一個數(shù)置于一位,然后再再剩下的n-1個數(shù)當中選擇一個置于二位,以此類推,則得到了排列數(shù)的結(jié)果。也就是說,實際上排列數(shù)本身應該具有一定的遞推關(guān)系。[n!=n(n-1)!]
這啟示我們,實際上對于n階行列式而言,或許我們可以通過類似的方式來將行列式降階。
我們的想法是,對于n階行列式而言,我們可以通過固定某n個元素的方式(相當于在排列當中固定了n個元素的存在,此時對于每個元素而言,剩下的排列總數(shù)都為(n-1)!),研究含這n個元素的所有乘積項,從而將其分成n類,研究每一類的結(jié)果。
想要操作這樣一種方法,首先的一點就是,這n個元素處于什么樣的位置上比較好。如果我們能將這n!個乘積項分成n類,則這n個元素是不能重復的。同時,這n個元素中的任意兩個都不能出現(xiàn)在同一乘積項中,否則對于這樣的乘積項我們無法分類。
通過上面的分析,我們很容易得到,這n個元素要么位于同一行,要么位于同一列。很顯然,位于同一行(列)里的元素不可能出現(xiàn)在同一個乘積項當中;而同時,如果這兩個元素不位于同一行(列)當中,就一定會存在至少一個排列使得二者位于同一個乘積項當中。
弄明白了這一點,我們就可以來研究,降階的具體操作如何了(以第一行為例來推導):
將每行對應的元素提出,就得到了:
不難注意到,等號右側(cè)的括號內(nèi)部也包含了一個行列式的形式,只是我們并不清楚逆序數(shù)之間的關(guān)系。實際上,逆序數(shù)之間無非就兩種關(guān)系形式:
現(xiàn)在的問題是,如何確定k與m之間的關(guān)系。
我們可以對做一些簡單的分析,就能夠?qū)⑦@個問題毫無疑問地弄明白。
逆序數(shù)的定義是排列中逆序?qū)Φ臄?shù)目。對于一位為1的排列,1的存在本身并不影響后面的n-1個數(shù)的排列的逆序數(shù)(因為1最小,在最前面不提供任何逆序?qū)Γ?;如果一位?,那么說明后面的排列當中一定有1存在,而其他數(shù)都要大于2,因此2會提供一個逆序數(shù),將2去掉就會使得后面的排列相較于原排列損失一個逆序數(shù)。以此類推,我們就不難發(fā)現(xiàn)有:
將其代入推導出來的式子,我們就能得到:
這時,括號內(nèi)部的求和項就是一個新的行列式,它是除去第一行和第k列的所有元素不改變位置所形成的降一階的方陣的行列式。我們稱除去某一元素所在行與列的全部元素后,將剩余元素不改變相對位置地組合成的新的方陣的行列式為該元素的余子式,記作。
于是,此時行列式又可以寫成:
現(xiàn)在,我們將第一行推廣到任意一行(記為第i行),那么對應地,推導式應該變成:
通過我們前面介紹過的有關(guān)交換與對換對逆序數(shù)的影響,我們能夠很輕松的推導出來:
再利用我們剛剛討論出來的結(jié)果,就有:
代入推導式,就得到了:
為了形式上的整齊性,同時便于記憶與計算,我們?nèi)?(i-1),得到:
我們記:
稱之為第i行第k列的元素的代數(shù)余子式,則行列式又可以被表達為:
事實上,當我們就第一行證明了展開式以后,由于我們前面提到對換(交換是一種特殊的對換)行列式的兩行,行列式變號,所以我們就可以經(jīng)過i-1次交換將第i行交換到第1行,于是證明自然完成了;而對于列展開的證明,由于我們提到過方陣的轉(zhuǎn)置并不影響行列式的值,因此我們可以將方陣做轉(zhuǎn)置,將原本的列轉(zhuǎn)置成行,那么證明也就完成了。
我們可以看到,這樣的展開實際上是將一個n階行列式展開成了n個n-1階的行列式,實現(xiàn)了行列式的降階。這一展開公式稱為行列式的按一行(列)展開公式。
降階的意義何在呢?實際上,對于某些形式特殊的行列式,由于其原本的形式與代數(shù)余子式的形式十分類似,于是我們就可以通過一些構(gòu)造技巧將二者轉(zhuǎn)化為同形式的行列式,使得二者只有階數(shù)不同。此時,按一行(列)展開公式實質(zhì)上就提供了一個遞推公式,這樣很多計算都可以被簡化掉。此時,我們有很多方式可以利用來計算行列式,比如說利用數(shù)學歸納法等。
這就是行列式的第二種簡化計算方法。
利用行列式的按一行(列)展開公式,我們就能夠得到:
只需要利用“有兩行相同的行列式的值為0?!边@一結(jié)論即可。
至此,我們就將行列式的簡化計算方法的基本思想全部介紹完了。
作為應用,我們來介紹一個定理——Cramer法則。
我們知道,對于線性方程組而言,只有當系數(shù)矩陣經(jīng)過化簡之后得到的行階梯形矩陣全都是非零行時,方程組才有可能有唯一解;否則,方程組無解或者有無窮多組解。特別地,由于齊次線性方程組一定有零解,所以當系數(shù)矩陣化簡出零行時,齊次線性方程組一定是有無窮多組解的。
我們提到過,對于n階方陣而言,行階梯形矩陣一定是上三角形矩陣,所以這就相當于是在說:
(1)n階n元線性方程組有唯一解的充分必要條件為其系數(shù)矩陣的行列式不為0;
(2)n階n元齊次線性方程組有無窮多組解的充分必要條件為其系數(shù)矩陣的行列式為0。
現(xiàn)在的問題是,對于一般的線性方程組,如果我們判斷出了它有唯一解,那么,我們能否用一種固定的方式程序化地求出這一解呢?
我們前面提到過初等變換法取求解,但是很多時候變換的具體操作是因人而異的。直覺敏銳的人可能很快就找到了合適的變換路徑,但是可能也有一些人哪怕按部就班地去操作也很難有效地解出方程組的解。我們現(xiàn)在就是想尋求一個公式,只需要代入某些參數(shù),就可以直接機械地計算出結(jié)果,這樣能夠為一部分人提供便利。
仔細觀察線性方程組的形式,我們不難發(fā)現(xiàn)(只以一行為例),當我們令:
時,就應有:
于是我們做這樣的變換:
看起來,我們已經(jīng)找到了一個比較好的結(jié)果了。但事實上,由于所有行的變元都是同樣的n個變量,這使得對于第一行成立的結(jié)果對于其他行就不一定成立。但是,我們可以發(fā)現(xiàn),對于目前賦值后的各個變元而言,有:
于是,我們做一個新的賦值,令:
這就得到了:
于是,我們就得到了一個求解線性方程組唯一解的公式。
由于是一個列無關(guān)的量,同時在解的通式當中也不存在對列序數(shù)的操作,因此我們可以人為地給
附一個同樣的列序數(shù),即:
通式當中的分子可以被看做是一個行列式an一列展開的結(jié)果,于是,Cramer法則也可以敘述成:
有唯一解的線性方程組,它的某個變元的解等于用常數(shù)列替換系數(shù)矩陣中第j列所得到的矩陣的行列式與原系數(shù)矩陣的行列式的比值。
思考:
證明命題1;
計算n階行列式:
計算n階行列式:
計算n階行列式:
計算n階行列式:
(Vandermonde行列式)
證明:
其中,有:
利用Cramer法則討論專欄(二)思考4中的方程組是否有解,并就解的形式進一步討論a的取值。
みんながすべてマスターすることができることを望み ます!?