最大的拉伸就是一個範數
最大奇異值 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