6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ブラケット記法で理解する特異値分解(SVD)

6
Last updated at Posted at 2025-12-08

はじめに

 PhysiKyuのAdventCalendar2025の9日目です.M1のどんぺんが記事を書かせていただきます.今は数学系専攻の修士ですが,元々学部時代は物理学科の情報理学コースというところにいて,そのときからPhysiKyuにはお世話になっています.今年度は忙しくてあまり顔出せていないですが,こういう人もいるんだなと思ってもらえれば幸いです.

導入

 みなさんは線形代数で「固有値問題」や「行列の対角化」を学び,物理のさまざまな場面で自然に使っていると思います.ところが学部の線形代数では「特異値分解(Singular Value Decomposition, SVD)」という強力な手法はほとんど取り上げられません.
 一方でSVDは,情報系・工学系では非常に知名度が高く,数値計算・統計・機械学習など,幅広い応用分野で欠かせないツールとなっています.さらに物理の世界でも,量子情報・テンソルネットワーク・計算物理といった領域で頻繁に使われているそうです.
 名前からして何だか聞き馴染みがなくて難しそうですが,SVDは実は行列の対角化を自然に拡張しただけのシンプルなアイデアです.本記事では,みなさんに馴染みのあるブラケット記法を使いながら,SVDの主張とその証明,そして量子情報における応用例(Schmidt分解など)を紹介したいと思います.
 一つ断りを入れておくと,あくまで本記事は「数学の定理をしっかり目に解説しよう」というスタンスで書いているので,必然的に数式がメインになっていることにご了承ください.その分できるだけ語弊がない表現を使うように努めたので,お付き合いいただければと思います.

特異値分解とは

設定

 有限次元(複素)ヒルベルト空間$\mathcal{H}, \mathcal{K}$を考え,$\dim\mathcal{H}=n, \dim\mathcal{K}=m$とします.仰々しくヒルベルト空間と言っていますが,有限次元なので単に内積空間のことです1.また有限次元なので,特に抽象ベクトル空間に慣れていない人は,数ベクトル空間$\mathcal{H}=\mathbb{C}^n, \mathcal{K}=\mathbb{C}^m$のつもりで読み進めてもらって大丈夫です.(線形)演算子$A: \mathcal{H} \to \mathcal{K}$2を考えます.こちらも抽象ベクトル空間に慣れていない人は,$\mathbb{C}^n$から$\mathbb{C}^m$への線形写像,もっと言うと$m \times n$行列だと思って大丈夫です.

特異値分解

 $r = \mathrm{rank}(A) = \mathrm{rank}(A^\dagger A)$3とおきます.一般に$r \leq \min(m,n)$であることに注意します.

🔶(特異値分解,SVD)$\mathrm{Im}(A^\dagger A)(\subset \mathcal{H})$の完全正規直交系4$\ket{v_1}, \cdots, \ket{v_r}$,$\mathrm{Im}(A)(\subset \mathcal{K})$の完全正規直交系$\ket{u_1}, \cdots, \ket{u_r}$,正実数の減少列$s_1 \geq s_2 \geq \cdots \geq s_r (> 0)$があり,

A = \sum_{i=1}^r s_i \ket{u_i} \bra{v_i}

と展開できる.5

 $A$は$\mathrm{Ker}(A)$のベクトルを全て0に送りますが,残りの$\mathrm{Ker}(A)^\perp = \mathrm{Ker}(A^\dagger A)^\perp = \mathrm{Im}(A^\dagger A)$36の基底に対しては,スケーリングしてから$\mathrm{Im}(A)$の基底に移す,というイメージでしょうか.
 特異値分解はスペクトル分解(対角化)と形は似ているものの,入力空間の次元$n$と出力空間の次元$m$が異なる場合でも,またエルミート演算子や正規演算子でない場合でも成り立つので,非常に汎用性が高いです.なお$\ket{v_i}, \ket{u_i}$の取り方には自由度がありますが,$s_i$は一意であり,$A$の特異値といいます.$s_i$の一意性は,特異値分解の下で$A^\dagger A = \sum_{i=1}^r s_i^2 \ket{v_i}\bra{v_i}$が得られ,これが$A^\dagger A$のスペクトル分解を与えている(特に$A^\dagger A$の$n$個の固有値が大きい方から$s_1, \cdots, s_r, 0, \cdots, 0$である)ことからわかります.

行列の場合

 数ベクトル空間$\mathcal{H}=\mathbb{C}^n, \mathcal{K}=\mathbb{C}^m$の場合は行列で書けます.$m \times r$行列$U = (\ket{u_1}, \cdots, \ket{u_r})$,$n \times r$行列$V = (\ket{v_1}, \cdots, \ket{v_r})$,および$r$次対角行列$D = \mathrm{diag}(s_1, \cdots, s_r)$を用いて,$m \times n$行列$A$は

