hwakのトリビアルな雑記集

初めまして、個人研究者のhwakです。個人的に量子アルゴリズムの研究をしております。

反復量子位相推定アルゴリズム【実践編】

今回は、前回「反復量子位相推定アルゴリズム by Hikaru Wakaura 」に引き続き、反復量子位相推定[1]における実際の計算を行う際の注意点を説明し、実践した結果を示します。

事前に、固有値を求めるハミルトニアンにおける固有値の最大値と最小値の差  D=E_{max}-E_{min} をとります。

今回は  CU ゲートの実装には図1の回路を利用します。

 \theta の値はHの固有値を規格化するため、各項の係数をcとして  - c ^2 \pi / D とします。

実際の計算では、  CU ゲートとともに固有値の定数シフトを行うための制御位相ゲートを角度  2\pi(E_{min}-e)/ D として全計算用ビットを標的ビット、アンシラビットを制御ビットとして掛けます。

ここで、 eハミルトニアンHの定数項部分です。これも  CU を掛けるのとセットで  2^{k-1} 回反復します(図2)。

図1  CU ゲートを実装する回路。U の中身はトロッター展開されたハミルトニアンを指数とする指数関数です。

例えば、   exp(−i \sigma_0 ^x \sigma_1 ^y \sigma_2 ^z )  を掛ける場合、   G_0   H に、   G_1   R_x(\pi/2) に、   G_2   I ゲートになります。

図2 実際の反復量子位相推定アルゴリズムで使用する回路。

この処理によって、基底状態固有値 \Phi(0)=0 に、最大固有値における状態は  \Phi(0)=\Phi_{max} に相当するように調整されます。これによって、固有値が正確に計算できるようになります。計算された蓄積位相から固有値 E=\Phi(0)D+E_{min} となります。今回、水素分子における基底状態を反復量子位相推定を用いて計算しました。原子間距離は0.1から2.5 Å まで0.1刻みで計算し、位相は  1/\sqrt{2^{11}} の桁まで取り、回路深さは1としました。その結果を図3に示します。

 r\lt 1.0 の領域においては厳密解とほぼ一致していますが、それ以上の原子間距離では厳密解から少し離れます。STO-3G基底における厳密解を  E_{FCI} とした場合におけるエラー量の対数 (Log error)  \log_{10} |(E-E_{FCI})/E_{FCI}| も同様に、 r\lt 1.0 の領域では小さくなっており、精度は理論と少し違い、化学精度 (エラー量の対数 -2.8以下) のだいぶ上でした (図4)。 r=0.9 においては完全に化学精度を超えています。 r\gt 1.5 の領域におけるエラー量の大きさは他の状態との間の縮退の影響と考えられます。また、VQE法においてハミルトニアンを深さ2の回路で最適化して固有状態を計算したためであると推察されます。

図3 反復量子位相推定アルゴリズムで計算した基底状態のエネルギーと水素原子間距離の関係。

図4 反復量子位相推定アルゴリズムで計算した基底状態のエネルギーのエラー量の対数と水素原子間距離の関係。

図5に$t=11$とした場合における反復回数に対する基底状態における原子間距離  r=0.9 の場合の計算されたエネルギーと厳密解との差、 \Phi(k) の変化を示します。 k\lt 4 の領域ではアンシラが1の場合状態における存在確率がわずかに高くなり、そちらが出てしまいますがそれ以降はすべて0となり、最終的には化学精度を超えます。

量子位相推定アルゴリズムと同様に、精度を上げるには指数オーダーで計算量を増やさなければならないのは同じですが、こちらはゲートの印加回数が増大するのみで済みます。励起状態の計算手法を相当工夫しなければ、そちらを求めることは出来ないなど課題は多いですが、将来有望な誤り耐性アルゴリズムです。

図5 t-kの増大に対する計算された基底状態エネルギーとその厳密解の差と  \Phi(k) の変化。

[1] M. Dobsicek, G. Johansson, V.S. Shumeiko, G. Wendin, arXiv[quant-ph], 0610214v3(2007)

【PR】初心者も安心のサポート充実【DMM FX】

楽天Kobo