現在, ゲート型量子コンピューターはいくつかの方式で実際に開発されてはいる(IBM, Google, Rigetti, IonQ, Honeywell etc.)ものの, ノイズによる影響が大きく正しい計算が行えない. そこで, そのようなノイズの影響を取り除くことができる誤り耐性型量子コンピューターが開発されるまではノイズのある量子コンピューター(Noisy Intermediate Scaled Quantum, NISQ)と付き合っていく必要がある. NISQ用のアルゴリズムとして近年変分法による, 古典コンピューターと量子コンピューターによるハイブリッドアルゴリズムが注目されており, その1つとしてVQE (Variational Quantum Eigensolver; 変分量子固有値ソルバー)が知られている. 本記事ではVQEアルゴリズムの数学とその応用例を紹介する.
なお, 現在量子コンピューターとそのアルゴリズム開発・(産業)応用に対して世界的に関心が高まっており, 米欧中を中心に盛んに研究されている. 日本でも内閣府の政策:
ムーンショット目標6
において, "2050年までに、経済・産業・安全保障を飛躍的に発展させる誤り耐性型汎用量子コンピュータを実現" が掲げられており, 来たる量子情報社会に向けた取り組みが行われている.
$\mathcal{H}$を有限次元複素ヒルベルト空間, $\mathcal{H}$の内積を$\langle\cdot,\cdot\rangle$で表し, この内積が誘導するノルムを$\|\cdot\|$で表す. ただし内積は, 量子力学あるいは量子情報科学の慣例に倣い, 右線型・左反線型とする. 本記事はVQEの数学についての解説を目的にしているためブラケット記法は採用せず, 通常の数学において取り扱われる記法を用いる.
$\mathcal{H}$は有限次元であるため, $n=\textrm{dim}\,\mathcal{H}$に対し$\mathcal{H}\simeq\mathbb{C}^n$である. 以後, $\mathcal{H}$を$\mathbb{C}^n$, 作用素を対応する行列, その他適宜読み換えてよい.
次の問題を考えよう.
$\mathcal{H}$上のエルミート作用素$A$に対し, 最小固有値とその固有ベクトルを求めよ.
この問題は, 筆者は詳しくないが, 物理や量子化学において系の最小エネルギーとその基底状態を求める重要な問題であるという. これを数学的に表現したものが上記である.
このような固有値に関する問題に対しては, 誤り耐性型量子コンピューターでは量子位相推定アルゴリズム(_quantum phase estimation_)が知られているが, 必要となるゲート(ユニタリー作用素)の数が非常に多く, 精度に応じて必要な量子ビット数も増加するため, NISQデバイス用としては難しいといわれている.
ここに量子計算のための基礎的な事項を整理しておく. より詳しくはNielsen-Chuang [2], 石坂[4]などを参照されたい.
$u\in\mathcal{H}$で$\|u\|=1$なるものを状態とよぶ. また, 状態$u,v\in\mathcal{H}$がある$\alpha\in\mathbb{C},|\alpha|=1$に対し$v=\alpha u$であるとき, これらを状態として区別しない.
$\mathcal{H}^*$を$\mathcal{H}$の双対空間, すなわち$\mathcal{H}$上の有界線型汎関数全体とする. $u\in\mathcal{H}$に対し, リースの表現定理による$\mathcal{H}^*$との対応を$u^*$で表す. すなわち, $u^*\colon \mathcal{H}\ni x\mapsto \langle u, x \rangle\in\mathbb{C}$である.
$A$を$\mathcal{H}$上のエルミート作用素とする. このとき, $A$は実数の固有値を持ち, 次が成り立つ:
$A$を$\mathcal{H}$上のエルミート作用素, スペクトル分解$A=\sum_j\lambda_j P_j$とする. また, $u\in\mathcal{H}$を状態とする. このとき,
\begin{align*}
F(x) = \sum_{j:\,\lambda_j\leq x}\langle u,P_ju\rangle = \sum_{j:\,\lambda_j\leq x}\|P_ju\|^2, \quad x\in\mathbb{R}
\end{align*}
とおくと, $F$は右連続な単調非減少関数である. したがって, $F$のルベーグ・スチルチェス測度$\mu:=dF$はボレル可測空間$(\mathbb{R},\mathcal{B}(\mathbb{R}))$上の確率測度である. 特に$\delta_a$で$a$に集中するディラック測度とすると,
\begin{align*}
\mu = \sum_j \|P_ju\|^2 \delta_{\lambda_j}
\end{align*}
である.
$\Omega=\mathbb{R}$, $\mathcal{F}=\mathcal{B}(\mathbb{R})$, $P=\mu$とおく.
\begin{align*}
X(\omega)=\omega, \quad \omega\in\Omega
\end{align*}
と定めると, $X$は$(\Omega,\mathcal{F})$上で定義された可測関数である. また$X$は確率空間$(\Omega,\mathcal{F},P)$上の確率変数である.
状態$u\in\mathcal{H}$のエルミート作用素$A$を測定するとは, 上で定めた確率変数$X$をサンプルすることである. エルミート作用素は物理量と呼ばれる.
定義より直ちに
\begin{align*}
E[X]
&= \int X \,dP \\[.5em]
&= \sum_j\lambda_j\langle u,P_ju\rangle = \langle u,Au\rangle
\end{align*}
が分かる.
次は線型代数でもよく知られている命題である.
$A$を$\mathcal{H}$上のエルミート作用素とし, $A$の最小固有値を$\lambda\in\mathbb{R}$とする. このとき,
\begin{align*}
\lambda = \min_{\|u\|=1}\langle u,Au\rangle
\end{align*}
が成り立つ.
固有値分解$A=\sum_{j} \lambda_j e_je_j^*$とする. このとき, 任意の$u\in\mathcal{H}$に対し,
\begin{align*}
\langle u,Au\rangle = \sum_j \lambda_j|\langle e_j,u\rangle|^2
\end{align*}
であることより主張を得る.
$\mathcal{H}$を有限次元複素ヒルベルト空間とする.
$\mathcal{H}$上のパラメータ付けされたユニタリー作用素の族$(U(\theta))_{\theta\in\Theta}$をansatzという.
$\mathcal{H}=\mathbb{C}^2$, $\theta\in\mathbb{R}$とすると,行列
\begin{align*}
R_x(\theta) &=
\begin{pmatrix}
\cos\frac{\theta}{2} &-i\sin\frac{\theta}{2} \\
-i\sin\frac{\theta}{2} & \cos\frac{\theta}{2}
\end{pmatrix}, ~~
R_y(\theta) =
\begin{pmatrix}
\cos\frac{\theta}{2} &-\sin\frac{\theta}{2} \\
\sin\frac{\theta}{2} & \cos\frac{\theta}{2}
\end{pmatrix}, ~~
R_z(\theta) =
\begin{pmatrix}
e^{-i\frac{\theta}{2}} & 0 \\
0 & e^{i\frac{\theta}{2}}
\end{pmatrix}
\end{align*}
はパラメータ付きユニタリー作用素である. これらの組合せはansatzに用いられる.
さて, VQEについて説明する.
初期状態$u\in\mathcal{H}$, $\mathcal{H}$上のansatz$(U(\theta))_{\theta\in\Theta}$とし, $u(\theta)=U(\theta)u$とおく. ただし, $\Theta\subset\mathbb{R}^d$とする. また$A$を$\mathcal{H}$上のエルミート作用素とする.
$L(\theta)=\langle u(\theta), Au(\theta)\rangle$とおく. このとき, $U(\theta)$が$\theta$に関して強連続ならば, $L$は$\theta$に関して連続である. よって, $\Theta$がコンパクトであれば$L$は$\Theta$において最小値を持つ. $L(\theta)$の計算をNISQマシン(量子コンピューター)が担当し, 最小化・最適化アルゴリズムを古典コンピューターが担当するハイブリッドアルゴリズムがVQEである. 以上の手順によって, $\textrm{arg}\min_{\theta\in\Theta} L(\theta)$の近似値$\tilde{\theta}$を得られることが期待できる. まとめると次の通りである.
VQE:
7.で用いられる最適化アルゴリズムとしてBFGS法をはじめ, 深層学習でよく用いられるAdam等が挙げられる. 変分量子計算に特化した最適化アルゴリズムとしてはNakanishi-Fujii-Todo法(NFT法)が近年提案されている. NFT法はIBM QiskitにもAPIが実装されている.
変分原理により, ansatzが適切であれば$L(\tilde{\theta})$は最小固有値を, $u(\tilde{\theta})$はその固有状態を近似することが期待される. 実際, 次が知られている.
$A$の固有値を$\lambda_0<\lambda_1\leq \cdots\in\mathbb{R}$とする. $\lambda_0$の重複度を1とし, 対応する固有状態(単位固有ベクトル)を$e_0\in\mathcal{H}$とする. さらに, $|\langle x,e_0\rangle-1/2|\leq 1/2$とする. このとき次の不等式が成り立つ:
\begin{align*}
\|x-e_0\|^2\leq 2\cdot \frac{\langle x,Ax\rangle-\lambda_0}{\lambda_1-\lambda_0}.
\end{align*}
略. 練習問題とする.
命題2と同じ仮定とする. このとき, $|\langle u(\theta),e_0\rangle-1/2|\leq 1/2$を満たす任意の$\theta\in\Theta$に対し,
\begin{align*}
\|u(\theta)-e_0\|^2\leq 2\cdot\frac{L(\theta)-\lambda_0}{\lambda_1-\lambda_0}
\end{align*}
である. したがって, $(\theta_k)_{k=0}^\infty\subset\Theta$に対し, 十分大きな$k$で$|\langle u(\theta_k),e_0\rangle-1/2|\leq 1/2$を満たし, かつ$\lim_{k\to\infty}L(\theta_k)=\lambda_0$ならば$\lim_{k\to\infty}u(\theta_k)=e_0$である.
$\mathcal{H}=\mathbb{C}^n$, 正則行列$A\in\mathbb{C}^{n\times n}$, $b\in\mathbb{C}^n$とする. 未知変数$x\in\mathbb{C}^n$とする, 次の線型方程式を考える:
\begin{align}
Ax=b. \tag{1}
\end{align}
$H=A^*(I-bb^*)A$とおく. このとき次が成り立つ:
$H$は半正定値エルミート行列でその最小固有値は$0$である. さらに, 方程式(1)の解は$H$の固有値$0$に対応する固有ベクトルである.
$H$がエルミートであることは明らか. 残りの主張は, $I-bb^*$が$b$によって張られる部分空間の直交補空間への直交射影であることから分かる.
以上より, $H$に対してVQEを適用し,
\begin{align*}
\langle u(\tilde{\theta}), Hu(\tilde{\theta})\rangle \approx \min_{\theta\in\Theta} \langle u(\theta),Hu(\theta)\rangle
\end{align*}
を求めることで方程式(1)の解の近似値$u(\tilde{\theta})$が得られる.
他にも, 特に分子動力学や第一原理計算において基底状態を求めるのに有効とのことである. 筆者は当該分野に全く詳しくないので, 興味のある読者は当該分野の専門家や専門書籍を参照されたい.
その他, 金融・ファイナンス分野への適用については本記事に追記, または別記事にて紹介するかもしれない.
量子コンピューターといえば大人気アニメ「神様になった日」が思い起こされる. エンディングテーマ「Goodbye Seven Seas」は神曲なので是非聞いてみて欲しい.