矩阵分解
奇异值分解:
A = U Σ V H Σ = [ Δ 0 0 0 ] A = U\Sigma V^H\\ \Sigma =\left[ \begin{matrix} \Delta & 0 \\ 0 &0 \end{matrix} \right] A=UΣVHΣ=[Δ000]
U U U和 V V V都是酉矩阵,满足 U T U = I , V T V = I U^TU=I,V^TV=I UTU=I,VTV=I
U U U 的列向量就是 A A H AA^H AAH 的标准正交特征向量, λ i \lambda_i λi 是 A A H AA^H AAH 的特征值
V V V的列向量就是 A H A A^HA AHA 的标准正交特征向量, μ i \mu_i μi 是 A H A A^HA AHA 的特征值,显然特征值分解不唯一(因为特征向量不唯一,特征向量标准正交化时也不唯一)。
其中
Δ
=
[
α
1
α
2
⋱
α
r
]
\Delta=\left[ \begin{matrix} \alpha_1 & \\ & \alpha_2 &\\ & &\ddots\\ &&&\alpha_r \end{matrix} \right]
Δ=
α1α2⋱αr
其中
r
r
r 为奇异值个数。
α
i
\alpha_i
αi 就是矩阵
A
A
A 的奇异值。
因为 λ i = μ i = α i \sqrt{\lambda_i} =\sqrt{\mu_i}=\alpha_i λi=μi=αi
所以只需要求出 A H A A^HA AHA 或者 A A H AA^H AAH里面较为简单的那个矩阵的特征值和特征向量。
如:求出
A
H
A
A^HA
AHA 的特征值
λ
i
\lambda_i
λi 和 特征向量
U
i
U_i
Ui后,就可以直接求得
V
i
=
A
H
U
i
Δ
−
1
V_i = A^HU_i\Delta^{-1}
Vi=AHUiΔ−1
求法:
正交三角分解(UR分解)
要求
A
A
A 为方阵:
A
=
U
R
,
其中
U
是酉矩阵,
R
是正线上三角矩阵
{\large A = UR}, \\其中U是酉矩阵,R是正线上三角矩阵
A=UR,其中U是酉矩阵,R是正线上三角矩阵
直接看计算过程:
第一步:对 A = [ α 1 , α 2 , … , α n ] A=[\alpha1,\alpha_2,\dots,\alpha_n] A=[α1,α2,…,αn]的列向量标准正交化
正交化:
β
1
=
α
1
β
i
=
α
i
−
(
α
i
,
β
1
)
(
β
1
,
β
1
)
β
1
−
(
α
i
,
β
2
)
(
β
2
,
β
2
)
β
2
−
⋯
−
(
α
i
,
β
i
−
1
)
(
β
i
−
1
,
β
i
−
1
)
β
i
−
1
\begin{align} \beta_1 &= \alpha_1\\ \beta_i &= \alpha_i - \frac{(\alpha_i,\beta_1)}{(\beta_1,\beta_1)}\beta_1- \frac{(\alpha_i,\beta_2)}{(\beta_2,\beta_2)}\beta_2-\dots-\frac{(\alpha_i,\beta_{i-1})}{(\beta_{i-1},\beta_{i-1})}\beta_{i-1} \end{align}
β1βi=α1=αi−(β1,β1)(αi,β1)β1−(β2,β2)(αi,β2)β2−⋯−(βi−1,βi−1)(αi,βi−1)βi−1
标准化:
η
i
=
β
i
∣
∣
β
∣
∣
\Large \eta_i=\frac{\beta_i}{||\beta||}
ηi=∣∣β∣∣βi
再找到 α i \alpha_i αi 和 η i \eta_i ηi 之间的数量关系,这是先通过 η i \eta_i ηi 和 β i \beta_i βi ,再通过 β i \beta_i βi 和 α i \alpha_i αi 找到的。
谱分解
要求
A
A
A 为正规矩阵,即
A
H
A
=
A
A
H
A^HA=AA^H
AHA=AAH
A
=
[
α
1
,
α
2
,
…
,
α
n
]
[
λ
1
λ
2
⋱
λ
n
]
[
α
1
H
α
2
H
⋮
α
n
H
]
=
λ
1
α
1
α
1
H
+
λ
2
α
2
α
2
H
+
⋯
+
λ
n
α
n
α
n
H
=
∑
i
=
1
r
λ
i
∑
j
=
1
n
i
α
i
j
α
i
j
H
=
∑
λ
i
G
i
\large {\begin{align} A &= [\alpha_1,\alpha_2,\dots,\alpha_n] \left[ \begin{matrix} \lambda_1 & \\ & \lambda_2 &\\ & &\ddots\\ & & &\lambda_n \end{matrix} \right ] \left[ \begin{matrix} \alpha_1^H\\ \alpha_2^H\\ \vdots\\ \alpha_n^H \end{matrix} \right]\\ &=\lambda_1\alpha_1\alpha_1^H + \lambda_2\alpha_2\alpha_2^H + \dots +\lambda_n\alpha_n\alpha_n^H\\ &=\sum_{i=1}^r \lambda_i\sum_{j=1}^{n_i}\alpha_{ij}\alpha_{ij}^H\\\ &=\sum\lambda_i G_i\\ \end{align} }
A =[α1,α2,…,αn]
λ1λ2⋱λn
α1Hα2H⋮αnH
=λ1α1α1H+λ2α2α2H+⋯+λnαnαnH=i=1∑rλij=1∑niαijαijH=∑λiGi
计算:
第一步:求 A A A 的特征值和特征向量 [ α 1 , α 2 , … , α n ] \large[\alpha_1,\alpha_2,\dots,\alpha_n] [α1,α2,…,αn]。
第二步:将有重根的特征值对应的特征向量正交化。
第三步:把所有特征向量单位化为 [ η 1 , η 2 , … , η n ] \large[\eta_1,\eta_2,\dots,\eta_n] [η1,η2,…,ηn]
第三步:于是
G
i
=
η
i
1
η
i
1
H
+
η
i
2
η
i
2
H
+
⋯
+
η
i
m
η
i
m
H
,
m
为
λ
i
对应的几何重数
\large G_i = \eta_{i1} \eta_{i1}^H + \eta_{i2} \eta_{i2}^H + \dots+\eta_{im} \eta_{im}^H,m为\lambda_i 对应的几何重数
Gi=ηi1ηi1H+ηi2ηi2H+⋯+ηimηimH,m为λi对应的几何重数
最后:
A
A
A =
∑
λ
i
G
i
\large \sum\lambda_iG_i
∑λiGi
谱分解还有一种特殊的情况
当
A
A
A 为可对角化的矩阵时,谱分解可以这么来求;
- 求 A A A 的特征值,特征向量,得到可逆矩阵 P P P , P − 1 A P = Λ P^{-1}AP = \Lambda P−1AP=Λ
- 求 ( P − 1 ) T = ( β 1 , β 2 , … , β n ) (P^{-1})^T=(\beta_1, \beta_2, \dots, \beta_n) (P−1)T=(β1,β2,…,βn)
-
G
i
=
∑
j
=
1
m
α
i
j
β
i
j
T
G_i = \sum\limits_{j=1}^{m}\alpha_{ij}\beta_{ij}^T
Gi=j=1∑mαijβijT,其中
m
m
m 为特征值
λ
i
\lambda_i
λi 对应的代数重数。
原理如下,因为 P − 1 A P = Λ = d i a g ( λ 1 , λ 2 , … , λ n ) \large P^{-1}AP=\Lambda = diag(\lambda_1,\lambda_2,\dots,\lambda_n) P−1AP=Λ=diag(λ1,λ2,…,λn):
注: A H 中 i 需要变 − i A^H中 i 需要变-i AH中i需要变−i,如: α = [ 1 , 2 , − i ] T \alpha = [1, 2, -i]^T α=[1,2,−i]T, α H = [ 1 , 2 , i ] \alpha^H=[1,2,i] αH=[1,2,i]