三角分解(lu分解、lr分解)
qr分解
特徵值分解(譜分解,evd分解)
奇異值分解(svd分解)
把乙個矩陣a
aa表示為多個矩陣連乘的形式。
a =l
u=lr
a=lu=lr
a=lu=l
r通過對a
aa不斷的左乘初等矩陣,對a
aa進行初等變換,使其變為上三角矩陣,那麼得到的上三角矩陣即為u
uu,這些初等矩陣的逆即為lll。
eg:e3e
2e1a
=u
=>a=
(e3e
2e1)
−1
ue_3e_2e_1a=u => a=(e_3e_2e_1)^u
e3e2
e1a
=u=>a=
(e3
e2e
1)−
1ua =q
ra=qr
a=qr
對a
aa進行施密特標準正交化,得到q
qq由於q
qq是正交矩陣,qtq
=i
q^tq=i
qtq=
i,則qta
=qtq
r=
rq^ta=q^tqr=r
qta=qt
qr=r
,即:r=q
ta
r=q^ta
r=qta當a
aa為對稱矩陣時:
①. 通過相似變換,將a
aa變換為三對角矩陣a
0a_0
a0(除主對角線、主對角線挨著的兩條線,其他元素為零);
②. 對a
0a_0
a0進行qr分解,得到a0=
q0r0
a_0=q_0r_0
a0=q0
r0
,令a 1=
r0q0
a_1=r_0q_0
a1=r0
q0
;③. 對a
1a_1
a1進行qr分解,得到a1=
q1r1
a_1=q_1r_1
a1=q1
r1
,令a 2=
r1q1
a_2=r_1q_1
a2=r1
q1
;④. 重複上述過程,得到a
ka_k
ak,當a
ka_k
ak趨於對角矩陣時,其特徵值即為a
0a_0
a0的特徵值(因為ak+
1=rk
qk=q
k−1q
krkq
k=qk
−1ak
qk
a_=r_k q_k=q_k^ q_k r_k q_k = q_k^ a_k q_k
ak+1=
rkq
k=q
k−1
qkr
kqk
=qk
−1a
kqk
)。當a
aa不是對稱矩陣時:
①. 通過householder變換,將a
aa變換為hessenberga
0a_0
a0(上三角矩陣,左下零三角中緊貼主對角線的那條線上的元素均不為零),hessenberg矩陣的qr分解一定是另乙個hessenberg矩陣乘以上三角矩陣;
②. 對a
0a_0
a0進行qr分解,得到a0=
q0r0
a_0=q_0r_0
a0=q0
r0
,令a 1=
r0q0
a_1=r_0q_0
a1=r0
q0
;③. 對a
1a_1
a1進行qr分解,得到a1=
q1r1
a_1=q_1r_1
a1=q1
r1
,令a 2=
r1q1
a_2=r_1q_1
a2=r1
q1
;④. 重複上述過程,得到a
ka_k
ak,當a
ka_k
ak趨於上三角矩陣時,其特徵值即為a
0a_0
a0的特徵值。
a =q
dq−1
a=qdq^
a=qdq−
1求aa
a的特徵值和特徵向量即可。
a =u
dv
ha=udv^h
a=udvh
計算a ah
aa^h
aah的特徵值和標準正交特徵向量,用向量組成矩陣uuu;
計算a ha
a^ha
aha的特徵值和標準正交特徵向量,用向量組成矩陣vvv;
使用特徵值開根號得到奇異值,組成矩陣ddd。
矩陣分解 Cholesky分解
矩陣分解是將矩陣拆解為數個矩陣的乘積,可分為三角分解 滿秩分解 qr分解 jordan分解和svd 奇異值 分解等。cholesky分解法是求解對稱正定線性方程組最常用的方法之一。可採用如下命令 r chol a 產生乙個上三角陣r,使r r a。若a為非對稱正定,則輸出乙個出錯資訊。r,p cho...
非負矩陣分解 低秩矩陣分解
一般的矩陣分解,分解的矩陣有正有負。很多實際應用中,負數沒有意義,如文字等等。nmf中要求原矩陣和分解後矩陣都為非負矩陣,這個分解存在唯一。引入稀疏,區域性計算。以人臉識別為例 v r n m v in r v r n m m張臉,每張圖n個畫素 w r n r w in r w r n r 基矩陣...
矩陣的分解
matlab中有這個恒等式 a triu a,1 tril a,1 diag diag a 將矩陣分解為乙個上三角陣 下三角陣和乙個對角陣。測試如下 format compact a 1 2 3 4 5 6 7 8 9 a 1 2 3 4 5 6 7 8 9 u triu a,1 u 0 2 3 0...