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 把單位圓映成橢圓;半軸長度就是奇異值。