漫步线性代数二十四——行列式应用

  • Post author:
  • Post category:其他


本篇文章介绍四个应用:








A











的逆,求解









A


x


=


b












,盒子的体积以及主元。他们都是线性代数里面非常关键的计算,而行列式给出了这些答案的公式。

1、计算











A











1



























2


×


2











矩阵展示了伴随矩阵如何表示











A











1
































[










a










c
















b










d
















]













1









=





1







a


d







b


c
















[










d















c



















b










a














]











伴随矩阵还需乘以行列式,当








det


A











非零时,








A











是可逆的。












C










11









=


d























a











的代数余子式,












C










12









=





c





















b











的代数余子式(注意负号),而












C










12



















放在了第二行第一列!









a


,


b











分别和











C










11









,





C










12


















相乘得到








a


d







b


c











,这是








det


A











的代数余子式展开式,也是我们需要的线索:











A











1


















就是用伴随矩阵除以








det


A






























A











1









=








C








T














det


A
















(





A











1












)








i


j









=








C










i


j














det


A




























(1)

















我们的目标是验证这个公式,另外由此我们还看出为何








A





C








T









=


(


det


A


)


I

































































a








11































a








n


1






























































a








1


n































a








n


n
















































































C










11































C










1


n






























































C










n


1































C










n


n













































=


































det


A







































































0





















det


A




















































(2)

















第一列











C










11









,





,





C










1


n


















乘以











a








11









,





,





a








1


n


















得到对角元素








det


A




















A











的每一行乘以它的代数余子式都得到









det


A












那么关键问题是:为什么对角线外的元素都是零呢?如果我们将第一行的元素











a








1


j


















和第二行的代数余子式











C










2


j


















进行组合,为什么结果是零呢?



















a








11












C










21









+





a








12












C










22









+





+





a








1


n












C










2


n









=


0
















(3)

















答案就是:我们在计算一个新矩阵








B











的行列式。









A












的第一行复制到第二行得到矩阵








B











,那么矩阵









B












就有相同的两行,








det


B


=


0











。方程(3)是沿着第二行得到








det


B











展开式,其中








B











和矩阵









A












有相同的代数余子式(因为在求解代数余子式时需丢掉第二行),这个非凡的矩阵乘法(2)是完全正确的。

乘法








A





C








T









=


(


det


A


)


I













直接得出











A











1


















,记住去掉矩阵








A





















i












行第








j











列的代数余子式放到












C








T



















的第








j











行第









i












列,然后除以








det


A











(不能等于0)就得到











A











1









=





C








T











/




det


A












例1

:和矩阵的逆是微分矩阵:








A


=





























1










0










0
















1










1










0
















1










1










1















































A











1









=








C








T














det


A














=





























1










0










0



















1










1










0
















0













1










1








































因为代数余子式包含








(





1





)








i


+


j


















,所以会有符号。

2、求解








A


x


=


b




















x


=





A











1









b











仅仅就是











C








T









b











除以








det


A











,这里介绍一个非常出名的求








(





x






1







,





,





x






n







)











的方法:

克拉姆法则:








x


=





A











1









b











的第








j











个元素是比值












x






j







=






det





B






j













det


A














,















B






j







=





































a








11































a








n


1


























a








12































a








n


2


























b








1































b








n


























a








1


n































a








n


n





















































证明:对








det


B











按第








j











列展开成代数余子式的形式,因为代数余子式不考虑该列,所以









det





B






j





























C








T









b











的第








j











个元素:









det





B






j







=





b






1










C










1


j









+





b






2










C










2


j









+





+





b






n










C










n


j

















然后用它除以








det


A











就得到











x






j

























x











的每个元素都是两个行列式的比值。


例2

:下面方程组












x






1







+


3





x






2







=


0

















2





x






2







+


4





x






2







=


0









的解











x






1
















需要将第一列换成0,6,











x






2
















需要将第二列换成0,6:











x






1







=
































0










6
















3










4
































































1










2
















3










4












































=









18











2














=


9


,







x






2







=
































1










2
















0










6
































































1










2
















3










4












































=





6










2














=





3


,











分母总是








det


A











,如果有1000个方程,那么根据克莱姆法则,需要1001个行列式。

3、盒子的体积。当所有角都是直角——此时边互相垂直,行列式和体积的联系就非常紧密,此时的盒子的形状是矩形的,从而体积就是边长的乘积:








v


o


l


u


m


n


=












1

















2




















n
















当盒子的边长是








A











的行时,我们想从









det


A












中得到同样的


















1

















2




















n
















。在直角的情况下,这些行是正交的,








A





A






T


















是对角矩阵:








A





A






T









=


































r


o


w




1





















r


o


w




n











































































r










o










w










1

























































r










o










w










n











































=

















































2






1























0

















































0




























2






n









































































i
















是行(边)的长度,因为行是正交的,所以对角线外的元素都是零。利用乘法和转置法则:


















2






1

















2






2




















2






n







=


det


(


A





A






T









)


=


(


det


A


)


(


det





A






T









)


=


(


det


A





)






2














这个方程的平方根说明了行列式等于体积。而








det


A











的符号暗示了是使用右手坐标(也就是通常的








x





y







z













),还是左手坐标(像








y







x





z













)。

如果角度不是











90



























,那么体积就不是长度的乘积。在平面上(如图1),平行四边形的“体积”等于底边




















乘以高








h











,向量









b





p












就是第二行








b


=


