特異値分解

同義語:singular value decompositionSVD

概要

特異値分解(singular value decomposition)とは、任意の $m\times n$ 複素行列 $A$ をユニタリ行列 $U$、$V$ と、非負の数 $\sigma_1\ge\sigma_2\ge\cdots$ を対角に並べた行列 $\Sigma$ によって $A=U\Sigma V^*$ と書くことであり、$\sigma_i$ は $A^*A$ の固有値の平方根で $A$ の特異値と呼ばれる。分解は $A^*A$ のスペクトル定理から存在し、特異値は一意に決まる。正の特異値の個数は階数に等しく、最大の特異値は作用素ノルム、特異値の 2 乗和は Frobenius ノルムの 2 乗であり、上位 $k$ 個の項で打ち切った行列は作用素ノルムで最良の階数 $k$ 以下の近似になる。極分解、条件数、Moore–Penrose 逆行列、低階数近似の基礎となる分解である。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{div}[0]{\mathbin{÷}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: ユニタリ行列, Hermite行列, 内積空間, 固有値

正方行列を対角化するには、定義域と値域に 同じ 基底をとる。そのため対角化できない行列があり、ユニタリ行列で対角化できるのは正規行列に限られる。ところが定義域と値域に 別々の 正規直交基底をとってよいことにすると、長方形のものも含めてどんな行列も対角行列の形になる。これが 特異値分解(singular value decomposition, SVD)である。対角に並ぶ非負の数を 特異値 といい、行列が各方向のベクトルを何倍に伸ばすかを表す。
特異値分解からは、行列の階数、像と核の正規直交基底、作用素ノルム、Frobenius ノルム、最良の低階数近似、極分解、Moore–Penrose 逆行列がまとめて読み取れる。この記事では、存在と一意性を スペクトル定理 から証明し、ノルムとの関係、階数 $k$ 以下の行列による最良近似(作用素ノルムの場合)、極分解を証明する。

定義

以下、$K=\mathbb{R}$ または $\mathbb{C}$ とし、$K^n$ には標準内積 $\langle x,y\rangle=y^*x$、長さ $\lvert x\rvert=\sqrt{x^*x}$ を入れる。$A^*$ は共役転置($K=\mathbb{R}$ なら転置)である。$K=\mathbb{R}$ のとき、ユニタリ行列は直交行列のことと読む。$A\in M_{m\times n}(K)$ に対し $p:=\min\{m,n\}$ とおく。
$A^*A$ は $n$ 次の Hermite 行列(実なら対称行列)で、$x^*A^*Ax=\lvert Ax\rvert^2\ge0$ なので固有値はすべて $0$ 以上である(Hermite行列 の記事の定理「ユニタリ対角化できる行列」)。

特異値と特異値分解
  1. $A^*A$ の固有値を重複を込めて大きい順に $\lambda_1\ge\lambda_2\ge\cdots\ge\lambda_n\ge0$ とする。$\sigma_i:=\sqrt{\lambda_i}$($1\le i\le p$)を $A$ の 特異値 という。
  2. ユニタリ行列 $U\in M_m(K)$、$V\in M_n(K)$ と、$(i,i)$ 成分 $s_i$($1\le i\le p$)が $s_1\ge\cdots\ge s_p\ge0$ を満たし、ほかの成分が $0$ の $m\times n$ 行列 $\Sigma$ によって
    $$ A=U\Sigma V^* $$
    と書くことを、$A$ の 特異値分解 という。$U$ の列 $u_1,\dots,u_m$ を 左特異ベクトル、$V$ の列 $v_1,\dots,v_n$ を 右特異ベクトル という。

分解は存在し(thm-svd-exist)、どの分解でも $s_i$ は $A$ の特異値 $\sigma_i$ に一致する(thm-svd-unique)。以下、$\Sigma$ の対角成分を $\sigma_i$ と書く。$r$ を正の特異値の個数とすると(prop-svd-rank により $r=\operatorname{rank}A$)、$A=U\Sigma V^*$ を展開して
$$ A=\sum_{i=1}^{r}\sigma_iu_iv_i^*,\qquad A=U_r\Sigma_rV_r^* $$
とも書ける。ここで $U_r$、$V_r$ は最初の $r$ 列だけをとった行列、$\Sigma_r=\operatorname{diag}(\sigma_1,\dots,\sigma_r)$ で、後の形を 縮約した特異値分解 という。$u_iv_i^*$ は階数 $1$ の行列なので、特異値分解は $A$ を互いに直交する階数 $1$ の行列の和に分けることでもある。

直感

$A=U\Sigma V^*$ は、写像 $x\mapsto Ax$ を「$V^*$ で回す(または折り返す)→ 座標軸の方向に $\sigma_i$ 倍する → $U$ で回す」の 3 段に分ける。とくに $A$ が実の正則な正方行列なら、単位球面 $\{\lvert x\rvert=1\}$ の像は、$u_i$ の方向に半径 $\sigma_i$ をもつ楕円体である。実際、$x=Vz$($\lvert z\rvert=1$)と書くと $U^{\top}Ax=\Sigma z$ なので、$w=U^{\top}Ax$ の成分は $\sum_i(w_i/\sigma_i)^2=\lvert z\rvert^2=1$ を満たす。逆にこの式を満たす $w$ は、$z=\Sigma^{-1}w$、$x=Vz$ から得られる。最大の特異値 $\sigma_1$ は一番長く伸ばす倍率、最小の $\sigma_n$ は一番短く縮める倍率である。
固有値は「方向を変えずに伸ばす倍率」なので、方向が回ってしまう行列では特異値と一致しない。たとえば $N=\begin{pmatrix}0&1\\0&0\end{pmatrix}$ の固有値は $0,0$ だが、$Ne_2=e_1$ と長さ $1$ のまま向きを変えるので、特異値は $1,0$ である。

存在と一意性

特異値分解の存在

任意の $A\in M_{m\times n}(K)$ は特異値分解 $A=U\Sigma V^*$ をもつ。$K=\mathbb{R}$ なら $U,V$ を実の直交行列にとれる。

A*A の固有ベクトルから左特異ベクトルを作る

$A^*A$ は Hermite 行列なので、Hermite行列 の記事の定理「ユニタリ対角化できる行列」($K=\mathbb{R}$ なら 2次形式 の記事の定理「実対称行列の主軸定理」)により、$A^*A$ の固有ベクトルからなる $K^n$ の正規直交基底 $v_1,\dots,v_n$ で、固有値が $\lambda_1\ge\cdots\ge\lambda_n\ge0$ の順に並ぶものがとれる。$\lambda_i>0$ となる $i$ の個数を $r$ とする。
右側の列の像:$i,j$ について
$$ \langle Av_i,Av_j\rangle=v_j^*A^*Av_i=\lambda_iv_j^*v_i=\lambda_i\delta_{ij} $$
である。$i>r$ なら $\lvert Av_i\rvert^2=\lambda_i=0$ なので $Av_i=0$ である。
左特異ベクトル:$i\le r$ について $\sigma_i:=\sqrt{\lambda_i}>0$、$u_i:=Av_i/\sigma_i$ とおく。上の式から $\langle u_i,u_j\rangle=\lambda_i\delta_{ij}/(\sigma_i\sigma_j)=\delta_{ij}$ なので、$u_1,\dots,u_r$ は $K^m$ の正規直交系である。とくに $r\le m$ で、$r\le n$ とあわせて $r\le p$ である。内積空間 の記事の定理「Gram–Schmidtの直交化法」により、これを $K^m$ の正規直交基底 $u_1,\dots,u_m$ に延長する。
分解:$U:=(u_1\ \cdots\ u_m)$、$V:=(v_1\ \cdots\ v_n)$ は列が正規直交基底なのでユニタリ行列である。$\Sigma$ を $(i,i)$ 成分が $\sigma_i=\sqrt{\lambda_i}$($i\le p$。$r< i\le p$ では $0$)の $m\times n$ 行列とする。$AV$ の第 $i$ 列は $Av_i$ で、$i\le r$ なら $\sigma_iu_i$、$i>r$ なら $0$ である。$U\Sigma$ の第 $i$ 列も $i\le p$ なら $\sigma_iu_i$、$i>p$ なら $0$ であり、両者は一致する。よって $AV=U\Sigma$ で、$V$ がユニタリなので $A=U\Sigma V^*$ である。$K=\mathbb{R}$ なら、$v_i$ も $u_i$ も実のベクトルにとれる(Gram–Schmidt の直交化は実数の範囲で行える)。$\square$

この証明は、$A$ の特異値分解を $A^*A$ の対角化に帰着させる。右特異ベクトルを決めてから $u_i=Av_i/\sigma_i$ で左特異ベクトルを決めることが要点で、$u_i$ を $AA^*$ の固有ベクトルから別に選ぶと分解にならない(ex-svd-counterexamples)。

特異値の一意性と特異ベクトルの自由度

$A=U\Sigma V^*$ を $A$ の任意の特異値分解とする。

  1. $\Sigma$ の対角成分は $A$ の特異値 $\sigma_1,\dots,\sigma_p$ に等しい。とくに特異値は分解のとり方によらない。
  2. $A^*A$ と $AA^*$ の $0$ でない固有値は、重複を込めて一致し、どちらも $\sigma_1^2,\dots,\sigma_r^2$ である。
  3. $i\le r$ について $Av_i=\sigma_iu_i$、$A^*u_i=\sigma_iv_i$ が成り立つ。
  4. 正の特異値が相異なる($\sigma_1>\cdots>\sigma_r>0$)なら、$A=U'\Sigma V'^*$ を別の特異値分解とするとき、各 $i\le r$ について $\lvert c_i\rvert=1$ となる $c_i\in K$ があり、$u_i'=c_iu_i$、$v_i'=c_iv_i$ である。
積をとって対角化に戻す

要点:$A^*A=V\Sigma^*\Sigma V^*$、$AA^*=U\Sigma\Sigma^*U^*$ と対角化して固有値を比べる。

詳しい証明を開く

1, 2:$U,V$ はユニタリなので $$A^*A=V\Sigma^*\Sigma V^*,\qquad AA^*=U\Sigma\Sigma^*U^*$$ である。$\Sigma^*\Sigma$ は $n$ 次の対角行列で、対角成分は $s_1^2,\dots,s_p^2$ と $n-p$ 個の $0$ である($s_i$ は $\Sigma$ の $(i,i)$ 成分)。$A^*A$ と $\Sigma^*\Sigma$ は相似なので固有値が重複を込めて一致する。$s_1\ge\cdots\ge s_p\ge0$ と並んでいるので、大きい順に比べて $s_i^2=\lambda_i$、すなわち $s_i=\sigma_i$ を得る。$\Sigma\Sigma^*$ は対角成分が $s_1^2,\dots,s_p^2$ と $m-p$ 個の $0$ の $m$ 次の対角行列なので、$AA^*$ の $0$ でない固有値も $\sigma_1^2,\dots,\sigma_r^2$ である。

3:$AV=U\Sigma$ の第 $i$ 列から $Av_i=\sigma_iu_i$、$A^*U=V\Sigma^*$ の第 $i$ 列から $A^*u_i=\sigma_iv_i$ である。

4:$A^*A=V'\Sigma^*\Sigma V'^*$ なので、$v_i'$ は $A^*A$ の固有値 $\sigma_i^2$ の単位固有ベクトルである。仮定から $\sigma_i^2$ はほかの $\sigma_j^2$ とも $0$ とも異なるので、重複度 $1$ の固有値である。$A^*A$ はユニタリ行列で対角化できるので固有空間の次元は重複度に等しく、その固有空間は 1 次元であり、$v_i$ がその基底である。よって $v_i'=c_iv_i$、$\lvert c_i\rvert=\lvert v_i'\rvert=1$ である。3 により $u_i'=Av_i'/\sigma_i=c_iAv_i/\sigma_i=c_iu_i$ である。$\square$

特異値が重なると特異ベクトルの自由度は増える。たとえば $A=I_n$ では、任意のユニタリ行列 $Q$ について $I_n=QI_nQ^*$ がどれも特異値分解である。$r< i$ の $u_i,v_i$ も、核や像の直交補空間の正規直交基底でありさえすれば何でもよい。

性質

階数・像・核

特異値分解から読み取れる部分空間

$A=U\Sigma V^*$ を特異値分解とし、$r$ を正の特異値の個数とする。

  1. $\operatorname{rank}A=r$ である。
  2. $\operatorname{Im}A=\langle u_1,\dots,u_r\rangle$、$\operatorname{Ker}A=\langle v_{r+1},\dots,v_n\rangle$、$\operatorname{Im}A^*=\langle v_1,\dots,v_r\rangle$、$\operatorname{Ker}A^*=\langle u_{r+1},\dots,u_m\rangle$ である。
  3. $A^*=V\Sigma^*U^*$ は $A^*$ の特異値分解であり、$A$ と $A^*$ の正の特異値は一致する。
正規直交基底での座標を見る

要点:$x=\sum_jc_jv_j$ と展開すると $Ax=\sum_{i\le r}\sigma_ic_iu_i$ である。

詳しい証明を開く

$x\in K^n$ を $x=\sum_jc_jv_j$($c_j=\langle x,v_j\rangle$)と展開すると、thm-svd-unique の 3 と $i>r$ で $Av_i=0$($AV=U\Sigma$ の第 $i$ 列)であることから $Ax=\sum_{i\le r}\sigma_ic_iu_i$ である。$\sigma_i>0$($i\le r$)なので、$Ax$ は $u_1,\dots,u_r$ の任意の 1 次結合をとりうる。よって $\operatorname{Im}A=\langle u_1,\dots,u_r\rangle$ で、$u_i$ は 1 次独立なので $\operatorname{rank}A=r$ である。また $Ax=0$ と $c_1=\cdots=c_r=0$ は同値なので $\operatorname{Ker}A=\langle v_{r+1},\dots,v_n\rangle$ である。$A^*=V\Sigma^*U^*$ で、$\Sigma^*$ は $\Sigma$ と同じ対角成分をもつ $n\times m$ 行列なので、これは $A^*$ の特異値分解であり、$A^*$ についての 2 つの式も同じ議論で得られる。$\square$

$\operatorname{Ker}A=(\operatorname{Im}A^*)^{\perp}$ と $\operatorname{Im}A=(\operatorname{Ker}A^*)^{\perp}$ が、正規直交基底の分け方として目に見える形になっている。数値計算では、小さな特異値を $0$ とみなして「実質的な階数」を判定するのに使われる。

ノルムと固有値

$A$ の 作用素ノルム を $\|A\|_2:=\max_{\lvert x\rvert=1}\lvert Ax\rvert$、Frobenius ノルム を $\|A\|_F:=\bigl(\sum_{i,j}\lvert a_{ij}\rvert^2\bigr)^{1/2}$ とする(最大値は単位球面がコンパクトで $x\mapsto\lvert Ax\rvert$ が連続なので存在する)。

特異値とノルム・行列式・固有値

$A\in M_{m\times n}(K)$ の特異値を $\sigma_1\ge\cdots\ge\sigma_p$ とする。

  1. $\|A\|_2=\sigma_1$、$\|A\|_F^2=\sum_{i=1}^p\sigma_i^2$ である。
  2. $m\ge n$ なら $\min_{\lvert x\rvert=1}\lvert Ax\rvert=\sigma_n$ である。$A$ が正則な正方行列なら $\|A^{-1}\|_2=1/\sigma_n$ である。
  3. $A$ が正方行列なら $\lvert\det A\rvert=\sigma_1\cdots\sigma_n$ であり、$A$ の任意の固有値 $\lambda$ について $\sigma_n\le\lvert\lambda\rvert\le\sigma_1$ である。
ユニタリ行列は長さを変えない

ユニタリ行列は長さを保つので(ユニタリ行列 の記事の定理「ユニタリ行列の特徴づけ」)、$z:=V^*x$ とおくと $\lvert z\rvert=\lvert x\rvert$ で
$$ \lvert Ax\rvert^2=\lvert U\Sigma z\rvert^2=\lvert\Sigma z\rvert^2=\sum_{i=1}^p\sigma_i^2\lvert z_i\rvert^2 $$
である。$x$ が単位球面全体を動くと、$z$ も単位球面全体を動く。
1:上の式は $\sigma_1^2\sum_i\lvert z_i\rvert^2\le\sigma_1^2$ 以下で、$z=e_1$ のとき等号になる。よって $\|A\|_2=\sigma_1$ である。$\|A\|_F^2=\operatorname{tr}(A^*A)$ であり、$A^*A=V\Sigma^*\Sigma V^*$ と相似な行列のトレースは等しいので、$\operatorname{tr}(\Sigma^*\Sigma)=\sum_i\sigma_i^2$ である。
2:$m\ge n$ なら $p=n$ で、上の式は $\sigma_n^2\sum_{i=1}^n\lvert z_i\rvert^2=\sigma_n^2$ 以上であり、$z=e_n$ で等号になる。$A$ が正則なら $\sigma_n>0$(prop-svd-rank の 1)で、$A^{-1}=V\Sigma^{-1}U^*$ の特異値は $1/\sigma_n\ge\cdots\ge1/\sigma_1$ なので、1 により $\|A^{-1}\|_2=1/\sigma_n$ である。
3:$\lvert\det U\rvert=\lvert\det V\rvert=1$(ユニタリ行列 の記事の命題「ユニタリ行列の固有値と行列式」)なので $\lvert\det A\rvert=\lvert\det\Sigma\rvert=\sigma_1\cdots\sigma_n$ である。$Ax=\lambda x$、$\lvert x\rvert=1$ なら $\lvert\lambda\rvert=\lvert Ax\rvert$ であり、これは 1, 2 により $\sigma_n$ 以上 $\sigma_1$ 以下である。$\square$

正則な $A$ について $\kappa_2(A):=\|A\|_2\|A^{-1}\|_2=\sigma_1/\sigma_n$ を(2 ノルムの)条件数 という(BV04 Appendix A.5.4、p. 649)。$Ax=b$($b\ne0$)の右辺を $b+\delta b$ に変えたときの解の変化 $\delta x=A^{-1}\delta b$ は、$\lvert\delta x\rvert\le\|A^{-1}\|_2\lvert\delta b\rvert$ と $\lvert b\rvert\le\|A\|_2\lvert x\rvert$ から
$$ \frac{\lvert\delta x\rvert}{\lvert x\rvert}\le\kappa_2(A)\,\frac{\lvert\delta b\rvert}{\lvert b\rvert} $$
を満たす。右辺の相対的な変化は、解では最大で $\kappa_2(A)$ 倍に拡大される。
固有値と特異値が一致するのは特別な場合で、正規行列の特異値は固有値の絶対値を大きい順に並べたものである。

理由を開く

$A$ が正規行列($A^*A=AA^*$。実の行列も複素の行列とみる)なら、ユニタリ行列 $Q$ と対角行列 $D=\operatorname{diag}(\mu_1,\dots,\mu_n)$ で $A=QDQ^*$ と書ける(線形代数学 の記事の定理「正規行列のユニタリ対角化」)。$\mu_j=\lvert\mu_j\rvert\theta_j$($\lvert\theta_j\rvert=1$)と書けば $A=(Q\Theta)\lvert D\rvert Q^*$($\Theta=\operatorname{diag}(\theta_j)$)で、列を並べ替えれば特異値分解になる。よって正規行列の特異値は固有値の絶対値を大きい順に並べたものであり、とくに半正定値な Hermite 行列では固有値そのものである。

最良の低階数近似

作用素ノルムでの最良の低階数近似

$A=\sum_{i=1}^r\sigma_iu_iv_i^*$ を特異値分解とし、$0\le k< r$ について $A_k:=\sum_{i=1}^k\sigma_iu_iv_i^*$ とおく。このとき $\operatorname{rank}A_k=k$、$\|A-A_k\|_2=\sigma_{k+1}$ であり、階数 $k$ 以下の任意の $B\in M_{m\times n}(K)$ について
$$ \|A-B\|_2\ge\sigma_{k+1} $$
である。つまり $A_k$ は、作用素ノルムで $A$ に最も近い階数 $k$ 以下の行列の 1 つである。

次元の数え上げで共通のベクトルを見つける

$A_k$ について:$\lvert x\rvert=1$、$z:=V^*x$ とすると、thm-svd-norm の証明と同じ計算で $\lvert(A-A_k)x\rvert^2=\bigl\lvert\sum_{i=k+1}^r\sigma_iz_iu_i\bigr\rvert^2=\sum_{i=k+1}^r\sigma_i^2\lvert z_i\rvert^2\le\sigma_{k+1}^2$ であり、$x=v_{k+1}$ で等号になる。よって $\|A-A_k\|_2=\sigma_{k+1}$ である。$A_k=U\Sigma_kV^*$($\Sigma_k$ は $\Sigma$ の $k+1$ 番目以降の対角成分を $0$ にしたもの)は $A_k$ の特異値分解なので、prop-svd-rank の 1 により $\operatorname{rank}A_k=k$ である。
下からの評価:$B$ を階数 $k$ 以下とする。$\dim\operatorname{Ker}B=n-\operatorname{rank}B\ge n-k$ であり、$W:=\langle v_1,\dots,v_{k+1}\rangle$ は $k+1$ 次元なので、
$$ \dim(\operatorname{Ker}B\cap W)\ge(n-k)+(k+1)-n=1 $$
である。よって単位ベクトル $x\in\operatorname{Ker}B\cap W$ がとれる。$x=\sum_{i=1}^{k+1}c_iv_i$、$\sum_i\lvert c_i\rvert^2=1$ と書くと、$Bx=0$ で $u_i$ は正規直交なので
$$ \|A-B\|_2^2\ge\lvert(A-B)x\rvert^2=\lvert Ax\rvert^2=\Bigl\lvert\sum_{i=1}^{k+1}\sigma_ic_iu_i\Bigr\rvert^2=\sum_{i=1}^{k+1}\sigma_i^2\lvert c_i\rvert^2\ge\sigma_{k+1}^2 $$
である。$\square$

この定理は、画像やデータの行列を大きい特異値の項だけで近似する低階数近似の根拠になる(Axl24 §7F の「Approximation by Linear Maps with Lower-Dimensional Range」、BV04 Example 8.2、p. 398)。ノルムを作用素ノルムから別のものに替えると、$A_k$ が最良とは限らない(ex-svd-counterexamples)。

極分解

極分解の存在と一意性

$A\in M_n(K)$ を正方行列とする。ユニタリ行列 $W$ と半正定値な Hermite 行列 $P$ で $A=WP$ となるものが存在する。$P=(A^*A)^{1/2}$($A^*A$ の半正定値な平方根)はただ 1 つに決まり、$A$ が正則なら $W$ もただ 1 つに決まる。

特異値分解の真ん中に V*V を入れる

存在:特異値分解 $A=U\Sigma V^*$ で $\Sigma$ は $n$ 次の対角行列なので、$A=(UV^*)(V\Sigma V^*)$ と書ける。$W:=UV^*$ はユニタリ行列の積なのでユニタリで、$P:=V\Sigma V^*$ は $P^*=P$、固有値が $\sigma_i\ge0$ なので半正定値な Hermite 行列である。
一意性:$A=WP$ が任意のそのような分解なら、$A^*A=PW^*WP=P^2$ なので、$P$ は $A^*A$ の半正定値な平方根である。正定値行列 の記事の定理「半正定値な平方根の存在と一意性」により $P=(A^*A)^{1/2}$ に決まる。$A$ が正則なら $\det P\ne0$ なので $P$ は正則で、$W=AP^{-1}$ に決まる。$\square$

$n=1$ では、複素数 $z$ を極形式 $z=e^{i\theta}\lvert z\rvert$ に書くことにあたる。$W$ が絶対値 $1$ の数、$P$ が非負の数の役をする(Axl24 §7F の「Polar Decomposition」)。$A$ が正則でないと $W$ は一意でない(ex-svd-counterexamples)。
Moore–Penrose逆行列 は特異値分解から $A^+=V\Sigma^+U^*$ と書ける。ここで $\Sigma^+$ は $\Sigma$ を転置して正の対角成分を逆数にした $n\times m$ 行列である。この式の証明は Moore–Penrose逆行列 の記事の注意「特異値分解による構成」にある。

例

2 次の実行列

$A=\begin{pmatrix}3&0\\4&5\end{pmatrix}$ とする。$A^{\top}A=\begin{pmatrix}25&20\\20&25\end{pmatrix}$ の固有値は $45,5$、単位固有ベクトルは $v_1=\frac1{\sqrt2}(1,1)^{\top}$、$v_2=\frac1{\sqrt2}(1,-1)^{\top}$ である。よって特異値は $\sigma_1=3\sqrt5\approx6.708$、$\sigma_2=\sqrt5\approx2.236$ で、
$$ u_1=\frac{Av_1}{\sigma_1}=\frac1{\sqrt{10}}\begin{pmatrix}1\\3\end{pmatrix},\qquad u_2=\frac{Av_2}{\sigma_2}=\frac1{\sqrt{10}}\begin{pmatrix}3\\-1\end{pmatrix} $$
となり、$A=U\Sigma V^{\top}$、$U=(u_1\ u_2)$、$\Sigma=\operatorname{diag}(3\sqrt5,\sqrt5)$、$V=(v_1\ v_2)$ である。
$A$ は下三角なので固有値は $3,5$ である。どちらも $\sigma_2\le\lvert\lambda\rvert\le\sigma_1$ の範囲にあり、$\lvert\det A\rvert=15=\sigma_1\sigma_2$、$\|A\|_F^2=9+16+25=50=\sigma_1^2+\sigma_2^2$ である(thm-svd-norm)。条件数は $\kappa_2(A)=3$ である。極分解(cor-svd-polar)は
$$ A=WP,\qquad W=UV^{\top}=\frac1{\sqrt5}\begin{pmatrix}2&-1\\1&2\end{pmatrix},\qquad P=V\Sigma V^{\top}=\sqrt5\begin{pmatrix}2&1\\1&2\end{pmatrix} $$
で、$W$ は角 $\arctan\frac12$ の回転である。

最良の階数 1 の近似

ex-svd-2x2 の $A$ について、thm-svd-lowrank の $A_1$ は
$$ A_1=\sigma_1u_1v_1^{\top}=\frac32\begin{pmatrix}1&1\\3&3\end{pmatrix},\qquad A-A_1=\frac12\begin{pmatrix}3&-3\\-1&1\end{pmatrix} $$
である。$A-A_1=\frac12(3,-1)^{\top}(1,-1)$ は階数 1 なので、その作用素ノルムは $\frac12\lvert(3,-1)\rvert\cdot\lvert(1,-1)\rvert=\frac12\sqrt{10}\sqrt2=\sqrt5=\sigma_2$ であり、定理のとおりである。階数 1 のどの行列 $B$ をとっても $\|A-B\|_2\ge\sqrt5$ である。

縦長の行列

$A=\begin{pmatrix}1&1\\1&0\\0&1\end{pmatrix}$ では $A^{\top}A=\begin{pmatrix}2&1\\1&2\end{pmatrix}$ の固有値が $3,1$ なので、特異値は $\sqrt3,1$ である。$v_1=\frac1{\sqrt2}(1,1)^{\top}$、$v_2=\frac1{\sqrt2}(1,-1)^{\top}$ から
$$ u_1=\frac1{\sqrt6}\begin{pmatrix}2\\1\\1\end{pmatrix},\qquad u_2=\frac1{\sqrt2}\begin{pmatrix}0\\1\\-1\end{pmatrix},\qquad u_3=\frac1{\sqrt3}\begin{pmatrix}1\\-1\\-1\end{pmatrix} $$
をとる。$u_3$ は $u_1,u_2$ に直交する単位ベクトルとして補ったもので、$\operatorname{Ker}A^{\top}=\langle u_3\rangle$ である(prop-svd-rank)。$\Sigma$ は $3\times2$ 行列 $\begin{pmatrix}\sqrt3&0\\0&1\\0&0\end{pmatrix}$ である。

階数 1 の行列と冪零行列
  1. $x\in K^m$、$y\in K^n$ が $0$ でないとき、$A=xy^*$ の特異値分解は $A=\bigl(\lvert x\rvert\lvert y\rvert\bigr)\,\frac{x}{\lvert x\rvert}\Bigl(\frac{y}{\lvert y\rvert}\Bigr)^*$ を延長したもので、正の特異値は $\lvert x\rvert\lvert y\rvert$ だけである。
  2. $N=\begin{pmatrix}0&1\\0&0\end{pmatrix}$ は $N=e_1e_2^{\top}$ なので、1 により特異値は $1,0$ である。固有値は $0,0$ で、特異値と一致しない。$J=\begin{pmatrix}1&1\\0&1\end{pmatrix}$ では固有値が $1,1$、特異値が $\frac{1+\sqrt5}2\approx1.618$ と $\frac{\sqrt5-1}2\approx0.618$ である($J^{\top}J=\begin{pmatrix}1&1\\1&2\end{pmatrix}$ の固有値は $\frac{3\pm\sqrt5}2$)。

条件を外した反例

外す条件反例成り立たなくなること
$u_i=Av_i/\sigma_i$ で左右の特異ベクトルを結ぶ$A=I_2$ に $U=I_2$、$V=\operatorname{diag}(1,-1)$$U\Sigma V^*=A$
正の特異値が相異なる$A=I_2$特異ベクトルの一意性(thm-svd-unique の 4)
$A$ が正規行列$N=\begin{pmatrix}0&1\\0&0\end{pmatrix}$特異値が固有値の絶対値であること
ノルムが作用素ノルム$A=\operatorname{diag}(2,1)$、成分の絶対値の最大で測る$A_1$ が最良の階数 1 の近似であること
$A$ が正則$A=\operatorname{diag}(1,0)$極分解の $W$ の一意性
反例:表の各行の確かめ

どの反例も、表の左の列の条件だけを破っている。

計算を開く

1 行目:$AA^*=A^*A=I_2$ なので、$U=I_2$ の列も $V=\operatorname{diag}(1,-1)$ の列も、それぞれ $AA^*$、$A^*A$ の正規直交な固有ベクトルである。しかし $U\Sigma V^*=\operatorname{diag}(1,-1)\ne I_2$ である。$v_2=-e_2$ に対して $u_2$ を $Av_2/\sigma_2=-e_2$ ととれば正しい分解になる。

2 行目:任意のユニタリ行列 $Q$ について $I_2=QI_2Q^*$ はどれも特異値分解で、$Q$ の列は単位スカラー倍の違いにとどまらない。

3 行目:ex-svd-rank-one の 2 による。$N^*N=\operatorname{diag}(0,1)\ne\operatorname{diag}(1,0)=NN^*$ で、正規でない。

4 行目:$A_1=\operatorname{diag}(2,0)$ で、$A-A_1$ の成分の絶対値の最大は $1$ である。一方 $t=\sqrt3-1\approx0.732$ とし $B=\begin{pmatrix}2&t\\t&t^2/2\end{pmatrix}$ とおくと、$\det B=t^2-t^2=0$ なので $B$ は階数 1 で、$A-B=\begin{pmatrix}0&-t\\-t&1-t^2/2\end{pmatrix}$ の成分の絶対値の最大は $t$($1-t^2/2=t$ となるように $t$ を選んだ)で、$1$ より小さい。作用素ノルムでは $\|A-B\|_2\ge\sigma_2=1$ なので、thm-svd-lowrank とは矛盾しない。

5 行目:$P=(A^*A)^{1/2}=\operatorname{diag}(1,0)$ で、$W=I_2$ でも $W=\operatorname{diag}(1,-1)$ でも $WP=A$ となる。

補足

線形写像と無限次元

特異値分解は基底を選ばずに述べることもできる。有限次元の内積空間の間の線形写像 $T\colon V\to W$ について、$T^*T$ の固有値の平方根を特異値とし、正規直交系 $e_1,\dots,e_r$($V$)と $f_1,\dots,f_r$($W$)で $Tv=\sum_{i=1}^r\sigma_i\langle v,e_i\rangle f_i$ と書ける(Axl24 §7E「Singular Value Decomposition」)。作用素ノルムが特異値の最大値になること(thm-svd-norm の 1)も、この形から $\lvert Tv\rvert^2=\sum_i\sigma_i^2\lvert\langle v,e_i\rangle\rvert^2$ として読める(Axl24 §7F の「Norms of Linear Maps」)。なお、正則な $A$ について $A^*A$ の特異値は $\sigma_i^2$ なので $\kappa_2(A^*A)=\kappa_2(A)^2$ であり、$A^*A$ を経由する計算は条件数を 2 乗に悪化させる(最小二乗法 の記事の命題「正規方程式の条件数」)。

2 つの部分空間のなす角も特異値で計算できる。$\mathbb{R}^d$ の $n$ 次元部分空間 $X,Y$ の正規直交基底を列に並べた $d\times n$ 行列を $U,V$ とすると、$n$ 次正方行列 $V^{\mathsf T}U$ の特異値 $c_1\ge\dots\ge c_n$ は、$X$ と $Y$ の主角 $\theta_1\le\dots\le\theta_n$ の余弦 $c_i=\cos\theta_i$ である(部分空間のなす角(主角))。

関連項目

参考文献

[1]
Sheldon Axler, Linear Algebra Done Right, 4th ed.(Undergraduate Texts in Mathematics、Open Access), Springer, 2024, §7E Singular Value Decomposition、§7F Consequences of Singular Value Decomposition(Norms of Linear Maps、Approximation by Linear Maps with Lower-Dimensional Range、Polar Decomposition)
[2]
Stephen Boyd, Lieven Vandenberghe, Convex Optimization, Cambridge University Press, 2004, Appendix A.5.4 Singular value decomposition(pp. 648–649)、Example 8.2(p. 398)

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する