1. スペクトル分解とn乗
(1) 一般(射影行列による表現:対角化可能な場合)
- 主張(射影分解):$A\in\mathbb{C}^{n\times n}$ が(正規でなくても)対角化可能で、固有値の取り得る値が相異なるものとして ${\lambda_1,\dots,\lambda_k}$(代数重複度をまとめた「異なる値」の集合)であるとする。このとき
$$
A=\sum_{i=1}^k \lambda_i P_i,\qquad A^n=\sum_{i=1}^k \lambda_i^{\,n}P_i\ (n\in\mathbb{N})
$$
と表せる。ただし $P_i$ は $V(\lambda_i)$(固有空間)への射影行列で、一般には直交射影ではない($P_i^\ast\ne P_i$ でもよい)。特に $P_i$ は
$$
P_i=\prod_{j\ne i}\frac{A-\lambda_j I}{\lambda_i-\lambda_j}
$$
(ラグランジュ型多項式によるスペクトル射影)で与えられる。 - 性質:これらの $P_i$ は
$$
P_i^2=P_i,\quad P_iP_j=\mathbf{0}\ (i\ne j),\quad \sum_{i=1}^k P_i=I,\quad AP_i=P_iA=\lambda_i P_i
$$
を満たす(相互に可換で、直交でない一般の射影)。 - 証明(やさしい道筋)
1) 多項式の準備:$A$ の固有値の集合を ${\lambda_1,\dots,\lambda_k}$ とする。各 $i$ について
$$
\ell_i(t)=\prod_{j\ne i}\frac{t-\lambda_j}{\lambda_i-\lambda_j}
$$
とおくと $\ell_i(\lambda_i)=1,\ \ell_i(\lambda_j)=0\ (j\ne i)$ となる(一次式の積から直ちに確認できる)。
2) 行列への代入:多項式 $\ell_i$ を $A$ に代入して $P_i:=\ell_i(A)$ と定める。$A$ が対角化可能なら $A=PDP^{-1}$($D=\mathrm{diag}(\text{固有値})$)。このとき
$$
P_i=P\,\ell_i(D)\,P^{-1}
$$
であり、$\ell_i(D)$ は対角の $t$ に $\lambda_j$ を代入した値になるので $\mathrm{diag}(0,\dots,1,\dots,0)$($i$ の場所のみ 1)である。よって $P_i^2=P_i,\ P_iP_j=\mathbf{0},\ \sum_i P_i=I$ が従う。
3) $A$ の表式:同様に多項式 $\sum_i \lambda_i \ell_i(t)$ は恒等的に $t$ に等しい(補間多項式の性質)。したがって
$$
A=\Big(\sum_{i=1}^k \lambda_i \ell_i\Big)(A)=\sum_{i=1}^k \lambda_i P_i.
$$
4) $A^n$ の表式:$P_iP_j=\mathbf{0}$ と $AP_i=\lambda_iP_i$ から帰納法で
$$
A^n=\sum_{i=1}^k \lambda_i^{\,n}P_i
$$
が成り立つ($A^2=\sum \lambda_i^2 P_i,\dots$)。$\square$ - 注意(非対角化の場合/Dunford 分解):$A$ が欠陥(ジョルダンブロック)を持つときにも、上の $P_i$ は定まる(Riesz 射影)。その場合
$$
A=\sum_{i=1}^k (\lambda_i P_i+N_i),\qquad N_i=(A-\lambda_i I)P_i,\ \ N_iP_j=P_jN_i=\mathbf{0}\ (i\ne j),
$$
各 $N_i$ は $V(\lambda_i)$ 上で冪零(ジョルダンの「1」が担う部分)となる。初学者段階ではまず「対角化可能な場合」の式を確実に身につけるのが良い。
(2) 正規行列(直交射影によるスペクトル分解)
- 主張:$A$ が正規行列($AA^\ast=A^\ast A$)なら、固有空間 $V(\lambda_i)$ 同士は直交し、$A$ は
$$
A=\sum_{i=1}^k \lambda_i P_i,\qquad A^n=\sum_{i=1}^k \lambda_i^{\,n}P_i
$$
と表せる。ここで $P_i$ は $V(\lambda_i)$ への直交射影($P_i^\ast=P_i$)で、$P_iP_j=\mathbf{0}$($i\ne j$)、$\sum_i P_i=I$。 - 証明(初学者向け)
1) 固有空間の直交性:$A\mathbf{x}=\lambda \mathbf{x},\ A\mathbf{y}=\mu \mathbf{y}$($\lambda\ne\mu$)とする。内積の性質と正規性より
$$
\lambda\langle \mathbf{x},\mathbf{y}\rangle=\langle A\mathbf{x},\mathbf{y}\rangle=\langle \mathbf{x},A^\ast\mathbf{y}\rangle=\overline{\mu}\langle \mathbf{x},\mathbf{y}\rangle
$$
したがって $(\lambda-\overline{\mu})\langle \mathbf{x},\mathbf{y}\rangle=0$。正規行列では固有値は必ずしも実とは限らないが、上式から $\langle \mathbf{x},\mathbf{y}\rangle=0$ が従う。
2) 直交射影の存在:各固有空間の直交補空間で直交分解ができ、直交射影 $P_i$ が存在する($P_i^\ast=P_i,\ P_i^2=P_i$)。
3) 表示式:対角化 $A=U\Lambda U^\ast$(ユニタリ対角化)を用いれば、$P_i=U E_i U^\ast$($E_i$ は $i$ 行目だけ 1 の対角行列)であり、
$$
A=\sum_i \lambda_i U E_i U^\ast=\sum_i \lambda_i P_i
$$
が成り立つ。$A^n$ も同様。$\square$
(3) エルミート行列(直交射影+固有ベクトルの積)
- 主張:$A=A^\ast$(エルミート)なら固有値はすべて実数で、固有空間は互いに直交する。よって
$$
A=\sum_{i=1}^k \lambda_i P_i,\qquad A^n=\sum_{i=1}^k \lambda_i^{\,n}P_i
$$
($P_i$ は直交射影)。さらに固有空間の正規直交基底 ${\,\mathbf{u}_{i,1},\dots,\mathbf{u}_{i,m_i}\,}$ を選べば
$$
P_i=\sum_{\alpha=1}^{m_i}\mathbf{u}_{i,\alpha}\mathbf{u}_{i,\alpha}^\ast,\qquad
A=\sum_{i=1}^k\sum_{\alpha=1}^{m_i}\lambda_i\,\mathbf{u}_{i,\alpha}\mathbf{u}_{i,\alpha}^\ast
$$
(固有ベクトルの外積による表現)。 - 証明(初学者向け)
1) 固有値が実:$A\mathbf{u}=\lambda\mathbf{u}$ に対し
$$
\lambda|\mathbf{u}|^2=\langle A\mathbf{u},\mathbf{u}\rangle=\langle \mathbf{u},A^\ast\mathbf{u}\rangle=\langle \mathbf{u},A\mathbf{u}\rangle=\overline{\lambda}|\mathbf{u}|^2
$$
より $\lambda=\overline{\lambda}$。
2) 直交性と直交射影:エルミートは正規なので (2) と同様、固有空間が直交。各 $V(\lambda_i)$ への直交射影 $P_i$ が存在し、$\sum_i P_i=I$。
3) 外積表示:$V(\lambda_i)$ の正規直交基底を並べた $U_i=[\mathbf{u}_{i,1}\ \cdots\ \mathbf{u}_{i,m_i}]$ に対し $P_i=U_iU_i^\ast=\sum_\alpha \mathbf{u}_{i,\alpha}\mathbf{u}_{i,\alpha}^\ast$。よって
$$
A=\sum_i \lambda_i P_i=\sum_i\sum_\alpha \lambda_i\,\mathbf{u}_{i,\alpha}\mathbf{u}_{i,\alpha}^\ast.
$$
$\square$
2. 特異値分解
(1) 定義
- 特異値分解(SVD):任意の $A\in\mathbb{C}^{m\times n}$ について、ユニタリ(実なら直交)行列 $U\in\mathbb{C}^{m\times m}$、$V\in\mathbb{C}^{n\times n}$ と非負対角(長方)行列 $\Sigma\in\mathbb{R}^{m\times n}$ が存在して
$$
A=U\Sigma V^\ast
$$
と書ける。$\Sigma$ の非零対角 $\sigma_1\ge\cdots\ge\sigma_r>0$ を 特異値、$U$ の対応列 $\mathbf{u}_i$ を 左特異ベクトル、$V$ の対応列 $\mathbf{v}_i$ を 右特異ベクトル という。
(2) 別表記
- 階数を $r=\mathrm{rank}(A)$ とすると、秩 $r$ のブロックを明示して
$$
\Sigma=
\begin{pmatrix}
\mathrm{diag}(\sigma_1,\dots,\sigma_r)&\mathbf{0}\\
\mathbf{0}&\mathbf{0}
\end{pmatrix},\qquad
A=\sum_{i=1}^r \sigma_i\,\mathbf{u}_i\mathbf{v}_i^\ast
$$
(後者は ランク1の外積の和 表現)。
(3) 証明(初学者にもわかる丁寧な導出)
1) $A^\ast A$ の対角化:$A^\ast A$ はエルミートかつ半正定値($x^\ast A^\ast A x=|Ax|^2\ge0$)。したがってユニタリ対角化
$$
A^\ast A=V\Lambda V^\ast,\qquad
\Lambda=\mathrm{diag}(\lambda_1,\dots,\lambda_n),\ \lambda_i\ge0
$$
ができる。
2) 特異値の定義:$\sigma_i:=\sqrt{\lambda_i}$ とおく(0 を含んでよい)。
3) 右特異ベクトル:$V=[\mathbf{v}_1,\dots,\mathbf{v}_n]$ を $A^\ast A$ の固有ベクトルのユニタリ基底にとる。
4) 左特異ベクトル:$\sigma_i>0$ なら
$$
\mathbf{u}_i:=\frac{1}{\sigma_i}A\mathbf{v}_i
$$
と定める($|A\mathbf{v}_i|^2=\mathbf{v}_i^\ast A^\ast A\mathbf{v}_i=\lambda_i=\sigma_i^2$ より単位長)。$\sigma_i=0$ のときは $\mathbf{u}_i$ を $A$ の像の直交補空間の正規直交基底で補う(Gram–Schmidt)。
5) $U$ の直交性:$\sigma_i,\sigma_j>0$ に対し
$$
\langle \mathbf{u}_i,\mathbf{u}_j\rangle =\frac{1}{\sigma_i\sigma_j}\langle A\mathbf{v}_i, A\mathbf{v}_j\rangle =\frac{1}{\sigma_i\sigma_j}\mathbf{v}_i^\ast A^\ast A \mathbf{v}_j =\frac{1}{\sigma_i\sigma_j}\lambda_j\,\mathbf{v}_i^\ast \mathbf{v}_j =\delta_{ij}.
$$
残りも補完で直交基底にできる。
6) 分解式:$AV=U\Sigma$ が成り立つ(第 $i$ 列が $A\mathbf{v}_i=\sigma_i\mathbf{u}_i$)。両辺に $V^\ast$ を右から掛けて
$$
A=U\Sigma V^\ast
$$
を得る。$\square$
(4) 例
$A=\begin{pmatrix}3&1\\0&2\end{pmatrix}$を特異値分解する。
1) $A^\ast A$ の固有値:実行列なので $A^\ast=A^{\mathsf T}$。
$$
A^\ast A=\begin{pmatrix}3&0\\1&2\end{pmatrix}\begin{pmatrix}3&1\\0&2\end{pmatrix}=\begin{pmatrix}9&3\\3&5\end{pmatrix}
$$
特性方程式
$$
\det\big(A^\ast A-\lambda I\big)=\begin{vmatrix}9-\lambda&3\\3&5-\lambda\end{vmatrix}=(9-\lambda)(5-\lambda)-9=\lambda^2-14\lambda+36.
$$
よって
$$
\lambda_{1,2}=7\pm\sqrt{13}.
$$
2) 特異値:
$$
\sigma_1=\sqrt{7+\sqrt{13}},\qquad \sigma_2=\sqrt{7-\sqrt{13}}.
$$
3) 右特異ベクトル:$\big(A^\ast A-\lambda I\big)\mathbf{v}=\mathbf{0}$ より、$(9-\lambda)x+3y=0$ を用いて
$$
\mathbf{v}_1\propto\begin{pmatrix}3\\ \lambda_1-9\end{pmatrix}
=\begin{pmatrix}3\\ -2+\sqrt{13}\end{pmatrix},\qquad
\mathbf{v}_2\propto\begin{pmatrix}3\\ \lambda_2-9\end{pmatrix}
=\begin{pmatrix}3\\ -2-\sqrt{13}\end{pmatrix}.
$$
正規化して $V=[\widehat{\mathbf{v}}_1\ \widehat{\mathbf{v}}_2]$ を作る($|\mathbf{v}_i|$ を各自計算して割る)。
4) 左特異ベクトル:$\mathbf{u}_i=\dfrac{1}{\sigma_i}A\,\widehat{\mathbf{v}}_i$ で得る(これも正規化されている)。$U=[\mathbf{u}_1\ \mathbf{u}_2]$。
5) 確認:$\Sigma=\mathrm{diag}(\sigma_1,\sigma_2)$ として $A\stackrel{?}{=}U\Sigma V^\ast$ を数値代入で確認できる。
6) 外積表示:
$$
A=\sigma_1\,\mathbf{u}_1\mathbf{v}_1^\ast+\sigma_2\,\mathbf{u}_2\mathbf{v}_2^\ast.
$$
(計算のこつ:まず $A^\ast A$ の固有値・固有ベクトルを精度よく求め、$\mathbf{v}_i$ を正規化してから $\mathbf{u}_i=(1/\sigma_i)A\mathbf{v}_i$ を作ると安定します。)
3. 特異値の性質
(1) 特異値と $\mathrm{rank}$
- 主張:$A$ の非零特異値の本数は $\mathrm{rank}(A)$ に等しい。
- 証明(2通り)
(a) $A=U\Sigma V^\ast$ とし、$\Sigma$ の非零対角の個数が $r$ とする。ユニタリ(直交)変換は階数を変えないので
$$
\mathrm{rank}(A)=\mathrm{rank}(\Sigma)=r,
$$
一方で $r$ は非零特異値の数。
(b) $A^\ast A$ の固有値は $\sigma_i^2$(特異値の二乗)で、$\mathrm{rank}(A^\ast A)=\mathrm{rank}(A)$。半正定値行列の階数は正の固有値の個数に等しいから、非零特異値の個数と一致する。$\square$
(2) フロベニウスノルム(成分二乗和=特異値二乗和)
- 主張:
$$
|A|_F^2=\sum_{i,j}|a_{ij}|^2=\sum_{i=1}^{\min(m,n)}\sigma_i^2.
$$ - 証明(トレースの不変性):
$$
|A|_F^2=\mathrm{tr}(A^\ast A)=\mathrm{tr}(V\Sigma^\ast U^\ast U\Sigma V^\ast)=\mathrm{tr}(V\Sigma^2 V^\ast)=\mathrm{tr}(\Sigma^2)=\sum_i \sigma_i^2.
$$
($U^\ast U=I,\ \mathrm{tr}(X)=\mathrm{tr}(S^{-1}XS)$ を使用。)$\square$
4. スペクトル分解の一般化(SVD を用いた「射影和」表示)
- 主張:SVD $A=U\Sigma V^\ast$ により、$A$ はランク1射影(外積)の和として
$$
A=\sum_{i=1}^r \sigma_i\,\mathbf{u}_i\mathbf{v}_i^\ast
$$
と分解できる。ここで $r=\mathrm{rank}(A)$、$\mathbf{u}_i$ は $U$ の第 $i$ 列、$\mathbf{v}_i$ は $V$ の第 $i$ 列で、$\mathbf{u}_i\mathbf{v}_i^\ast$ は列空間方向 $\mathbf{u}_i$ と行空間方向 $\mathbf{v}_i$ への「向き付き射影」を表す。 - 理由(初学者向けの説明):$\Sigma$ は対角なので
$$
\Sigma=\sum_{i=1}^r \sigma_i\,\mathbf{e}_i\mathbf{e}_i^\top
$$
($\mathbf{e}_i$ は標準基底)。よって
$$
A=U\Sigma V^\ast=\sum{i=1}^r \sigma_i\,U\mathbf{e}_i(\,V\mathbf{e}_i\,)^\ast=\sum_{i=1}^r \sigma_i\,\mathbf{u}_i\mathbf{v}_i^\ast.
$$
各項は「右から $\mathbf{v}_i^\ast$ で成分を取り出し、左へ $\mathbf{u}_i$ 方向に貼り付ける」という一次変換で、ランクが 1。これらが直交的に足し合わさって $A$ 全体の作用を再現する($U,V$ がユニタリで互いに直交する基底を与えるため)。最も寄与の大きい($\sigma_i$ が大きい)項から順に足すと近似が良くなる(低ランク近似の原理)。$\square$
コメント