1. 河豚號 > 生活百科 >

n階行列式的計算方法總結(n階行列式的展開式詳解)

這篇文章和大家聊聊矩陣的初等變換和矩陣的秩。

矩陣的初等變換這個概念可能在很多人聽來有些陌生,但其實我們早在初中的解多元方程組的時候就用過它。只不過在課本當中,這種方法叫做消元法。我們先來看一個課本里的例子:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

假設我們要解這個方程,怎么做呢?

首先,我們把(1)式加到(2)式,把(4)式加到(3)式,把(1)式乘6加到(4)式可以得到:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

我們再把(4)式減去(2)式乘5,可以解出x4=−3:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

我們把x4=−3帶入,可以解出x1, x2, x3。

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

因為消元之后,方程組的數量少于變量的數量,我們無法解出所有的變量。其中的x3可以取任何值。

上面這個計算的方法我們都非常熟悉,如果我們用一個矩陣來表示所有的次數,那么這個矩陣D可以寫成:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

那么,我們剛才消元的過程,其實就是對這個矩陣做初等變換。我們把這個過程總結一下,矩陣的初等變換操作包含以下三種:

對調兩行

以數k,k≠0乘上某行的所有元素

以數k,k≠0乘上某行所有元素并加到另一行

以上的三種都是針對行為單位的,因此上面的三種變換也稱為“行變換”。同樣我們也可以對列做如上的三種操作,稱為“列變換”。行變換和列變換結合就是矩陣的初等變換。

同樣,我們可以對D這個矩陣使用剛才我們上述的初等變換操作,將它變成如下這個結果:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

它就對應方程組:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

Dt矩陣是經過初等行變換的結果,我們還可以再對它進行列變換,將它變得更簡單,我們只要交換第三和第三列,之后就可以通過初等列變換把第五列消除,之后它就變成了下面這個樣子:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

我們用數據歸納法可以很容易證明,所有的m*n的矩陣經過一系列初等變換,都可以變成如下的形式:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

r就是最簡矩陣當中非零行的行數,它也被稱為矩陣的秩。我們把A矩陣的秩記作: R(A)

之前我們在介紹行列式的時候說過,行列式還存在多種性質。其中之一就是一個矩陣經過初等變換,它的行列式保持不變。我們又知道,如果行列式當中存在某一行或者某一列全部為0,那么它的行列式為0。

所以,我們可以得到,對于n階矩陣A而言,如果它的秩R(A)

再根據我們前文當中有關可逆矩陣的定義,可以得到,可逆矩陣的秩就等于矩陣的階數,不可逆矩陣的秩小于矩陣的階數。所以,可逆矩陣又稱為滿秩矩陣,不可逆矩陣(奇異矩陣)又稱為降秩矩陣。

之前我們在復習行列式以及逆矩陣的時候,總覺得少了些什么,現在有了矩陣的秩的概念之后,這些知識就能串起來了。

代碼計算

同樣,numpy當中也繼承了計算矩陣秩的工具。我們可以很輕松的用一行代碼算出矩陣的秩,這樣我們在判斷矩陣是否可逆的時候,就不需要通過行列式來判斷了。因為矩陣秩的計算要比行列式的計算快得多。

import numpy as np

np.linalg.matrix_rank(a)

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

有了矩陣秩的概念之后,我們后續(xù)的很多內容介紹起來都方便了許多,它也是矩陣領域當中非常重要的概念之一。

線性方程組的解

我們理解了矩陣的秩的概念之后,我們現學現用,看看它在線性方程組上的應用。

我們之前在介紹行列式的時候,曾經介紹過n元n個等式的方程組的解,可以用行列式表示。但是現實當中我們遇見的方程組并不一定是n元n等式的,我們推廣到一般的情況來看。假設當下有一個n元m個等式的方程組:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

我們可以將它寫成矩陣相乘的形式:Ax = b

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

我們利用系數矩陣A和增廣矩陣B=(A,b)的秩,可以和方便地看出線性方程組是否有解。我們先來看結論:

當R(A) < R(B)時無解

當R(A) = R(B) = n時,有唯一解

當R(A) = R(B) < n時,有無數解

證明的過程也很簡單,主要就是利用矩陣秩和最簡矩陣的定義。

我們假設R(A)=r,并將B矩陣化簡成最簡形式,假設得到的結果是:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

(1) 顯然,當R(A) < R(B)時,那么矩陣Bf中的dr+1 = 1,那么第r + 1行對應的方程0 = 1矛盾,所以方程無解。

(2) 如果R(A) = R(B) = r = n,那么矩陣Bf中的dr+1 = 0,并且 bij都不出現,所以我們可以直接寫出方程組的解:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

此時,方程組有唯一解

(3) 如果R(A) = R(B) = r < n,則B中的dr+1=0,我們寫出對應的解:

 

 
線性代數精華——講透矩陣的初等變換與矩陣的秩

 

由于參數c1, c2, … cn-r可以取任意值,所以方程有無數解。上面寫出的解的形式即是線性方程組的通解。

齊次線性方程組

如果我們將上面的線性方程組的常數項都置為0,就稱為齊次線性方程組,如下:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

齊次方程組最大的特點就是當x=0時一定有解,稱為方程組的零解。我們還通過增廣矩陣來判斷,寫出來其實還是剛才一樣的形式:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

和非齊次線性方程組不同的是,我們可以斷定dr+1=0,如此一來就不存在無解的情況。這個時候我們要判斷的就是方程組是否存在非零解,我們一樣通過矩陣的秩來判斷,判斷的條件也很簡單,如果R(A) = n,則不存在非零解,如果R(A) < n,則存在無數組非零解。

我們先寫出R(A) = n的情況,這時候的矩陣Bf為:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

也就是說:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩
線性代數精華——講透矩陣的初等變換與矩陣的秩

 

當R(A) < n時方程組和非齊次方程組類似,唯一不同的是可以確定di=0 (i=1, 2, …n),我們直接帶入之前的通項公式,可以得到:

 

線性代數精華——講透矩陣的初等變換與矩陣的秩

 

線性方程組的解的公式和計算本身其實并不重要。因為在實際的算法領域,用到的也不多。但是理解線性方程組對于理解后面的向量以及線性空間非常有幫助,文中的公式看著恐怖,但冷靜下來真的去試著理解一下,會發(fā)現也就那么回事。

本文由網上采集發(fā)布,不代表我們立場,轉載聯系作者并注明出處:http://m.zltfw.cn/shbk/40796.html

聯系我們

在線咨詢:點擊這里給我發(fā)消息

微信號:15705946153

工作日:9:30-18:30,節(jié)假日休息