JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

作為範數的奇異值,與四個子空間

奇異值不僅是拉伸因子——它們度量著矩陣本身。它們給出譜範數、Frobenius 範數、條件數,以及對四個基本子空間的透徹解讀。

最大的拉伸就是一個範數

最大奇異值 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
正奇異值的向量張成行/列空間;零奇異值的向量張成零空間。