【矩陣分解】
矩陣分解是指根據(jù)一定的原理用某種算法將一個矩陣分解成若干個矩陣的乘積。常見的矩陣分解有可逆方陣的三角(LU)分解、任意滿秩矩陣的正交三角(QR)分解、對稱正定矩陣的Cholesky分解,以及任意方陣的Schur分解、Hessenberg分解、EVD分解、SVD分解、GMD分解等。
(1)可逆方陣的LU分解
矩陣的LU分解就是將一個矩陣表示為一個交換下三角矩陣和一個上三角矩陣的乘積形式。線性代數(shù)中已經(jīng)證明,只要方陣A是非奇異的(即可逆的),LU分解總是可以進(jìn)行的。
當(dāng)L為單位下三角矩陣而U為上三角矩陣時,此三角分解稱為杜利特(Doolittle)分解。當(dāng)L為下三角矩陣而U為單位上三角矩陣時,此三角分解稱為克勞特(Crout)分解。顯然,如果存在,矩陣的三角分解不是唯一的。
(PS:方陣A可唯一地分解為A=LDU(其中L,U分別為單位下,上三角矩陣,D為對角矩陣)的充分必要條件為A的前n-1個順序主子式都不為0。特別:對n階對稱正定矩陣,存在一個非奇異下三角矩陣L,使得A=LL'成立。)
MATLAB提供的lu函數(shù)用于對矩陣進(jìn)行LU分解,其調(diào)用格式為:
[L,U]=lu(X):產(chǎn)生一個上三角陣U和一個變換形式的下三角陣L(行交換),使之滿足X=LU。注意,這里的矩陣X必須是方陣。
[L,U,P]=lu(X):產(chǎn)生一個上三角陣U和一個下三角陣L以及一個置換矩陣P,使之滿足PX=LU。當(dāng)然矩陣X同樣必須是方陣。
(2)滿秩矩陣的QR分解
對矩陣X進(jìn)行QR分解,就是把X分解為一個正交矩陣Q和一個上三角矩陣R的乘積形式。QR分解只能對方陣進(jìn)行。MATLAB的函數(shù)qr可用于對矩陣進(jìn)行QR分解,其調(diào)用格式為:
[Q,R]=qr(X):產(chǎn)生一個一個正交矩陣Q和一個上三角矩陣R,使之滿足X=QR。
[Q,R,E]=qr(X):產(chǎn)生一個一個正交矩陣Q、一個上三角矩陣R以及一個置換矩陣E,使之滿足XE=QR。
(3)對稱正定矩陣的Cholesky分解
如果矩陣X是對稱正定的,則Cholesky分解將矩陣X分解成一個下三角矩陣和上三角矩陣的乘積。設(shè)上三角矩陣為R,則下三角矩陣為其轉(zhuǎn)置,即X=R'R。MATLAB函數(shù)chol(X)用于對矩陣X進(jìn)行Cholesky分解,其調(diào)用格式為:
R=chol(X):產(chǎn)生一個上三角陣R,使R'R=X。若X為非對稱正定,則輸出一個出錯信息。
[R,p]=chol(X):這個命令格式將不輸出出錯信息。當(dāng)X為對稱正定的,則p=0,R與上述格式得到的結(jié)果相同;否則p為一個正整數(shù)。如果X為滿秩矩陣,則R為一個階數(shù)為q=p-1的上三角陣,且滿足R'R=X(1:q,1:q)。
(4)任意方陣的Schur分解
任意一個n階方陣X可以分解為X=URU',其中U為酉矩陣,R為上三角schur矩陣且其主對角線上的元素為X的特征值。
[U,R]=schur(X)
(5)任意方陣的Hessenberg分解
任意一個n階方陣X可以分解為X=PHP', 其中P為酉矩陣, H的第一子對角線下的元素均為0,即H為Hessenberg矩陣。
[P,H]=hess(X)
(6)任意方陣的特征值分解EVD
任意一個n階方陣X可以分解為XV=VD,其中D為X的特征值對角陣,V為X的特征向量矩陣。
[V,D]=eig(X)
[V,D]=eig(X,Y)計算廣義特征值矩陣D和廣義特征值向量矩陣V,使得XV=YVD。
(7)任意矩陣的奇異值分解SVD
任意一個m*n維的矩陣X可以分解為X=USV',U,V均為酉矩陣,S為m*n維的對角矩陣,其對角線元素為X的從大到小排序的非負(fù)奇異值。
[U,S,V]=svd(X)
(8)任意矩陣的幾何均值分解GMD
任意矩陣m*n維的矩陣X可以分解為X=QRP', Q,P均為酉矩陣,R為k*k維的實正線上三角矩陣,其主對角線元素均等于X的所有K個正奇異值的幾何均值,k=rank(X)。
(PS:一個n×n的實對稱矩陣M是正定的當(dāng)且僅當(dāng)對于所有的非零實系數(shù)向量z,都有zTMz> 0。其中zT表示z的轉(zhuǎn)置。對于負(fù)數(shù)的情況,定義則為:一個n×n的埃米爾特矩陣M是正定的當(dāng)且僅當(dāng)對于每個非零的復(fù)向量z,都有z*Mz> 0。其中z*表示z的共軛矩陣。由于M是埃米爾特矩陣,經(jīng)計算可知,對于任意的復(fù)向量z,z*Mz必然是實數(shù),從而可以與0比較大小。因此這個定義是自洽的。正定方陣M的所有的特征值λi都是正的。)