前言:這篇blog是《
Linear Algebra and Its Applications》第六章的一些學習筆記。
正定矩陣
這一章要用到對實對稱矩陣A的三角分解A=LDLT,以及譜定理A=QΛQT
1. 正定矩陣
對任意非零實向量x,有xTAx>0,則A爲正定矩陣。
在線性代數中,正定矩陣是對稱矩陣,因爲來自二次型;對任一二次型,總可以寫成對稱矩陣的形式,即f(x1,x2…xn)=xTAx=i=1∑nj=1∑naijxixj
如果A是正定矩陣,則xTAx表示的二次型有最小值,不存在鞍點。
但在矩陣論中,正定矩陣不一定是對稱矩陣,例如[11−10]
1.1. 實對稱矩陣是正定矩陣的充要條件
判斷實對稱矩陣A是否爲正定矩陣,有5個充要條件,只要滿足其中一個即可。
- xTAx>0,對所有非零實向量x均成立;
- A的所有特徵值λi滿足λi>0;
- 所有順序主子式Ak是正的;
- 所有主元(piovts)大於0(最快捷條件);
- A能分解成RTR,其中R的列向量相互獨立。
證明:
條件1:定義,證畢。
條件2⟺條件1:對A進行分解,A=QΛQT,有xTAx=xTQΛQTx,令xTQ=yT,則xTAx=yTΛy=i=1∑nλiyi2,根據條件1,如果實對稱矩陣A是正定矩陣,則任意非零向量x,xTAx恆大於0,所以i=1∑nλiyi2恆大於0,所以λi>0,證畢。
條件1和2⟹條件3:對於實對稱矩陣A,以證明A3爲例,令x=[x1,x2,x3,0,0,0,…]T,則xTAx等價於[x1,x2,x3]⎣⎡a11a21a31a12a22a32a13a23a33⎦⎤⎣⎡x1x2x3⎦⎤(1)
根據條件1,如果實對稱矩陣A是正定矩陣,則xTAx>0,所以(1)的中間矩陣也應該是正定矩陣,根據條件2,(1)的中間矩陣的所有特徵值大於0,所以A3=(1)的中間矩陣的所有特徵值乘積>0證畢。方陣的行列式等於所有特徵值乘積,在第五章特徵值與特徵向量中推導過這一結論。
條件3⟹條件4:以d3爲例,d3=A2A3>0,證畢。關於求d3用的表達式,在第四章行列式中推導過。
條件4⟹條件1,對A進行三角分解A=LDLT,則xTAx=xTLDLTx,令y=LTx,則xTAx=yTDy,對角矩陣D存的是A的主元(pivots),所以yTDy=i=1∑ndiyi2>0可以推出xTAx>0
至此,條件1-4相互均可以推導。
條件5⟺條件4:A=LDLT=(LD)(DLT)=RTR,其中R=DLT;或者條件5⟺條件2:A=QΛQT=(QΛ)(ΛQT)=RTR,其中R=ΛQT
1.2. 實對稱矩陣是半正定矩陣的充要條件
半正定矩陣就是對任意非零實向量x,有xTAx≥0,相對正定矩陣多了等於0;相應的充要條件也加上了等號。
- xTAx≥0,對所有非零實向量;
- A的所有特徵值λi滿足λi≥0;
- 所有順序主子式Ak是≥0的;
- 所有主元piovts≥0(最快捷條件);
- A能分解成RTR,其中R的列向量相互獨立。
證明:考慮A+εI正定,當ε>0。
1.3. 實對稱矩陣與正定矩陣的分解
實對稱矩陣不一定可以三角分解A=LDLT,但可以A=QΛQT分解,正定矩陣兩種分解都可以。
A=LDLT與A=QΛQT本質上都是二次型配方。
2. 慣性定理
2.1. 合同變換
對於對稱方陣A,B,存在可逆矩陣C,使得B=CTAC,則A,B相合。合同變換本質上是對實對稱矩陣的分類(上一章提到過,相似變換本質上是對方陣的分類)。
2.2. 慣性定理
對於一個n階實對稱矩陣A,與它合同的實對稱矩陣有多個,這些實對角矩陣的對角元中,正數的個數是一定的(叫A的正慣性指數),負數的個數也是一定的(叫A的負慣性指數)。
證明略。
實際使用時,如果A是對稱方陣,用三角分解A=LDLT即可,因爲A,D,Λ三者相合。
2.3. 慣性定理的推論
任何一個實對稱矩陣可以相合到由若干1,若干-1,若干0組成的對角矩陣,即由相合條件約束的某一類實對稱矩陣均可相合到該對角矩陣。
證明:
對實對稱矩陣A進行分解A=QΛQT,所以A與Λ相合,不妨設Λ中λ1…λm是正特徵根,λm+1…λi是負特徵根,λi+1…λn是零特徵根,則Λ=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡λ1⋱λm⋱λi⋱λn⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡λ11⋱λm1⋱−λi1⋱0⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤×⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡1⋱1⋱−1⋱0⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤×⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡λ11⋱λm1⋱−λi1⋱0⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤=CTBC
故Λ與B相合,故A與B相合。證畢。
2.4. 慣性定理的應用
通過A−nI限定實對稱矩陣A的特徵根區間,例如:A−3I有2正特徵根,A−5I只有1個正特徵根,則A有一個特徵根在(3,5)之間。
這裏用到了A−nI的特徵值,相對於A的特徵值也減去n的推論,證明如下:
Ax=λx,(A−3I)x=λ′x
所以
Ax=(λ′+3)x
所以λ′=λ−3
3. 奇異值分解
3.1. SVD
對矩陣Am×n,其秩r=rank(A),則其奇異值分解(Singular Value Decomposition, SVD)表示爲A=UΣV=(正交矩陣)m×m(對角矩陣)m×n(正交矩陣)n×n
其中U的列向量由AAT的特徵向量構成;V的列向量由ATA的特徵向量構成;Σ的對角元素的前r個被稱爲奇異值,是AAT或者ATA的特徵值平方根,其餘元素爲0。
證明依賴於譜定理,在有了求對稱方陣特徵根高效算法後,纔有了SVD。
證明:
證明分六步進行
- ATA一定是對稱方陣
又ATAx=λx,左乘上xT
xTATAx=λxTx=(Ax)TAx≥0
故λ≥0
故ATA至少是半正定矩陣
- 由譜定理ATA=V⎣⎢⎢⎢⎢⎢⎢⎡σ12⋱σr20⋱0⎦⎥⎥⎥⎥⎥⎥⎤VT=[v1,v2…vn]⎣⎢⎢⎢⎢⎢⎢⎡σ12⋱σr20⋱0⎦⎥⎥⎥⎥⎥⎥⎤⎣⎢⎢⎢⎡v1Tv2T⋮vnT ⎦⎥⎥⎥⎤
其中1≤i≤r時,σi>0,當r<i≤n時,σi=0。
所以,ATAvi=σi2vi,0≤i≤r
由於∣∣Avi∣∣2=(Avi)T(Avi)=viTATAvi=viTσi2vi=σi2
故∣∣Avi∣∣=σi
- 令ui=σiAvi,1≤i≤r
則ui是A的列空間的單位向量。對於i̸=j有Avi=uiσiAvj=ujσj則(Avi)TAvj=σiσjuiTuj
左邊=viTATAvj=viTσj2vj=0=σiσjuiTuj=右邊
由於σi,σj̸=0,則uiTuj=0
故u1,u2…ur相互正交,是A的列空間的標準正交基。
- 擴充u1,u2…ur到u1,u2…ur,ur+1…um爲Rm的標準正交基,則
u1,u2…ur是A列空間C(A)的標準正交基;
ur+1,ur+2…um是A左零空間N(AT)的標準正交基;
- 逐列來看
1≤i≤r時,σi>0,Avi=uiσi;
r<i≤n時,σi=0,Avi=0=ui⋅0。
- 故AV=UΣ,所以A=UΣVT
3.2. SVD的本質
逐列來看AU=ΣV, 1≤i≤r時,σi>0,Avi=uiσi;r<i≤n時,σi=0,Avi=0=ui⋅0。則
u1,u2…ur是A列空間C(A)的標準正交基;
ur+1,ur+2…um是A左零空間N(AT)的標準正交基;
vr+1,vr+2…vn是A零空間N(A)的標準正交基;
v1,v2…vr是A行空間C(AT)的標準正交基;
可見,SVD是C(AT)到C(A)的極簡極優美映射,當1≤i≤r
A[v1…vr]=[u1…ur]⎣⎡σ1⋱σr⎦⎤即兩個子空間標準正交基的極簡極優美變換。
3.3. 求SVD
- 求ATA的σ,v,注意實對稱矩陣屬於不同特徵根的特徵向量正交;
- 由Avi=uiσi求出ui;
- 有Gram-Schmidt求ur+1…um。
可見SVD的結果嚴重不唯一,但是奇異值是唯一的。
3.4. SVD的應用-僞逆
求解線性方程組Am×nx=b
- 當b在C(A),由第二章,利用高斯消去法,解方程,就和我們解多元一次方程組一樣;
- 當b不再C(A),且A列滿秩,則Rn就是C(AT),利用第三章的最小二乘法,把b向C(A)投影,在把這個投影點反向映射到C(AT),得到誤差最小的解;
AT(Ax−b)=0⟹x=(ATA)−1ATb
- 當b不再C(A),且A列不滿秩,dim(Rn)=dim(C(AT))+dim(N(A)),Rn相對於C(AT)與N(A)是更高維,把b向C(A)投影,在把這個投影點反映射到C(AT)得到反向映射點,這個反向映射點加上N(A)中任意一個點都是誤差最小解,此時最小二乘法得到的誤差最小解不唯一,我們可以利用僞逆求得最短最簡單的誤差最小解,也就是反向映射點加上N(A)中的全零點。
僞逆利用SVD定義,如果A=UΣVT,則A的僞逆定義爲A+=VΣ+UT
其中Σ+表示對Σ進行轉置後,奇異值取倒數。
則Ax=b的最短最簡單誤差最小解就是x+=A+bA+b的意義是把b投影到C(A)中,在映射到C(AT)。
下面是僞逆求解最短最簡單的誤差最小解的證明。
- 先證明A是對角陣的情況,以A3×4,r(A)=2爲例,求最短最簡單的誤差最小解x
當b∈C(A)有
⎣⎡σ1000σ20000000⎦⎤⎣⎢⎢⎡x1x2x3x4⎦⎥⎥⎤=⎣⎡b1b20⎦⎤則 x1=σ1b1,x2=σ2b2
定義僞逆
A+=⎣⎢⎢⎡σ110000σ21000000⎦⎥⎥⎤
則x=A+⎣⎡b1b20⎦⎤得到最短最簡單的誤差最小解。
當b∈/C(A)時,b=⎣⎡b1b2b3⎦⎤,仍按照上面的僞逆,仍然可以求得最短解,同時也是誤差最小的解x=A+⎣⎡b1b2b3⎦⎤=⎣⎢⎢⎡σ1b1σ2b200⎦⎥⎥⎤
- 如果A不是對角陣,則我們可以化成對角陣的形式,回到我們的根本目的,利用最小二乘法的想法求誤差最小解,最小化∣∣Ax−b∣∣,則∣∣Ax−b∣∣=∣∣UΣVTx−b∣∣=∣∣U(ΣVTx−UTb)∣∣=∣∣ΣVTx−UTb∣∣最後一個等號轉換用到了,正交變換不改變長度的性質。令y=VTx,則x=Vy,進一步化簡∣∣Ax−b∣∣=∣∣ΣVTx−UTb∣∣=∣∣Σy−UTb∣∣此時Σ是對角矩陣,回到了情況1,我們得到y的最短最簡單的誤差最小解是y+=Σ+UTb由於x=Vy同樣是正交變換,不改變長度,進而得到x的最短最簡單的誤差最小解是x+=Vy+=VΣ+UTb證畢。
值得一提的是,AA+與A+A均可看成投影矩陣,AA+b把b向C(A)投影,A+Aa把a向C(AT)投影。