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

从对角化到对每个矩阵都成立的分解

卷一对角化了特殊的方阵。SVD 通过允许两组不同的标准正交基,把任意矩阵都对角化——长方形的、奇异的、实的皆可。

卷一能做什么与不能做什么

在初阶课程里你学过对角化:当方阵 A 拥有足够多的特征向量时,A = P D P^-1。谱定理对对称矩阵把这一点变得极为优美——正交的 P 与实特征值。但你遇到的大多数矩阵并非方阵,许多方阵根本不可对角化。我们需要一个永不失效的分解。

奇异值分解正是这样的分解。每个 m×n 实矩阵 A 都可写成 A = U Sigma V^T,其中 U 与 V 是正交矩阵,Sigma 是非负对角矩阵。没有假设,没有例外。

两组基,而非一组

对角化只用组基:输入与输出用同一组特征基。这正是它如此受限的原因。SVD 的关键一步是放松这一点:在输入空间用一组标准正交基 v_1, ..., v_n,在输出空间用一组可能不同的标准正交基 u_1, ..., u_m。V 的列是右[[singular-vectors|奇异向量]],U 的列是左奇异向量

定义关系极其简洁:A v_i = sigma_i u_i。输入一个右奇异向量,输出一个缩放后的左奇异向量。缩放因子 sigma_i >= 0 就是奇异值。把它与特征值关系 A x = lambda x 对比——后者输入与输出方向相同——见奇异值与特征值的对比

一幅拉伸的图景

几何上,A 把单位球面映成一个椭球面——这就是 SVD 的几何。V^T 旋转输入,使奇异方向对齐坐标轴;Sigma 沿每个轴按 sigma_i 拉伸;U 把结果旋转到位。旋转、拉伸、再旋转:这就是一切线性映射的全部内容。

A 2x2 example: A = [3, 0; 4, 5]

The unit circle  { x : ||x|| = 1 }  maps to an ellipse.
The longest radius of that ellipse  = sigma_1  (largest stretch)
The shortest radius                 = sigma_2  (smallest stretch)

Direction v_1 (input) is sent to direction u_1 (output), scaled by sigma_1.
Direction v_2 (input) is sent to direction u_2 (output), scaled by sigma_2.

So A = U * diag(sigma_1, sigma_2) * V^T  with
   columns of V = v_1, v_2   (orthonormal input axes)
   columns of U = u_1, u_2   (orthonormal output axes)
A 把单位圆映成椭圆;半轴长度就是奇异值。