A = U D V^\dagger

と書けることになります.この形も,任意の行列が「回転→スケーリング→回転」の構造に分解できることを意味していて面白いです.
 一般に$U,V$は正方行列ではありませんが,それぞれ適切に正規直交系を追加することで

\tilde{U} = (\ket{u_1}, \cdots, \ket{u_r}, \ket{u_{r+1}}, \cdots, \ket{u_m}), \tilde{V} = (\ket{v_1}, \cdots, \ket{v_r}, \ket{v_{r+1}}, \cdots, \ket{v_n})

を正方行列,特にユニタリ行列にすることができます.このとき$s_{r+1} = s_{r+2} = \cdots = 0$と置くことで,SVDは次のように表現されます.

  • (i) $n>m$のとき
A = \tilde{U} 
\left[
\begin{array}{ccc|c}
s_1      &        & \huge{0} &          \\
         & \ddots &          & \huge{0}_{m \times (n-m)} \\
\huge{0} &        & s_m      &       \\
\end{array}
\right]
\tilde{V}^\dagger
  • (ii) $n<m$のとき
A = \tilde{U} 
\left[
\begin{array}{cccc}
s_1      &          & \huge{0} \\
         & \ddots   &          \\
\huge{0} &          & s_n      \\ \hline
         & \huge{0}_{(m-n) \times n} & 
\end{array}
\right]
\tilde{V}^\dagger
  • (iii) $n=m$のとき
A = \tilde{U} 
\left[
\begin{array}{cccc}
s_1      &          & \huge{0} \\
         & \ddots   &          \\
\huge{0} &          & s_n
\end{array}
\right]
\tilde{V}^\dagger

証明

 特異値分解の証明は,エルミート演算子のスペクトル分解を認めてしまえばそれほど難しくありません.$A^\dagger A: \mathcal{H} \to \mathcal{H}$は(半)正定値エルミート演算子なので,固有方程式

A^\dagger A \ket{v_i} = \lambda_i \ket{v_i},
\quad
1 \leq i \leq n 

を満たす$\mathcal{H}$の完全正規直交系$\ket{v_1}, \cdots, \ket{v_n}$と固有値$\lambda_1, \cdots, \lambda_n \geq 0$が存在し,

A^\dagger A = \sum_{i=1}^n \lambda_i \ket{v_i}\bra{v_i}

とスペクトル分解(対角化)されます.特に固有値の順番を並び替えて$\lambda_1 \geq \cdots \geq \lambda_r > 0, \lambda_{r+1} = \cdots = \lambda_n = 0$($r=\mathrm{rank}(A^\dagger A)$に注意)としても一般性を失いません.$\ket{v_1}, \cdots, \ket{v_r}$は$\mathrm{Im}(A^\dagger A)$の完全正規直交系であることに注意します.$i>r$に対しては,$||A\ket{v_i}||^2 = \bra{v_i} A^\dagger A \ket{v_i} = 0$より$A\ket{v_i}=0$となります.一方$1 \leq i \leq r$に対しては,$\ket{u_i} = \frac{1}{\sqrt{\lambda_i}}A\ket{v_i} \in \mathrm{Im}(A)$とおくと
$$
\braket{u_i | u_j} = \frac{1}{\sqrt{\lambda_i \lambda_j}} \bra{v_i} A^\dagger A \ket{v_j} = \frac{1}{\sqrt{\lambda_i \lambda_j}} \lambda_j \braket{v_i | v_j} = \delta_{ij}
$$
となるので,$\ket{u_1}, \cdots, \ket{u_r}$は$\mathrm{Im}(A)$の完全正規直交系です.そこで$\ket{v_1}, \cdots, \ket{v_n}$が$\mathcal{H}$の完全系であることを使えば,

A = \sum_{i=1}^n A\ket{v_i}\bra{v_i} = \sum_{i=1}^r \sqrt{\lambda_i} \ket{u_i}\bra{v_i}

が得られ,$s_i = \sqrt{\lambda_i}$とおけば特異値分解が示されます.