(





a








21









,





a








22









)











减去它在第一行上的投影








p











,关键点是:根据5,用第一行的倍数减去第二行时









det


A












不变,我们可以将平行四边形变成一个矩形。



这里写图片描述

图1

对于








n











维的情况,将盒子变成矩形需要很长时间,但是思路就是如此,如果我们从每行减去它在前面行所生成空间的投影,体积和行列式都不变,通过格拉姆-施密特过程产生正交的行,这时体积=行列式,所以对于开始的行这个等式同样成立。

现在我们介绍完了体积和行列式之间的关系,但是很有必要回过头来看看最简单的情况,我们知道









det




[










1










0
















0










1














]




=


1


,




det




[










1










c
















0










1














]




=


1










这些行列式给出了体积——或者面积(因为这是在二维空间),如图2所示,平行四边形底和高都是1,所以面积也是1。



这里写图片描述

图2

4、主元公式。最后我们讨论一下消元,此时考虑不需要行交换的情况。观察的要点是第








k











个主元完全由









A












的左上角子矩阵











A






k
















确定,








A











的其余行和列对它没有影响:









A


=





























a










c










g


















b










d












h
















e










f












i































































a










0










g


















b










(


a


d







b


c


)




/




a










h
















e










(


a


f







e


c


)




/




a










i









































第一个主元只取决于第一行和第一列,第二个主元








(


a


d







b


c


)




/




a











值取决于








2


×


2











的子矩阵











A






2

























A











的其余部分不会影响到它。实际上,不仅仅是主元,整个左上角矩阵的









L


,


D


,


U














都只取决于








A











的左上角:









A


=


L


D


U




=





























1










c




/




a



































1











































1




























































a








































(


a


d







b


c


)




/




a





































































































1
































b




/




a










1














































1









































从上例我们看出,前两行和两列就是子矩阵











A






2
















的分解,如果没有行交换的前提下,这条规则恒成立。


4、如果








A











分解为









L


D


U














,那么左上角满足











A






k







=





L






k










D






k










U








k

















证明的关键在于进行其他行的消元之前,先将左上角的确定下来,或者使用块乘法规则:










L


D


U




=




[













L






k















B
















0










C
















]






[













D






k















0
















0










E
















]






[













U








k















0
















F












G














]








=




[













L






k










D






k










U








k















B





D






k










U








k
























L






k










D






k







F












B





D






k







F




+


C




E




G














]















将最后的矩阵和








A











进行比较,我们发现












L






k










D






k










U








k





























A






k
















是一致的,那么:








det





A






k







=


det





L






k







det





D






k







det





U








k







=


det





D






k







=





d








1










d








2













d








k























k











个主元的乘积是












A






k

















的行列式,这和我们已知的整个矩阵的规则一致。因为











A








k





1


















的行列式由











d








1










d








2













d










k





1


















给出,所以我们用行列式比值的方式分离每个主元











d








k





































det





A






k













det





A








k





1





















=









d








1










d








2













d










k


















d








1










d








2













d










k





1





















=





d








k





















(4)

















对于上面的例子,第二个主元就是比值








(


a


d







b


c


)




/




a











,也就是











A






2
















的行列式除以











A






1
















的行列式(约定











A






0







=


1











,这样的话第一个主元就是








a




/




1


=


a











)。将所有主元相乘就回到我们的行列式:











d








1










d








2













d










n









=






det





A






1













det





A








0

























det





A






2













det





A








1




























det





A






n













det





A








n





1





















=






det





A






n













det





A








0





















=


det


A









根据方程(5)我们可以得出一个结论:当








det





A






k
















都不为零时,主元也都不为零。


5、当且仅当子矩阵











A






1







,





A






2







,





,





A






n
















都是非奇异时,消元法不需要行交换(所以








P




=


I




,


A


=


L


U













)。

现在考虑一个问题,行交换的次数会一直是奇数或偶数吗?如果是,那么根据2行列式要么为+1,要么为-1。

考虑








(


3


,


2


,


1


)











,我们可以只交换3,1就得到正序列








(


1


,


2


,


3


)











,交换3与2,然后3与1,最后2与1同样得到正序列,对于这两种方式,交换的次数都是奇数,这里得出的论断就是:偶数次的交换不可能从








(


3


,


2


,


1


)











得出正序列。

这里给出它的一个证明。观察置换中的每对数,我们用








N













表示大数在前的对数。这样的话









N




=


0












表示正序列








(


1


,


2


,


3


)











。而








(


3


,


2


,


1


)




















N













为3,因为所以数对









(


3


,


2


)


,


(


3


,


1


)


,


(


2


,


1


)












都是大数在前,接下来我们将展示用奇数次变换来改变








N













,直到









N




=


0












为止。

当相邻发生交换时,








N













要么+1,要么-1。所有交换都可以用奇数次的邻域交换实现,考虑一个例子,我们要交换第一和第四个元素,可以通过五次交换完成:











(


2


,


1


,


4


,


3


)





(


1


,


2


,


4


,


3


)





(


1


,


4


,


2


,


3


)





(


1


,


4


,


3


,


2


)





(


1


,


3


,


4


,


2


)









(


3


,


1


,


4


,


2


)














我们需要














k











次邻域交换将








k











位置上的元素放到






















上,然后














k





1











次交换将原来




















(现在在














1











位置上)位置上的数放到








k











位置上。因为









(








k


)


+


(








k





1


)












是奇数,至此证明完成。