【コンテストブログ】量子断熱計算をやってみた


背景:

NISQアルゴリズムの研究は世界中で下火になり、Fault-Torelant-QuantumComputer(FTQC)の開発がIBMとIon-Qで始まり、90年代に盛んだったそれにおけるアルゴリズムの研究が再び盛んになりつつあります。そのアルゴリズムの中には、量子断熱計算が含まれます。量子系の記述するシュレディンガー方程式におけるハミルトニアンとその解となる固有状態には、3種類存在します。1)ハミルトニアンが時間依存せず可換な場合は、解が状態と時間発展演算子の積で表されます。2)ハミルトニアンが時間に依存し可換な場合は、解が状態と時間発展演算子の固有状態と時間依存係数の積で表されます。3)ハミルトニアンが時間に依存し、かつ時間に対して非可換な場合、解は時間発展項とダイソン級数の積で表されます。断熱量子計算が扱うのは2の場合です。今回は、この断熱量子計算について説明します。


量子断熱計算とは:

ハミルトニアンが時間に依存する場合を含めて、何らかの係数が時間含めて変化する場合、準位の並びが逆転することがあります。この場合は準位が交差する速度によって状態の重ね合わせがクロスした状態間に起こります[1]。これはクロスの速度が無限にゆっくり(準静的)であれば起こらないことが証明されています。これが量子断熱定理です。図1のように、準静的過程の修状態においては状態のみが変わり、エネルギー準位は基底状態からスタートしたものは変化せず、第1励起状態にあった場合は重ね合わせになることなく基底状態に落ち着きます。量子断熱計算では、これを利用して始状態と終状態のハミルトニアン和を用意して、その間の係数を準静的に変化させ、状態の時間変化と最終的な状態と固有状態を計算するアルゴリズムです。


Htot=(1t/T)Hi+t/THfH_{tot}=(1-t/T)H_{i}+t/T H_{f} -(1)


これは量子アニーリング、ゲート両方で可能なアルゴリズムであるため、単一の問題に様々な実装法があります。今回はグローバーのアルゴリズムを断熱量子計算で実装し、その結果とその問題点を示します。


図1 断熱量子計算における時間発展。準位の交叉が起こる場所では状態のクロスが起こらず、存在確率の重ね合わせが発生することもありません。


量子断熱グローバーのアルゴリズム:

グローバーのアルゴリズムは、量子重ね合わせを利用して高速で計算が検索が可能なアルゴリズムです。これはゲートにおける本来の実装ではオラクル演算子を使いますが、量子断熱計算においては不要です。そのため、HiH_{i}HfH_{f} は次のようになります。


Hi=IψψH_{i}=I-\mid \psi \rangle \langle \psi \mid

Hf=ImmH_{f}=I-\mid m \rangle \langle m \mid }-(2)


ここで、ψ=j=01/2nj\mid \psi \rangle=\sum_{j=0}1/\sqrt{2^n}\mid j\rangle は全状態の重ね合わせ、m=j=0,ji1/2n1j\mid m \rangle=\sum_{j=0,j\neq i}1/\sqrt{2^n-1}\mid j \rangle は解となる状態i\mid i\rangle 以外の均等重ね合せです。このハミルトニアンはパウリ演算子の組み合わせで作れます。しかし、少し工夫が要ります。次の演算子、


Auu=12(I+Z),Add=12(IZ),Aud=12(XiY),Adu=12(X+iY)Auu=\frac{1}{2}(I+Z),Add=\frac{1}{2}(I-Z),Aud=\frac{1}{2}(X-iY),Adu=\frac{1}{2}(X+iY)-(3)


を使います。これを用いて、HfH_{f} は、解が0100\mid 0100 \rangle の場合、