量子情報での応用例(Schmidt分解)

 $\mathcal{H}$を$n$次元ヒルベルト空間,$\mathcal{K}$を$m$次元ヒルベルト空間とし,そのテンソル積ヒルベルト空間の単位ベクトル$\ket{\psi} \in \mathcal{H} \otimes \mathcal{K}$を考えます.量子情報分野においては,$\ket{\psi}$(正確には$\ket{\psi}\bra{\psi}$)は複合量子系$ \mathcal{H} \otimes \mathcal{K}$における純粋状態と解釈されます.$\mathcal{H}$の完全正規直交系$\ket{e_1}, \cdots, \ket{e_n}$と$\mathcal{K}$の完全正規直交系$\ket{f_1}, \cdots, \ket{f_m}$をそれぞれ取ってきたとき,$(\ket{e_i} \otimes \ket{f_j})_{1 \leq i \leq n, 1 \leq j \leq m}$は$\mathcal{H} \otimes \mathcal{K}$の完全正規直交系をなし,

\ket{\psi} = \sum_{i=1}^n \sum_{j=1}^m a_{ij} \ket{e_i} \otimes \ket{f_j}

と展開できます.Schmidt分解とは,これがより簡単に一つの$\sum$で表せるという主張です.

🔶(Schmidt分解)自然数$r \leq\mathrm{min}(n,m)$,$\mathcal{H}$の正規直交系$\ket{\alpha_1}, \cdots, \ket{\alpha_r}$,$\mathcal{K}$の正規直交系$\ket{\beta_1}, \cdots, \ket{\beta_r}$,および$s_1, \cdots, s_r > 0$であって$\sum_{k=1}^r s_k^2 = 1$を満たすものが存在し,

\ket{\psi} = \sum_{k=1}^r s_k \ket{\alpha_k} \otimes \ket{\beta_k}

と展開できる.

❤️証明:演算子$A: \mathcal{H} \to \mathcal{K}$を

A = \sum_{i=1}^n \sum_{j=1}^m a_{ij} \ket{f_j} \bra{e_i}

で定めると,$\ket{\psi} = \sum_{i=1}^n \ket{e_i} \otimes A\ket{e_i}$と書ける.$A$の特異値分解を$A = \sum_{k=1}^r s_k \ket{u_k} \bra{v_k}$とすると,

\ket{\psi} = \sum_{i=1}^n \ket{e_i} \otimes (\sum_{k=1}^r s_k \ket{u_k} \braket{v_k | e_i}) = \sum_{k=1}^r s_k (\sum_{i=1}^n \braket{v_k | e_i} \ket{e_i}) \otimes \ket{u_k}

そこで

\ket{\alpha_k} = \sum_{i=1}^n \braket{v_k | e_i} \ket{e_i}, 
\quad
\ket{\beta_k} = \ket{u_k},
\quad
1 \leq k \leq r

とおくと,$\ket{\alpha_1}, \cdots, \ket{\alpha_r}$と$\ket{\beta_1}, \cdots, \ket{\beta_r}$はそれぞれ$\mathcal{H}$と$\mathcal{K}$の正規直交系になり,$\ket{\psi} = \sum_{k=1}^r s_k \ket{\alpha_k} \otimes \ket{\beta_k}$が成り立つ.また$\sum_{k=1}^r s_k^2 = 1$は正規化条件$\braket{\psi | \psi} = 1$から従う.(証明終😁)

 Schmidt分解において$\ket{\alpha_k}, \ket{\beta_k}$の取り方には自由度がありますが,$s_1, \cdots, s_r$は並べ替えを除いて一意であり,$\ket{\psi}$のSchmidt数といいます.また$r$を$\ket{\psi}$のSchmidtランクといいます.$s_k$の一意性は,

\ket{\psi}\bra{\psi} = \sum_{k=1}^r \sum_{l=1}^r s_k s_l \ket{\alpha_k}\bra{\alpha_l} \otimes \ket{\beta_k}\bra{\beta_l}

の部分トレース7をとった

\mathrm{Tr}_{\mathcal{K}}\ket{\psi}\bra{\psi} = \sum_{k=1}^r s_k^2 \ket{\alpha_k}\bra{\alpha_k}, 
\quad
\mathrm{Tr}_{\mathcal{H}}\ket{\psi}\bra{\psi} = \sum_{k=1}^r s_k^2 \ket{\beta_k}\bra{\beta_k}, 

がそれぞれスペクトル分解になっていることからわかります.また上の式から,複合系において純粋状態であった量子状態が,部分系を見ると(一般には)混合状態8になっていて,さらに各部分系の確率分布が一致することがわかります.このとき各部分系のエントロピーはともに

S_{ent}(\ket{\psi}) = -\sum_{k=1}^r s_k^2 \ln(s_k^2)

という値をとり,これをエンタングルメント・エントロピーと呼びます.以上のことから,次の重要な事実が従います.

