@hikaruwakaura 2019.01.08更新 167views

【量子化学】制限付きVQE法(1/2)

VQE ゲート 量子コンピュータ 量子力学 量子化学

概要

ラグランジュの未定係数法をご存知だろうか?統計力学の最初の授業で触れる読者が多いことだろうが、これが条件付き最小値問題を解く方法の一つとして知られている。この方法は計算科学や計算物理ではエネルギーの極小値を解く方法としてごく一般的に使用されており、量子化学計算の対象となる分子系の計算でもまた然りである。その一般系は、汎関数全体をL、極小値を求める対象の関数を$E(\theta_0,\theta_1,\cdots,\theta_n)$、i番目の束縛条件式を$C_i$、その係数を$α_i$とすると、

$L=E(\theta_0,\theta_1,\cdots,\theta_n)+\sum_{i=0}^{N}\alpha_i C_i -(1)$

となる。このLをすべての変数について1回微分し、すべての微分が0になる点を探すというものである。今回、このラグランジュの未定係数法とVariational Quantum Eigensolver(VQE)法を組み合わせて、量子化学計算を行う論文[1]の結果が再現できたのでこれを報告する。なお、この記事は全2回構成である。

復習:Variational Quantum Eigensolver(VQE)


この章ではVariational Quantum Eigensolver(VQE)法について復習し、計算の概略を説明する。この方法は第二量子化された多体問題の電子ハミルトニアンを解いてエネルギー固有値を求める過程を、量子計算機を使って行うアルゴリズムである。まず、シュレディンガーの波動関数は、

$H\mid \Psi(0)\rangle = i\hbar\partial/\partial t \mid \Psi(0) \rangle -(2)$

とあらわされる。ここで、Hはハミルトニアン、$\mid \Psi(0) \rangle$は波動関数の初期状態である。このハミルトニアンは粒子の生成・消滅演算子表記のものから、量子計算機で取り扱えるようパウリ演算子表現に直されなければならない。その方法にJordan-Wigner変換とBravyi-Kitaev変換[2]があるが、ここではその詳しい方法については割愛する。上の方程式を解いて、波動関数は、

$\mid \Psi(t) \rangle = exp(-i/\hbar H t)\mid \Psi(0)\rangle -(3)$

とあらわされる。右辺の指数項はハミルトニアンの各項の積にしなければ、量子計算機に載らない。そのため、鈴木・トロッター分解を用いて、指数項を、

$exp(-i/\hbar H t)\rightarrow (\Pi_{j=0}^{N_{terms}}exp(-i/\hbar h_j P_j t))^d -(4)$

と直す。$h_j$の値は決まっているが、鈴木・トロッター分解はその係数が小さくなければ精度が悪くなるので、そこに最適化のための変数$\theta_j$を掛けることで、最適化変数を角度×時間の形であらわして波動関数の最適化が可能になる[3]。実際の計算では、dをそれほど大きくすることはできないからである。こうして求めた式(3)の波動関数でハミルトニアンを挟んだエネルギー

$\langle \Psi(t) \mid H \mid \Psi(t) \rangle = E(\theta_0,\theta_1,\cdots,\theta_n)$

を最小化する一連のアルゴリズムがVQE法の概要である。

ここからは、上の流れを量子計算機でどのように実装するかについて説明する。式(4)の指数項を実装する量子回路はFig. 1のようになる。$h_j P_j$は係数×パウリ演算子の積になっている。例えば、$exp(-i\theta/2 \sigma_0^x \sigma_1^y \sigma_2^z \sigma_3^x)$を実装したい場合は、左のゲートには下からそれぞれ$H,R_x(\pi/2),I,H$を、右のゲートにはその共役ゲートをそれぞれかければいい。


Fig. 1 時間発展を実装する量子回路。これは$exp(-i\theta/2\sigma_0^\alpha \sigma_1^\beta \sigma_2^\gamma \sigma_3^\delta)$を実装する。右の表は左の図におけるゲートGにおいてかけるゲート処理とα、β、γ、δのそれぞれで実装したいパウリ演算子の対応を表す。
h

ハミルトニアンの各項に対して、$exp(-i/\hbar\theta_j h_j P_j t)$を順番に、d回かけることで最適解を求める。但し気をつけなければならないのが単位で、エネルギーの単位には$hartree=4.3598\times 10^{-18}J$を使用している。

結果


ここからは、結果を説明する。今回はMDR blueqatを改良して計算を行い、その結果を示した。今回解くのはシングレット(全体のスピンが0)状態の水素分子の波動関数である。また、束縛条件として電子数が全体で2個になるという条件を課す。解くべき方程式は、

$L=\langle \Psi(t) \mid H \mid \Psi(t) \rangle + (\langle \Psi(t) \mid N \mid \Psi(t) \rangle – 2)^2$

である。2乗になっているのは、条件を満たす場合に条件式を最小値にするためである。この式を解いて、求めたポテンシャル曲面をFig. 2に示す。誤差は大きくて0.01hartree程度に収まり、スプライン補完の結果はFull-CIの結果とほぼ一致する。

Fig. 2 計算結果。

まとめと次回予告


こうして、束縛条件付きのVQE法が計算できることが示された。次の課題は、Variational Quantum Deflation(VQD)法を用いてトリプレット(全体のスピンが1,0、-1のどれかをとる)状態のエネルギーを求めることである。それは次回に説明する。

あわせて読みたい

SERVICE

汎用量子コンピュータ向けアプリケーション開発SDK

詳しく見る Githubで入手する(無料)

汎用量子コンピュータ向け高速シミュレータ

詳しく見る

量子コンピュータ向けクラウドサービス(準備中)

詳しく見る

イジングマシン向けアプリケーション開発SDK

詳しく見る Githubで入手する(無料)

COMMUNITY

量子コンピュータのことを学びたい、仕事としたいなどの情報交換の場を設け、コミュニティの形成を進めています。オフラインの勉強会と、オンラインのチャットコミュニティの2種類あります。オフラインのConnpassは1400名、オンラインのSlackは880名を超える参加があります。どちらも無料ですのでお気軽にご参加ください。

CONNPASS SLACK

CONTACT

弊社あての連絡はinfo@mdrft.comより用件を明記の上、メールで連絡を頂けますと幸いです。

ブログトップへ Wikiへ移動

量子コンピュータ一般

量子ゲートアルゴリズム

量子アニーリング一般

量子アニーリングアルゴリズム

BlueqatSDKの使い方