矩阵的对角化
对于对称矩阵B,存在单位正交阵P(PT=P-1),使得:
B = P-1AP
其中A为对角矩阵,P为单位正交阵。对于一般的方阵而言,不一定能对角化,对于对称矩阵而言,必能对角化,而且对于正定矩阵有
λ
\lambda
λi>0。
设A=
[
λ
1
λ
2
λ
n
]
\left[\begin{matrix} \lambda_1& &\\&\lambda_2&\\&&\lambda_n \end{matrix}\right]
⎣⎡λ1λ2λn⎦⎤,PT=
(
u
1
,
u
2
,
u
n
)
(u_1, u_2, u_n)
(u1,u2,un)
B= [ u 1 u 2 u n ] [ λ 1 λ 2 λ n ] [ u 1 u 2 u n ] \left[\begin{matrix} u_1\\u_2\\u_n \end{matrix}\right]\left[\begin{matrix} \lambda_1& &\\&\lambda_2&\\&&\lambda_n \end{matrix}\right]\left[\begin{matrix} u_1&u_2&u_n \end{matrix}\right] ⎣⎡u1u2un⎦⎤⎣⎡λ1λ2λn⎦⎤[u1u2un]
=
λ
1
u
1
u
1
T
+
λ
2
u
2
u
2
2
+
.
.
.
+
λ
n
u
n
u
n
T
\lambda_1u_1u_1^T+\lambda_2u_2u_2^2+...+\lambda_nu_nu_n^T
λ1u1u1T+λ2u2u22+...+λnununT
现假设
λ
1
>
λ
2
>
.
.
.
>
λ
n
\lambda_1>\lambda_2>...>\lambda_ n
λ1>λ2>...>λn,则可以取前面几个占比重比较大的特征值,来实现矩阵的压缩。
矩阵的SVD分解
对于任意矩阵
A
m
×
n
A_{m\times n}
Am×n,
A
T
A
A^TA
ATA满足对称半正定性,则有
A
T
A
=
P
T
D
P
A^TA=P^TDP
ATA=PTDP
已有结论:对于矩阵
A
B
AB
AB和矩阵
B
A
BA
BA,它们不为
0
0
0的特征值必相等。
可由换位公式
∣
λ
I
−
A
B
∣
=
λ
m
−
n
∣
λ
I
−
B
A
∣
|\lambda I-AB|=\lambda^{m-n} |\lambda I-BA|
∣λI−AB∣=λm−n∣λI−BA∣ 证明。
设
A
T
A
A^TA
ATA的特征值为
λ
1
,
λ
2
,
.
.
.
,
λ
n
\lambda_1,\lambda_2,...,\lambda_n
λ1,λ2,...,λn,则
A
m
×
n
=
V
m
×
m
T
[
λ
1
λ
2
λ
n
]
U
n
×
n
A_{m\times n}=V_{m\times m}^T\left[\begin{matrix} \sqrt\lambda_1& &\\&\sqrt\lambda_2&\\&&\sqrt\lambda_n \end{matrix}\right]U_{n\times n}
Am×n=Vm×mT⎣⎡λ1λ2λn⎦⎤Un×n
其中
U
n
×
n
U_{n\times n}
Un×n为特征值所对应的特征向量(正交基),所以
V
n
×
n
T
=
A
m
×
n
U
n
×
n
[
1
/
λ
1
1
/
λ
2
1
/
λ
n
]
V_{n\times n}^T = A_{m\times n}U_{n\times n}\left[\begin{matrix} 1/\sqrt\lambda_1& &\\&1/\sqrt\lambda_2&\\&&1/\sqrt\lambda_n \end{matrix}\right]
Vn×nT=Am×nUn×n⎣⎡1/λ11/λ21/λn⎦⎤
令 V n × n T = [ v 1 v 2 . . . v n ] , U n × n T = [ u 1 u 2 . . . u n ] V_{n\times n}^T=\left[\begin{matrix} v_1&v_2&...&v_n \end{matrix}\right],U_{n\times n}^T=\left[\begin{matrix} u_1&u_2&...&u_n \end{matrix}\right] Vn×nT=[v1v2...vn],Un×nT=[u1u2...un]
则有
A
m
×
n
=
λ
1
v
1
u
1
T
+
λ
2
v
2
u
2
T
+
.
.
.
+
λ
n
v
n
u
n
T
A_{m\times n}=\sqrt\lambda_1v_1u_1^T+\sqrt\lambda_2v_2u_2^T+...+\sqrt\lambda_nv_nu_n^T
Am×n=λ1v1u1T+λ2v2u2T+...+λnvnunT
可应用于图像压缩和减少矩阵运算。
例如:图像压缩存储最小需要
m
+
n
+
1
m+n+1
m+n+1(第一项)
当压缩存储量为
(
m
+
n
+
1
)
∗
K
(m+n+1)*K
(m+n+1)∗K时,误差为:
e
r
r
o
r
=
1
−
∑
i
=
1
k
λ
i
∑
i
=
1
m
i
n
(
m
,
n
)
λ
i
error = 1 - \frac{\sum_{i=1}^k\lambda_i}{\sum_{i=1}^{min(m,n)}\lambda_i}
error=1−∑i=1min(m,n)λi∑i=1kλi