Hf=12n1[j=0n1Xj((Auu0+Adu0)(Aud1+Add1)(Auu2+Adu2)(Auu3+Adu3)+(Auu0+Aud0)(Adu1+Add1)(Auu2+Adu2)(Auu3+Aud3))+Auu0Add1Auu2Auu3] H_{f}=\frac{1}{2^n-1}[\prod_{j=0}^{n-1}X_j-({(Auu_0+Adu_{0})(Aud_{1}+Add_{1})(Auu_{2}+Adu_{2})(Auu_{3}+Adu_{3})+(Auu_0+Aud_0)(Adu_1+Add_1)(Auu_2+Adu_2)(Auu_3+Aud_3)})+Auu_0 Add_1 Auu_2 Auu_3]-(4)


と表されます。このうち第1項はHiH_{i} と同じものです。第2項は解となる状態を相殺するため、第3項は調整するためです。ハミルトニアンは和で表されるため、トロッター展開することで時間発展演算子exp(iHtot(s)t)exp(-iH_{tot}(s)t) を各項の積に分解します。加えて、参考にした論文[2]における精度向上テクニックとしてtの値を、


t=12ϵNN1(tan1(N1(N1))+tan1N1)t=\frac{1}{2\epsilon}\frac{N}{\sqrt{N-1}}(tan^{-1}(\sqrt{N-1}(N-1))+tan^{-1}\sqrt{N-1})-(5)


とします。こうして式(2)を基にsの値を0から1に変えつつ時間発展回路(このブログを参照されたし)を作用させ、計算を実行します。



計算結果:

今回sを0.01刻みで変化させ、エラー許容量ϵ\epsilon を0.01と設定し、0100を解として、トロッター展開されたハミルトニアンの深さは1として計算しました。計算結果は、図2,3のようになりました。解となる状態における存在確率は一様重ね合わせから大きくなり、s=0.6と0.9で1になりました。他の状態における存在確率はそれに伴って小さくなりました。しかし、基底状態におけるエネルギー準位は0.93程度からsが大きくなるにつれて上昇しました。これは、2励起状態は2422^4-2 重に縮退しているため、基底状態と混ざって1以上になったのだと考えられます。線形増加でないのはtの変化率が変わるからです。通常のグローバーアルゴリズムではグローバー演算子を掛け過ぎるとかえって解となる状態における存在確率は下がっていきます。こちらも同じように、始状態ハミルトニアンを切らずに長い時間変化させすぎると解となる状態における存在確率が下がってしまいます。しかしながら、周期変化して解となる状態における存在確率が一定周期で1になると予想されます。

図2 各状態における存在確率の時間発展。

図3 基底状態におけるエネルギーの時間変化。


量子断熱計算は、今の計算機ではsが大きくなるほどに印加させるゲート数が増大し、それだけエラーの影響を受け易くなります。また、ノイズの影響を受け無い系でも計算の精度は悪く、様々な工夫を凝らさなければ利用することは難しいです。FTQCで利用するにせよ、最悪の場合計算時間は古典計算機並みにかかるでしょう。しかしながら、断熱量子計算は学術的にも興味深く、発展するポテンシャルを秘めています。


付録です。

【コンテストブログ】量子断熱計算をやってみた【付録】 by Hikaru Wakaura | blueqat


今回使用したソースコード:

【コンテストブログ】量子断熱計算をやってみた【ソースコード】。 by Hikaru Wakaura | blueqat


[1] Clarence Zener, Proceedings of the Royal Society of London A137 (6): 696–702(1932)

[2] Jelemie Roland and Nicholas J. Chef, arXiv[quant-ph], 010701v1(2001)

Hikaru Wakaura
個人研究者の若浦 光です。量子アルゴリズムの実装結果や論文の紹介などを載せていきます。 mail: hikaruwakaura@gmail.com
Comments
Hikaru Wakaura
個人研究者の若浦 光です。量子アルゴリズムの実装結果や論文の紹介などを載せていきます。 mail: hikaruwakaura@gmail.com
Related posts

blueqat Inc.

Shibuya Scramble Square 39F 2-24-12, Shibuya, Shibuya-ku, Tokyo
Contact: info@blueqat.com