定义 \Sigma 为一个 m 行 n 列的矩阵,其前 n 行包含 {\rm diag}(\sigma_1 ,\ldots, \sigma_n ),而其底部 m-n 行均为零。 定义 m 行 m 列的矩阵 U = [u_1,\ldots,u_m] 以及 n 行 n 列的矩阵 V = [v_1,\ldots,v_n]。 U 被称为 A 的左奇异向量矩阵, V 被称为 A 的右奇异向量矩阵。 由于 u_i 是正交单位向量,我们可以看到 U^*U=I;即, U 是一个酉矩阵。如果 A 是实数矩阵,那么 u_i 也是实向量, 此时 U^TU = I,我们也可以说 U 是一个正交矩阵。 同样的讨论适用于 V。 n+m 个等式 Av_i = \sigma_i u_i 和 A^* u_i = \sigma_i v_i 对于 i=1,\ldots,n 以及 A^*u_i = 0 对于 i=n+1,\ldots,m 也可以写成 AV = U \Sigma 和 A^* U= V \Sigma^*,或 A = U \Sigma V^*。 如下分解
有几种“较小”的 SVD 版本经常被计算。 设 U_t = [u_1,\ldots,u_t] 为一个 m 行 t 列的矩阵,包含前 t 个左奇异向量, V_t = [v_1,\ldots,v_t] 为一个 n 行 t 列的矩阵,包含前 t 个右奇异向量, 以及 \Sigma_t = {\rm diag}(\sigma_1 ,\ldots, \sigma_t) 为一个 t 行 t 列的矩阵,包含前 t 个奇异值。 然后我们可以做如下定义。
瘦 SVD 也可以写成 A = \sum_{i=1}^n \sigma_i u_i v_i^*。 每一组 (\sigma_i, u_i, v_i) 被称为一个奇异三元组。 紧凑和截断 SVD 也可以类似地写成 (求和从 i=1 到 r,或 i=1 到 t)。
如果 A 是一个 m 行 n 列的矩阵且 m < n , 那么它的 SVD 是 A = U \Sigma V^*,其中 U 是 m 行 m 列的,\Sigma 是 m 行 n 列的, 其前 m 列包含 {\rm diag}(\sigma_1 ,\ldots, \sigma_m),而其余列均为零,V 是 n 行 n 列的。 它的瘦 SVD 是 A= U_m \Sigma_m V_m^*,紧凑 SVD 和 截断 SVD 如上所述。
更一般地,如果我们取 U 和 V 的 k 列子集
(例如
\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} 是
一个 k 行 k 列的矩阵,其奇异值与 \hat{\Sigma} 相同,尽管
\check{A} 可能不是对角矩阵。