廣義逆主要是為了把逆計算推廣到奇異矩陣和非方陣. 廣義逆矩陣是moore首先明確提出來, 憑藉他天才的幾何直覺,利用正交投影運算元來定義廣義逆,但由於這類定義較為抽象而且不能進行有效運作,所以在之後的30年並未引起人們的注意.直到2023年,penrose以更直接明確的代數形式給出了moore廣義逆矩陣的定義,他用四個方程再次定義了廣義逆,並證明了a+的唯一性,還建立了a(1)與線性方程組ax=b的解的聯絡,從那時起廣義逆的研究開始蓬勃發展.
1. 廣義逆介紹
定義: m x n的矩陣a∈c, 若n x m的矩陣x∈c 滿足四個moore-penrose方程: (1) axa=a; (2) xax=x; (3) (ax)^h = ax; (4) (xa)^h = xa; 中的乙個或者多個,則稱x為a的廣義逆矩陣.
由此可見a的廣義逆一共有15類. 如果矩陣g滿足第i個方程,則記為 g=a(i) , 如果滿足多個,則記為 g=a(i,j,k) . 如果g滿足全部四個方程,記為 g = a+.
滿足第i類方程的集合記為 a, 相應滿足多類則記為 a . 其中a 叫做減號逆, 記為 a- , 而 a+ 叫做加號逆或者偽逆.
2. 加號逆介紹
a+ 的存在是唯一的. 當a可逆,a的逆就是加號逆. 下面構造性證明其存在性:
對a進行奇異值分解, 得到 a = v s u^h ,可以想象一下加號逆g要怎麼構造. 令g = u s^-1 v^h (其中s^-1是把sr取逆,其餘零不變) , 那麼可以驗證g滿足四個方程.
唯一性證明則是 設x,y都是a的加號逆, 由 x 反覆利用四個公式轉換成 y. 思路是兩個a 和乙個x可以變成乙個a,這樣就少了乙個x, 轉換幾次就ok了. 過程如下:
x = xax = x (ax)^h = x x^h a^h = x x^h (aya)^h = x x^h a^h y^h a^h = x x^h a^h (ay)^h = x x^h a^h a y = x (a x a) y = x a y = x a (y a y)=x a (y a) y = x a a^h y^h y = (x a) a^h y^h y = a^h x^h a^h y^h y = (axa)^h y^h y = yay = y.
a+ 滿足以下定理:
(a+)+= a;
(ah)+= (a+)h (把h換成t也一樣);
(aha)+ = a+(ah)+ , (aah)+ = (ah)+ a+ ;
一般 (ab)+ ≠ b+a+ ;
一般 aa+ ≠ a+a ≠ i ;
a+ 與a 的秩相同 ;
a+ = (aha)+ah = ah(aah)+ ;
a+ 和 ah 的象空間相同.
3. a+的幾種基本求法
一. 滿秩分解求:
a滿秩分解為: a=fg,則有: a+=gh (ggh)-1 (fhf)-1 fh . 代入即可證明. 中間的兩個逆可以合成乙個逆來求,不過兩個分開求比較簡單.
推論:
- 當a列滿秩, a+ = (aha)-1ah ; 當a行滿秩, a+ = ah(aah)-1 . 因為f或g中令乙個為i另乙個為a即可證.
二. 奇異值分解求:
這個在證明加號逆存在性的時候就說明過了. 根據奇異值分解的過程,求解 a+ 可以化簡為: 求出u1,sr, 則 a+ = u1 sr-1 u1h ah .
秩1公式: 當a的秩為1, 則 a+= (1/σ(aij)²) ah . 也就是 a的所有個元素的平方和的倒數 乘以a的共軛轉置.
三. 用譜分解求:
將aha譜分解, 有aha = σ(i=1,k)λigi
4. 線性方程組
有了廣義逆,對非齊次線性方程組 ax=b 的求解就可以更廣了. 如果存在x使方程組滿足,則稱方程組相容;否則稱為不相容方程組.
相容方程組中, frobenious範數(即由內積誘導的範數,對向量來說 ||x|| = (x,x)^1/2 )最小的解x0稱為極小範數解,極小範數解唯一.
不相容方程組中, 取x0使 ||ax0 – b|| = min ||ax – b|| ,則稱x0為最小二乘解.最小二乘解不唯一,而其中範數最小的乙個稱為極小範數最小二乘解,或極小最小二乘解.
下面先看相容性:
定理1(penrose定理) 矩陣方程axb=d相容的充要條件為 aa(1)db(1)b=d ; 其通解為: x = a(1)db(1) + y – a(1)aybb(1), 其中y為任意滿足行列數的矩陣.
推論1: 集合 a = .證明只需取b=d=a, y=a(1) + z. 因為a+也屬於a, 所以可以把 a+ 代入求.
推論2: 方程組ax=b相容的充要條件是a a(1) b=b, 通解為: x= a(1)b + ( i- a(1)a)y , y為任意n維列向量. 把 a(1) 換成 a+ 比較好,因為 a+b是不相容方程的極小最小二乘解. 而且此處可證當a列滿秩,相容方程組ax=b解唯一.用到加號逆的第七條特性.
定理2 設p,q分別為m,n階可逆陣, 使paq 為矩陣r:
p和q的求法和當初寫(a i)初等變換成(i a^-1) 的方法一樣, 先把a寫在左上角,a下面和右邊添上i, 然後把a初等變換成ir, 則此時左下的i變成q, 右上的i變成p.
一般用不上,因為 a+ 更好求.
下面的就只記了結論,證明過程不詳述了.
相容線性方程組的極小範數解:
引理1: a = = . 證明可以用定義和代入證.
定理3: a的通式為: a = .
定理4: 對任意a , a(1,4)b都是相容方程組ax=b的極小範數解,且唯一. 也就是a的選擇不改變最後的解.
定理5: 如果乙個x,對任意b, xb都是ax=b的極小範數解,則x∈a.
不相容方程組的最小二乘解:
引理2: a = = .
定理6: a的通式為: a = .
定理7: 對任意a , a(1,3)b都是不相容方程組ax=b的最小二乘解. 最小二乘解一般不唯一, 當且僅當a列滿秩時唯一.
- 推論是當a列滿秩,a僅含a+,當a行滿秩,a僅含a+. 證明: (證明方法比較奇怪,不知道有沒有更好的.)
1) 當a列滿秩, 因為a+ ∈a,所以可以把a+ 代入通式,得到其最小二乘解為a+b.而a+ 是唯一的,所以最小二乘解唯一.定理8: x是不相容方程組ax=b的最小二乘解 等價於 x是方程組 aa(1,3) =b的解.2) 再考慮a, 上面證明了a列滿秩時最小二乘解唯一,所以肯定有 i – a(1,3)a =0. 所以 i = a(1,3)a , 所以 a(1,3)滿足所有四個條件,此時a只包含a+.
定理9: 不相容方程ax=b的最小二乘解的通式為: x = a(1,3) b + (i – a(1,3)a)y . 其中y為任意n維列向量.
極小最小二乘解:
引理: a+ =a(1,4)aa(1,3).
定理10: x = a+b 是不相容方程組ax=b的唯一極小最小二乘解. 反之, 若x對於任意b都有 xb是ax=b的極小最小二乘解,則x=a+.
第三章,矩陣,02 python矩陣乘法
搬運 python中的幾種矩陣乘法 np.dot a,b 對於二維矩陣,計算真正意義上的矩陣乘積,同線性代數中矩陣乘法的定義。對於一維矩陣,計算兩者的內積。見如下python import numpy as np 2 d array 2 x 3 two dim matrix one np.array...
第三章 線性模型
線性模型 linear mode 試圖學得乙個通過屬性的線性組合來進行 的函式 f x 1x1 2x 2 d xd b 向量形式 f x t x b 其中 1 2 d x x1 x2 x d 為由d個屬性描述的示例,x i 是 x 在第 i 個屬性上的取值。線性模型形式簡單,有豐富的變化,易於建模,...
第三章 線性表
一 順序表的儲存 include.h using namespace std const int maxsize 100 typedef int datatype typedef struct seqlist 二 順序表的操作 初始化順序表 void initlist seqlist l 建立順序表...