🔶(純粋状態のエンタングルメント9判定条件10)純粋状態$\ket{\psi} \in \mathcal{H} \otimes \mathcal{K}$に対し次は同値.

  • (i) $\ket{\psi}$はセパラブル状態(エンタングル状態でない)
  • (ii) $\ket{\psi}$のSchmidtランクは1
  • (iii) $\mathrm{Tr}_{\mathcal{K}}\ket{\psi}\bra{\psi}$が純粋状態
  • (iV) $S_{ent}(\ket{\psi}) = 0$

 逆に,$\mathcal{H}$における混合量子状態8$\rho$が与えられたとき,次元が$r=\mathrm{rank}(\rho)$以上の別のヒルベルト空間$\mathcal{K}$を用意すれば,$\mathcal{H} \otimes \mathcal{K}$上の純粋状態$\ket{\psi}$であって$\mathrm{Tr}_{\mathcal{K}}\ket{\psi}\bra{\psi} = \rho$となるものを取ることができます(Schmidt分解の逆を辿れば良いです).これは混合量子状態の純粋化といい,こちらもSchmidt分解と同様に量子情報分野で大変有用な手法です.
 Schmidt分解から明らかなように,Schmidt数$s_1, \cdots, s_r$は局所ユニタリ変換

\ket{\psi} \mapsto (U_{\mathcal{H}} \otimes U_{\mathcal{K}})\ket{\psi}

で不変です.従ってエンタングルメントも局所ユニタリ変換で不変だとわかります.逆に言えば,一般の非局所ユニタリ変換

\ket{\psi} \mapsto U\ket{\psi}

は純粋状態のエンタングルメントを保存しません.
⭐️例:複合qubit系$\mathbb{C^2} \otimes \mathbb{C^2} = \mathbb{C}^4$上のエンタングルしていない純粋状態$\ket{00} = \left[\begin{array}{c}1 \ 0 \ 0 \ 0\end{array}\right]^T$に対し,片方の量子系だけに作用するHadamardゲート

H \otimes I = 
\frac{1}{\sqrt2} \left[ \begin{array}{cc}
1 & 1 \\
1 & -1 
\end{array} \right] \otimes I
= 
\frac{1}{\sqrt2} \left[ \begin{array}{cccc}
1 & 0 & 1 & 0 \\
0 & 1 & 0 & 1 \\
1 & 0 & -1 & 0 \\
0 & 1 & 0 & -1
\end{array}
\right]

およびCNOTゲート

C_{NOT} = 
\left[ \begin{array}{cccc}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 \\
0 & 0 & 1 & 0
\end{array}
\right]

を連続して作用する量子回路を考えます.$H \otimes I$と$C_{NOT}$はそれぞれユニタリなので$C_{NOT} (H \otimes I)$もユニタリですが,局所ユニタリではありません.実際に$\ket{00}$に作用すると

C_{NOT} (H \otimes I) \ket{00} = \frac{1}{\sqrt2}(\ket{00} + \ket{11}) =: \ket{\psi^+}

となりますが,これはBell状態として知られるもので,エンタングル状態です.実際,部分トレースを計算すると

\mathrm{Tr}_{\mathcal{K}}(\ket{\psi^+}\bra{\psi^+}) = \frac{1}{2}(\ket{0}\bra{0} + \ket{1}\bra{1}) = \frac{I}{2}

となり,確かにこれは混合状態です.さらにエンタングルメント・エントロピーを計算すると$\ln2$になりますが,これは最大エントロピーです(部分系は完全に混合した状態になっている).

終わりに

 ここで扱えたのはSVDのごく基本的な主張と証明だけです.SVDのイメージを掴むために,実際に手を動かして行列を特異値分解してみること(やり方は上で紹介した証明をなぞるだけです)を,ぜひ各自で試してみてください.
 本記事の目的は,みなさんが今後,物理の研究や就職後の業務などでSVDに出会ったとき,「まったく初めて見る概念」にならないようにすることでした.今回触れた内容が,みなさんの頭の片隅にSVDを残す助けになれば嬉しく思います.

