Processing math: 100%

107.08.13 線性代數 Inversion

欸豆,最近可能會整理一些之前的上課筆記 (線代、計理、OS、compiler....)
主要是想把當下有多記錄的技巧用比較好懂的方式寫出來
所以可能沒有很嚴謹也沒有很完整 QuQ
然後 Rust 系列斷有點久,我盡量不耍廢 QuQ

矩陣可逆性 (Matrix Inversion)

定義:
對於 nxn 的矩陣 A 若存在一個 nxn 的矩陣 B,使得 AB=BA=I
則稱 A 為可逆矩陣 (invertible)、也為非奇異矩陣 (nonsingular)
其中 I 為單位矩陣 (identity matrix)、B 稱作 A 的逆矩陣 (inverse of A) 記作 A1


定理:若 A 可逆,則 A1 唯一

證明:
假設 A 有兩個相異的逆矩陣 BC
AB=IAC=I
使得 B=BI=B(AC)=(BA)C=IC=C
與假設矛盾,故 A 僅有唯一一個逆矩陣

定理:若 A 可逆,則 Ax=b 的有唯一解 x=A1b 

證明:
Ax=bA1Ax=A1bIx=A1bx=A1b

定理:若 Ax=0 有非零解 x 存在,則 A 不為可逆

證明:
假設 A 可逆下 x 存在非零解
Ax=0A1Ax=A10x=0
因為 x 必為零解所以矛盾,故假設錯誤,即 A 不可逆

定理:若對角矩陣 (diagonal matrix) 可逆,則對角線上元素皆不為 0

證明:(107.08.28 更正)
可以利用上一個定理證明
對角矩陣 A=[a11000a22000ann]

假設 a11=0,則可使得 Ax=0x 存在非零解,如下 α 可不為 0
[0000a22000ann][α00]=[000]

由上個定理可知 Ax=0 存在非零解,則 A 不可逆,故矛盾,因此 a11 不可為 0
同理可知,aii0,1in

Note:若對角矩陣 A 可逆
A=[a11000a22000ann] 則逆矩陣 A1=[1a110001a220001ann]
a11 ~ ann 皆不為 0

定理:若 AB 為可逆矩陣,則 AB 亦為可逆,且 (AB)1=B1A1

證明:
(AB)(B1A1)=A(BB1)A1=AIA1=AA1=I
所以 B1A1AB 的逆矩陣
延伸:
(A1A2An)1=A1nA12A11

使用 Gauss-Jordan Elimination 求逆矩陣

Gauss-Jordan Elimination 為求方程式解的列運算 (elementary row operations)
Gauss Elimination 為使用 forward elimination 求出上三角矩陣 (strict
triangular form)
Gauss-Jordan Elimination 則包含 back substitution 將左方矩陣進一步化簡成單位矩陣

舉例:
A=[210121022]A1

過程:
從定義知 AA1=I,把 A1 拆作三欄方便說明
 A[x1x2x3]=[100010001]=[e1e2e3]

則可等價於下方三個方程式,且所求 A1 為求出 (x1,x2,x3) 的向量解
{Ax1=e1A1Ax1=x1=A1e1Ax2=e2Ax3=e3

求解可利用增廣矩陣 (augmented matrix) 與列運算把左邊化簡成單位矩陣來同時解三個方程式
[210100121010012001][21010002311210012001][21010002311210004313231]

[2101000230343234004313231][200321120230343234004313231][10034121401012112001141234]

所求 A1 即為 [34121412112141234]

詳細原理如下
[AI]G.J.E.[A1AA1I]=[IA1]

Q: 為何可以合併運算?
A: 因為左方矩陣化為單位矩陣的列運算相同,且列運算在向量間不會互相干擾
x1 向量 (a,b,c) 來看
[210112100120]G.J.E.[100340101200114]

可得 {1a=341b=121c=14x1=(a,b,c)=[341214]x2x3 同理


參考資料:
Linear Algebra (Chapter 1: Matrices and Systems of Equations) Chao-Chun Chen (NCKU)
^ Top