伴隨矩陣求逆矩陣

2021-08-31 23:42:05 字數 1600 閱讀 3525

在之前的文章《線性代數之矩陣》中已經介紹了一些關於矩陣的基本概念,本篇文章主要就求解逆矩陣進行進一步總結。

我們先看例子來直觀的理解什麼是余子式(minor,後邊將都用英文minor,中文的翻譯較亂)。

這個例子(我們假設矩陣為a)中我們看到a[1,1]的minor就是將a[1,1]所在的行和列刪除後剩下的矩陣的行列式,假設我們把a[1,1]的minor記作m[1,1], 在這個例子中就是

m1,1

同樣道理a[i, j]的minor就是去掉第i行和第j列剩下的矩陣的行列式。

我們現在已經知道如何求解某個元素的minor了,現在將某個矩陣所有元素的minors求解出來,得出乙個新的矩陣就叫matrix of minors,如下圖所示就是我們示例中矩陣a的minor矩陣

首先要介紹cofactor,我們把m[i,j]的cofactor記作c[i,j],我們可以有如下公式:

cofactor

通過這個計算公式,我們可以得到所有的m對應的c,這樣也組成了乙個矩陣,這就是matrix of cofactors,還以我們上邊的例子來看下如何得到的matrix of cofactors,記作c

當我們有了matrix of cofactors之後,我們就可以計算a的行列式了|a|,計算過程是用a的第一行的數值a[1,j]乘以相對應的cofactorc[1,j],然後將結果相加

|a| = 1x(-3) + 2x6 + 3x(-3)=0
當|a|=0時,我們就稱a為奇異矩陣,若|a|!=0,我們就稱a為非奇異矩陣。奇異矩陣是沒有逆矩陣的。最後我想說的是我本來想求逆矩陣的,不湊巧找了個奇異矩陣,饒恕我吧:(

伴隨矩陣是將matrix of cofactors進行轉置(transpose)之後得到的矩陣,我們稱作a的伴隨矩陣,記作adj(a)。所謂轉置就是將[i,j]的值與[j,i]的值進行互換,具體到我們的例子如下:

注:這個例子不太明顯,實際上交換了所有c[i,j]與c[j,i]的值,比如c[2,3]和c[3,2]

由於本篇文章的例子a是乙個奇異矩陣,因此沒有逆矩陣,但如果是非奇異矩陣,我們則可以按照之前的公式求得逆矩陣。

逆矩陣計算

參考:1,可汗公開課

2,minor introduction in wikipedia

3,wyman的技術部落格

矩陣的逆矩陣,伴隨矩陣

include include include include include include include include define n 100 using namespace std templateout type convert const in value t struct numb...

求乙個矩陣的逆矩陣 用伴隨矩陣求

題目 noyj774 用代數余子式求逆矩陣方法 若現有矩陣a,要求其逆矩陣 若 a 0,則其不存在逆矩陣 若 a 0,其逆矩陣a 1 a a 其中 a為其伴隨矩陣 伴隨矩陣的求法 a j i m i j 其中m i j 為a i j 的代數余子式 即 a1 i j m i j 再將 a1轉置得到 a...

逆矩陣(伴隨矩陣法)C

演算法過程 計算 判斷 a 是否為0 利用原矩陣生成a 伴隨 矩陣,具體 a 二維陣列中第 i j 個元素,除去該行該列,其他元素進入臨時陣列,計算臨時陣列行列式值,即為a i j 最後矩陣a a 即為該矩陣的逆矩陣 原始碼 include include include using namespa...