参考文献

  • Quantum Computation and Quantum Information(Michael A. Nielsen, Isaac L. Chuang)
  • 行列解析から学ぶ量子情報の数理[SGCライブラリ183](日合文雄)
  • 数理科学のための関数解析(泉正己)
  1. 無限次元のときは,単に内積空間であるだけでなく,完備性という極限に関する良い性質を備えたもののことをヒルベルト空間と呼びます.

  2. ヒルベルト空間の間の線形写像のことを,量子論の文脈ではよく演算子と言いますよね.英語ではoperatorなのですが,全く同じ概念が数学(特に関数解析)では作用素と呼ばれています.分野間で和訳が違っていて何とも気持ち悪いです.

  3. よく知られた線形代数の事実として$\mathrm{Ker}(A) = \mathrm{Ker}(A^\dagger A)$(証明容易)があり,これと次元定理から$\mathrm{rank}(A) = \mathrm{rank}(A^\dagger A)$つまり$\mathrm{Im}(A) \simeq \mathrm{Im}(A^\dagger A)$です. 2

  4. 線形代数でいうところの正規直交基底のことです.任意のベクトルを展開できるという意味が「基底」と「完全」のどちらにも込められているわけですが,無限次元ヒルベルト空間を考えるときは「完全正規直交系」というのが普通です.「正規直交系」と「正規直交基底」が混在すると見間違えるので,「完全」の方を採用しました.

  5. $\mathcal{H}, \mathcal{K}$が無限次元ヒルベルト空間のときは,$A$がコンパクト作用素というクラスに属していれば,特異値分解(の無限和ver.)が成り立つことが知られています.これはコンパクト作用素の標準形などと言われ,関数解析において非常に基本的な定理です.この意味で数学科の学生は特異値分解に(そうとは知らずに)触れる機会があるのかもしれません.

  6. 一般に有限次元ヒルベルト空間の間の演算子$B$に対し$\mathrm{Im}(B) = \mathrm{Ker}(B^\dagger)^\perp$です.

  7. $\mathcal{K}$についての部分トレースとは,$\mathcal{H}$上の演算子$A$と$\mathcal{K}$上の演算子$B$に対し$\mathrm{Tr}_{\mathcal{K}}(A \otimes B) = (\mathrm{Tr}B)A$と定義したものを線形拡張したものです.$\mathcal{K}$について部分トレースを取った後は$\mathcal{H}$上の演算子になることに注意です.$\mathcal{H}$についての部分トレースも同様です.部分トレースは,物理的には複合量子系から部分系を取り出す操作と解釈されます.

  8. 有限次元量子系$\mathcal{H}$における混合状態とは,$\mathcal{H}$上の半正定値エルミート演算子$\rho$で,トレースが1のものとして定義されます.このような$\rho$はスペクトル分解$\rho = \sum_{i=1}^n p_i \ket{e_i}\bra{e_i}$され,固有値$p_i$は$p_i \geq 0, \sum_{i=1}^n p_i = 1$を満たすので,純粋状態を確率的に重ね合わせたものと捉えられます.混合状態$\rho$が純粋状態であるための条件は,ある一つの$i$について$p_i=1$で,他の$j \ne i$について$p_j=0$となることですが,他にも同値な条件として$\mathrm{Tr}(\rho^2)=1$や$S(\rho)=0$($S(\rho) = \mathrm{Tr}(-\rho \ln\rho)$はエントロピー)などが知られています.なお,上のスペクトル分解から安直に「確率$p_i$で純粋状態$\ket{e_i}$にある」と解釈するのは,一般には間違いです.というのも,固有値に縮退がある場合,同一の固有値に対応する固有ベクトルたちの取り方には,固有空間内の基底変換分の任意性があり,上に書いたスペクトル分解は一意な表記ではないからです.確率的な解釈により適したスペクトル分解の形式は,$\rho = \sum_{\alpha} q_{\alpha} P_{\alpha}$(固有値$q_{\alpha} \geq 0$は相異なり$\sum_{\alpha}q_{\alpha}=1$を満たし,$P_{\alpha}$は固有値$q_{\alpha}$に対応する固有空間への射影演算子)であり,この表記は一意です.このスペクトル分解の(正しい)物理的解釈は,系の状態がどの固有空間に属するかの確率が固有値$q_{\alpha}$で与えられる(この部分は古典的な混合)が,固有空間$\mathrm{Im}(P_{\alpha})$内のどの状態にあるかは,観測によっても完全に区別できない(ここが量子的なアンサンブル)というものです. 2

  9. 複合量子系$\mathcal{H} \otimes \mathcal{K}$における純粋状態$\ket{\psi}\bra{\psi}$がセパラブル状態であるとは,ある$\ket{\alpha} \in \mathcal{H}, \ket{\beta} \in \mathcal{K}$を用いて$\ket{\psi} = \ket{\alpha} \otimes \ket{\beta}$と書けることと定義されます.$\ket{\psi}\bra{\psi}$がエンタングル状態であるとは,セパラブル状態でないことと定義されます.混合状態がセパラブル/エンタングルであることの定義はより複雑で,純粋セパラブル状態の凸結合で書ける/書けないことと定義されます(他にも同値な定義がありますが,ここでは深入りしません).

  10. 混合状態に対するエンタングルメント判定問題はより難しくなります.

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?