特異値分解
M を階数 r の m 行 n 列の行列とする。ただし、行列の要素は体 K の元であり、K は実数体 R または複素数体 C のいずれかであるとする。このとき、
M = U Σ V ∗ {\displaystyle M=U\Sigma V^{*}}
という M の分解が存在する。 ここで U は m 行 m 列のユニタリ行列、V は n 行 n 列のユニタリ行列 V の随伴行列(複素共役かつ転置行列)。さらに半正定値行列 MM(あるいは MM)の正の固有値の平方根 σ1 ≥ ... ≥ σr > 0 が存在して、q = min(m, n), σr+1 = ... = σq = 0 とおけば、m 行 n 列の行列 Σ は以下の形になる。
Σ = { [ Δ O ] ( m < n ) Δ ( m = n ) [ Δ O ] ( m > n ) where Δ = diag  ( σ 1 , σ 2 , ...
特異値分解を用いて、行列 M {\displaystyle M} の値域、零空間を表現することができる。 M {\displaystyle M} の特異値の中で零になるものに対応する右特異ベクトルが零空間の基底となる。 M {\displaystyle M} の特異値の中で零でないものに対応する左特異ベクトルが値域の基底となる。すなわち M {\displaystyle M} の行列の階数は、零でない特異値の数と一致する。さらに、 M {\displaystyle M} と M ∗ M {\displaystyle M^{*}M} と M M ∗ {\displaystyle MM^{*}} の階数は一致し、 M ∗ M {\displaystyle M^{*}M} と M M ∗ {\displaystyle MM^{*}} の固有値は一致する。
数値計算上では、特異値を用いて行列の実質的な階数を求めることができる。数値計算上では丸め誤差の影響で、階数が退化した行列に対し、非常に小さいが零ではない特異値が得られてしまう場合に有効である。