定理:
(The Eckhart-Young Theorem) If k < r = r a n k ( A ) k<r = rank(A) k<r=rank(A) and
A k = ∑ i = 1 k σ i μ i ν i ⊤ A_k=\sum_{i=1}^k \sigma_i\mu_i\nu_i^{\top} Ak=i=1∑kσiμiνi⊤
then
min r a n k ( B ) = k ∣ ∣ A − B ∣ ∣ 2 = ∣ ∣ A − A k ∣ ∣ 2 = σ k + 1 \min_{rank(B)=k} ||A-B||_2=||A-A_k||_2=\sigma_{k+1} rank(B)=kmin∣∣A−B∣∣2=∣∣A−Ak∣∣2=σk+1
证明:
Since
U
⊤
A
k
V
=
d
i
a
g
(
σ
1
,
⋯
,
σ
k
,
0
,
⋯
,
0
)
U^{\top}A_kV=diag(\sigma_1,\cdots,\sigma_k,0,\cdots,0)
U⊤AkV=diag(σ1,⋯,σk,0,⋯,0) it follows that
A
k
A_k
Ak is rank k. Moreover,
U
⊤
(
A
−
A
k
)
V
=
d
i
a
g
(
0
,
⋯
,
0
,
σ
k
+
1
,
⋯
,
σ
p
)
U^{\top}(A-A_k)V=diag(0,\cdots,0,\sigma_{k+1},\cdots,\sigma_p)
U⊤(A−Ak)V=diag(0,⋯,0,σk+1,⋯,σp) and so
∣
∣
A
−
A
k
∣
∣
2
=
σ
k
+
1
||A-A_k||_2=\sigma_{k+1}
∣∣A−Ak∣∣2=σk+1.
Now suppose
r
a
n
k
(
B
)
=
k
rank(B) = k
rank(B)=k for some
B
∈
R
m
×
n
B\in \mathbb{R}^{m\times n}
B∈Rm×n. It follows that we can find orthonormal vectors
x
1
,
.
.
.
,
x
n
−
k
x_1 , ... , x_{n-k}
x1,...,xn−k so
n
u
l
l
(
B
)
=
s
p
a
n
{
x
1
,
.
.
.
,
x
n
−
k
}
null (B) = span\{x_1 , ... , x_{n-k}\}
null(B)=span{x1,...,xn−k}· A dimension argument shows that
span
{
x
1
,
⋯
,
x
n
−
k
}
∩
span
{
v
1
,
⋯
,
v
k
+
1
}
≠
{
0
}
.
\text{span}\{x_1,\cdots,x_{n-k}\}\cap\text{span}\{v_1,\cdots,v_{k+1}\}\neq\{0\}.
span{x1,⋯,xn−k}∩span{v1,⋯,vk+1}={0}.
Let z be a unit 2-norm vector in this intersection. Since
B
z
=
0
Bz = 0
Bz=0 and
A
z
=
∑
i
=
1
k
+
1
σ
i
(
v
i
⊤
z
)
u
i
,
Az=\sum_{i=1}^{k+1}\sigma_i(v_i^{\top}z)u_i,
Az=i=1∑k+1σi(vi⊤z)ui,
we have
∣
∣
A
−
B
∣
∣
2
2
≥
∣
∣
(
A
−
B
)
z
∣
∣
2
2
=
∣
∣
A
z
∣
∣
2
2
=
∑
i
=
1
k
+
1
σ
i
2
(
v
i
⊤
z
)
2
≥
σ
k
+
1
2
||A-B||_2^2\geq||(A-B)z||_2^2=||Az||_2^2=\sum_{i=1}^{k+1}\sigma_i^2(v_i^{\top}z)^2\geq\sigma_{k+1}^2
∣∣A−B∣∣22≥∣∣(A−B)z∣∣22=∣∣Az∣∣22=i=1∑k+1σi2(vi⊤z)2≥σk+12
completing the proof of the theorem.