tft每日頭條

 > 生活

 > 線性代數中逆矩陣概念

線性代數中逆矩陣概念

生活 更新时间:2024-08-17 20:21:21

上一講當中我們複習了行列式的内容,行列式隻是開胃小菜,線性代數的大頭還是矩陣。


矩陣的定義很簡單,就是若幹個數按照順序排列在一起的數表。比如m * n個數,排成一個m * n的數表,就稱為一個m * n的矩陣。


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)1


矩陣運算的相關性質不多,主要的有這麼幾點:


  • 矩陣的加法有結合律和交換律
  • 矩陣的乘法沒有交換律
  • m*n的矩陣乘上n*k的矩陣的結果是一個m*k的矩陣


很多人會覺得矩陣乘法比較複雜,不僅是計算複雜,而且經常會記不清運算的方法。會覺得複雜,可能隻是因為我們将它當做了數學公式來生硬的記憶,而沒有理解其中的原理。


我們不妨假設A和B分别是一個m*n和n*k的矩陣:


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)2


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)3

那麼,


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)4


其中,


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)5


Arowi指的是A矩陣中第i行的行向量,同樣Bcolj指的是B矩陣中第j列的列向量。


我們單從公式上來看不太容易理解,但我們可以轉變一下思路。将B不要當做一個完整的矩陣,而當做是k個列向量的集合,代表一種線性變換。将一個n維的向量線性變換到k維空間的變換。


那麼A和B矩陣相乘的結果,其實也就意味着A矩陣當中m個n維向量分别進行線性變換之後組合成的新矩陣。向量的數量沒有變,還是m個,隻不過維度從n變成了k,所以最終的結果是一個m*k的矩陣。


這點搞明白了之後,就到了接下來的重頭戲——逆矩陣


我們先來看一下逆矩陣的定義,假設A是一個n階的方陣,如果存在一個矩陣B,使得A⋅B的結果是單位矩陣I,那麼就稱B是A的逆矩陣。


計算逆矩陣需要用到之前介紹過的代數餘子式,如果不清楚的同學可以回顧一下之前關于行列式的相關内容。


線性代數精華1——從行列式開始


我們列舉出所有的代數餘子式,将這些餘子式組合成一個矩陣,這樣的矩陣稱為伴随矩陣。定義如下:


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)6


通過上面的定義,我們可以看出來,伴随矩陣也是一個n階的方陣。關于伴随矩陣,有一個定理:


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)7


其中I是n階的單位矩陣,也即是正對角線全為1,其他位置均為0的方陣。


我們來試着證明一下這個定理:


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)8


顯然A A*也是一個n階的矩陣,令結果為B。我們寫出B矩陣當中的每一項Bij

線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)9

當i=j時,


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)10


在上一篇文章當中,我們介紹過,矩陣中的某一行與它對應的代數餘子式的乘積為行列式的值:


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)11


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)12


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)13


這點其實沒什麼需要證明的,我們把式子展開就可以得到了。為了方便觀察,我們用三階行列式舉例。


我們令


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)14


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)15


我們以B12為例:


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)16


接着,我們把代數餘子式展開:


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)17

根據我們之前關于代數餘子式的定義,這個式子其實是以下這個矩陣行列式根據第一行展開的結果:

線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)18


再根據行列式的性質,如果一個n階的行列式當中存在某兩行或者某兩列相同,那麼行列式的值等于0。


同樣展開其他的Bij,我們可以證明:


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)19


所以B=|A|I,使用同樣的方法,也可以證明A∗A=|A|I


我們費這麼大力氣證明伴随矩陣有什麼用呢?其實是為了求逆矩陣做準備。有了伴随矩陣的這個性質,我們求逆矩陣就方便了。


在求解之前,我們先來看一下逆矩陣的定義。


假設存在方陣B,使得AB=BA=I,那麼就稱作B是A的逆矩陣。


在我們介紹逆矩陣的計算方法之前,需要先明确,逆矩陣不等于矩陣轉置。矩陣轉置的操作是将一個矩陣行和列互換,在線性代數當中,矩陣A的轉置記作AT,而A的逆矩陣記作A−1,看起來比較相似,很容易搞混。


我們之前證明了AA∗=|A|I,當矩陣A的行列式|A|不等于0時,那麼顯然有:


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)20


根據我們之前逆矩陣的定義:


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)21


如果|A|=0怎麼辦?


行列式等于0的矩陣稱為奇異矩陣,奇異矩陣沒有逆矩陣。所以一個矩陣有逆矩陣的前提就是非奇異矩陣。


以上就是逆矩陣的推導過程和計算方法,當然在實際的應用當中,我們并不需要如此麻煩。因為Python的numpy庫當中已經為我們封裝好了現成的計算工具,我們隻需要直接調用即可,使用方法和之前的計算行列式基本一樣:


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)22

通過調用np.linalg.inv方法來得到逆矩陣:


線性代數中逆矩陣概念(線性代數精華2逆矩陣的推導過程)23


需要注意的是,如果a是一個奇異矩陣,那麼計算逆矩陣時會報錯。所以我們在此之前,需要先計算矩陣的行列式,判斷是否是奇異矩陣。不清楚行列式計算方法的同學,可以回顧一下上一篇文章。


如果覺得文章有所幫助,請點個轉發或者關注哦~


參考資料
線性代數第五版(上海交大出版社)

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved