最大的拉伸就是一个范数
最大奇异值 sigma_1 回答:A 最多能把一个向量放大多少?精确地说,sigma_1 = 在 ||x||=1 上 ||A x|| 的最大值。这就是谱范数(算子 2-范数)||A||_2 = sigma_1。取到最大的输入是 v_1,输出方向是 u_1。
最小的非零奇异值 sigma_r 讲述相反的故事——A 在其行空间内对向量拉伸的最小程度。比值 sigma_1 / sigma_r 就是条件数 kappa(A):A 能在多大程度上扭曲相对长度,以及在求解 A x = b 时误差能被放大得多严重。一个接近奇异的矩阵有极小的 sigma_r 和极大的条件数。
三种范数,一组谱
不同的范数只是对同一组奇异值的不同概括方式。Frobenius 范数是它们的平方和再开方;核范数(迹范数)是它们的直接求和;谱范数是它们的最大值。可以把它们看作奇异值向量的 L2、L1、L-无穷范数。
Let the singular values be sigma_1 >= sigma_2 >= ... >= sigma_r > 0.
spectral norm ||A||_2 = sigma_1 (max)
Frobenius norm ||A||_F = sqrt(sigma_1^2 + ... + sigma_r^2)
nuclear norm ||A||_* = sigma_1 + ... + sigma_r (sum)
Why Frobenius works: ||A||_F^2 = trace(A^T A) = sum of eigenvalues of A^T A
= sum of lambda_i = sum of sigma_i^2.
Orthogonal U, V do not change ||.||_F, so ||A||_F = ||Sigma||_F.读出四个基本子空间
按奇异值为正(i <= r)还是为零(i > r)把奇异向量分组。SVD 一次性读出全部四个基本子空间,这也是你能见到的秩-零化度定理最干净的表述。
Let r = rank(A) = number of positive singular values.
column space of A = span( u_1, ..., u_r ) (in R^m)
left null space of A = span( u_{r+1}, ..., u_m ) (in R^m)
row space of A = span( v_1, ..., v_r ) (in R^n)
null space of A = span( v_{r+1}, ..., v_n ) (in R^n)
The v's split R^n; the u's split R^m; each into orthogonal complements.
dim(row space) + dim(null space) = r + (n - r) = n
dim(column space) + dim(left null space) = r + (m - r) = m