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
正奇异值的向量张成行/列空间;零奇异值的向量张成零空间。