下一节:条件数 上一级:奇异值分解 上一节:等价关系

分解

定义 \Sigma 为一个 mn 列的矩阵,其前 n 行包含 {\rm diag}(\sigma_1 ,\ldots, \sigma_n ),而其底部 m-n 行均为零。 定义 mm 列的矩阵 U = [u_1,\ldots,u_m] 以及 nn 列的矩阵 V = [v_1,\ldots,v_n]U 被称为 A左奇异向量矩阵V 被称为 A右奇异向量矩阵。 由于 u_i 是正交单位向量,我们可以看到 U^*U=I;即, U 是一个酉矩阵。如果 A 是实数矩阵,那么 u_i 也是实向量, 此时 U^TU = I,我们也可以说 U 是一个正交矩阵。 同样的讨论适用于 Vn+m 个等式 Av_i = \sigma_i u_iA^* u_i = \sigma_i v_i 对于 i=1,\ldots,n 以及 A^*u_i = 0 对于 i=n+1,\ldots,m 也可以写成 AV = U \SigmaA^* U= V \Sigma^*,或 A = U \Sigma V^*。 如下分解

A = U \Sigma V^*
被称为 A奇异值分解(SVD)。 换句话说,A 在酉(或正交)变换下等价于对角矩阵 \Sigma

有几种“较小”的 SVD 版本经常被计算。 设 U_t = [u_1,\ldots,u_t] 为一个 mt 列的矩阵,包含前 t 个左奇异向量, V_t = [v_1,\ldots,v_t] 为一个 nt 列的矩阵,包含前 t 个右奇异向量, 以及 \Sigma_t = {\rm diag}(\sigma_1 ,\ldots, \sigma_t) 为一个 tt 列的矩阵,包含前 t 个奇异值。 然后我们可以做如下定义。

瘦 SVD
A = U_n \Sigma_n V_n^*A瘦(或经济型)SVD。 当 n \ll m 时,瘦 SVD 比全 SVD 存储量小且计算速度快。

紧凑 SVD
A = U_{r} \Sigma_{r} V_{r}^*A紧凑 SVD。 当 r \ll n 时,紧凑 SVD 比瘦 SVD 存储量小且计算速度快。(译者注:这里的 r 应该是 A 的秩,即非零奇异值的个数,直到这里都是精确的分解。)
截断 SVD
A_t = U_{t} \Sigma_{t} V_{t}^*A秩-t 截断(或部分)SVD, 其中 t < r。 在所有秩-t 矩阵 B 中,B=A_t 是唯一的最小化 \Vert A - B \Vert _F 的矩阵,并且也最小化(可能不唯一) \Vert A - B \Vert _2。 当 t \ll r 时,截断 SVD 比紧凑 SVD 存储量小且计算成本低,是实际应用中最常见的 SVD 形式。

瘦 SVD 也可以写成 A = \sum_{i=1}^n \sigma_i u_i v_i^*。 每一组 (\sigma_i, u_i, v_i) 被称为一个奇异三元组。 紧凑和截断 SVD 也可以类似地写成 (求和从 i=1r,或 i=1t)。

如果 A 是一个 mn 列的矩阵且 m < n , 那么它的 SVD 是 A = U \Sigma V^*,其中 Umm 列的,\Sigmamn 列的, 其前 m 列包含 {\rm diag}(\sigma_1 ,\ldots, \sigma_m),而其余列均为零,Vnn 列的。 它的瘦 SVD 是 A= U_m \Sigma_m V_m^*,紧凑 SVD 和 截断 SVD 如上所述。

更一般地,如果我们取 UVk 列子集
(例如 \hat{U}= U(:,[2,3,5]) = 第 2、3 和 5 列,以及 \hat{V}= V(:,[2,3,5])), 那么这些列张成 A 的一对奇异子空间。 如果我们取对应的 \Sigma 的子矩阵 \hat{\Sigma}= {\rm diag}(\sigma_2 , \sigma_3 , \sigma_5 ) ,那么我们可以写出对应的 部分 SVD\hat{U}^* A \hat{V}= \hat{\Sigma}。如果 \hat{U}\hat{V} 的列 被替换为张成相同不变子空间的 k 个不同的正交向量, 那么我们得到一个不同的部分 SVD : \check{U}^* A \check{V}= \check{A}, 其中 \check{A} 是 一个 kk 列的矩阵,其奇异值与 \hat{\Sigma} 相同,尽管 \check{A} 可能不是对角矩阵。



下一节:条件数 上一级:奇异值分解 上一节:等价关系
Susan Blackford 2000-11-20