ラベル 量子位相推定 の投稿を表示しています。 すべての投稿を表示
ラベル 量子位相推定 の投稿を表示しています。 すべての投稿を表示

2024年6月19日水曜日

量子位相推定(Quantum Phase Estimation)-計算例

【要旨】前回の記事では、量子位相推定の理論と計算法の詳細を示した。今回は、簡単な例でその計算を 確認する。すでに書いたかもしれないが、量子位相推定は、Shor's素因数分解アルゴリズムの中核でもある。

🔴量子位相推定回路の一般形
 前回記事で述べた量子位相推定のための回路の一般形をFig.1に再掲する。図の下部に、m-qubitのユニタリ行列Uの固有状態|v>を与えている。それに対して、上部では、前半でn-qubitを使って、制御付きUゲートの繰り返しを構成し、後半で逆量子フーリエ変換IQFTを適用する。最後にn-qubit全体を測定する。詳細は、前回記事をご覧いただきたい。


🔴位相シフトゲートP(2π/3)で試す
 具体例として、位相シフトゲートP(2π/3)の場合の量子回路をFig.2のように構成した。IBM QuantumのComposerを利用した。この位相ゲートに対する固有状態として、|1>を与えている。これは、Fig.1においては、m=1の場合となる。そして、量子ビット数n=3, 4, 5の3ケースの回路を用意した。制御付きPゲートを、2個、4個、8個、16個と繰り返す必要があるが、回路図を簡単にするため、Composerのカスタムゲート機能を使った。すなわち、冗長になるゲートの繰り返しを、p066p_2, p066p_4, ... , p066p16のような新たなゲートを作ることで簡単にしている。

🔴量子位相推定の実行結果
 上記の3ケースに対する実行(Composerシミュレーション)結果をFig.3に示す。結論から言うと、3ケースとも、確率約70%で、妥当な位相の値が得られた。当然ながら、量子ビット数を増やすに従って結果の精度が向上する。
 対象としたゲートP(2π/3)の固有状態|1>の固有位相は2π/3 = 120°である。n = 3, 4, 5の測定結果は、いずれも、古典ビット数nの範囲では最適値を与えている。なお、測定結果のビット列(2進整数)からどのように位相角度を求めるのかについては、すでに前報の後半で述べたのでここでは略している。


🔴量子コンピュータ実機ではどうなのか?(結論:negative
 上記Fig.3に相当する、量子コンピュータ実機での結果も得た。しかし、.... ここではその詳細データの掲載はやめておく。現時点では、期待した結果ではなかったからである。この位相推定問題は、現在の量子コンピュータ(ハードウェア)にとって、大変苦手の部類に入るのかもしれない。たとえば、Fig.3のn = 5 qubitsの場合、測定結果01011(古典5ビットでの最適解)は確率70%で得られたが、量子コンピュータ実機では、その確率は10〜20%前後でしかなかった。つまり、解から遠い測定結果も同程度の確率で見られるのであった。(もしも私の誤りであることが判明したらお詫びするが....

 ここで思い起こしたことがある。2024年2月頃に、IBM Quantumのアルゴリズム集からShorの素因数分解が削除された。当面、大規模な誤り耐性量子コンピュータの実現が難しいためとのことであった。私が実施した小規模な位相推定問題でも、上記の如く、現状の量子コンピュータでは困難のようなので、なるほどと納得するのである。引き続き、研究開発の進展を注視して行きたい。量子位相推定アルゴリズムは間違いなく非常に優れたアイディアだ!いずれ、100%に近い確率で正解が得られる日が来るだろう。

【私の質問】
 現時点の量子コンピュータにとって、位相推定アルゴリズムの実行は、他の量子アリゴリズムに比べて、かなり難易度が高いですか。つまり、測定しても、高い確率で正解が得られないという状況ですか?
【Gen AIの答え】
 現時点での量子コンピュータでは、量子位相推定アルゴリズムの実行は非常に難しいです。主な理由は、高いエラー率、限られた量子ビット数、測定の確率性、そして量子エラー訂正の複雑さによります。これらの問題が解決されるまでは、他の量子アルゴリズムよりも実行が困難です。
【書籍の表紙にも】
 最近購入した、T.G. Wongによるこの書籍の表紙は、Fig.1そのものだった!著者の意図はどこにあるのだろうか?これを実現することが一つの目標ということだろうか?

2024年6月17日月曜日

量子位相推定(Quantum Phase Estimation)-理論と計算

【要旨】量子コンピューティングの中級レベルでは、位相推定が重要事項の一つになる。それは、ユニタリ行列に対して、固有状態の固有位相を推定するものである。その前半部の計算結果は、ある正規直交基底ベクトルに対する量子フーリエ変換の結果と同一となる。従って、後半では、前半の結果に対して逆量子フーリエ変換を施し、全ての量子ビット(固有状態ベクトルを除く)を測定すれば固有位相を推定できる。このあたりの計算を明らかにできれば、理解が大いに進むであろう。そのポイントは、以下のような数式の意味を説明することかもしれない。
Q (Human): What is this?
A (Generative AI): The expression represents the superposition state after the application of the controlled-U operations, with the phase factor corresponding to the binary fraction of the phase ϕ. This is a crucial step in estimating the eigenvalue’s phase in the QPE algorithm.

🔴量子フーリエ変換QFTを復習
 量子位相推定アルゴリズムの前半の結果を、正規直交基底ベクトルに対するQFTの結果と比較する必要上、まず、QFTを復習する。これまでもQFTに関していくつか記事を書いてきたので、ここでは、今回必要な計算を中心に示したい。
 下図は、正規直交基底ベクトル|j>に対するn-qubitのQFTの詳細計算である。式(4)から式(5)への変形はわかりにくいかもしれないが、式(5)から逆に展開してみれば式(4)になることが分かる。

 ここで注目していただきたいのは、式(6)の赤字部分である。eの冪に、2進の少数がある。式(5)から式(6)への変形の詳細手順は、下図をご覧いただきたい。上記の整数jを2進表現し、さらにそれから2進の少数を導いている。また、eの(i2π・整数)乗は1であることを使っている。ここで、iは虚数単位である。
 とにかく、この後、式(6)を再び参照することになる。

🔴量子位相推定Quantum Phase Estimatonとは
 ここからが本題である。位相推定とは、ユニタリ行列Uに対して、その固有状態|v>の位相を求める(推定する)ことである。それは、下図のような式で表せる。

🔴量子位相推定を構成する量子回路
 いきなりだが、そのための量子回路図を以下に示す。上段のn-qubitが位相推定の計算用であり、下段に、|v>がユニタリ行列Uの固有状態として与えられる。固有状態から右へ引かれた直線は1本のように見えるが、実際は、行列Uへの入力量子ビット数がmだとするとm本存在する。Uの右肩に冪乗が書かれているが、その数だけ制御付き(黒点付き)Uの適用を右方向へ繰り返すことを意味する。後半のIQFTは(後述するが)、逆量子フーリエ変換である。最後にn-qubitを全て測定している。
 この量子回路で量子位相推定できるのか?それに答えるには、以下に述べる通り、回路を右に進める各ステップで、量子ビットシステム全体の状態がどのように変化するのかを明らかにすれば良い。

🔴量子位相推定の計算
 上記回路図の各ステップでの状態を計算した結果を下図に示す。ここで最も重要なのは位相キックバック(Phase Kickback)である。これに関してはこちらの記事をご覧いただきたい。下図の中の赤字で示したeの冪乗は位相キックバックの効果そのものである。制御付きUが繰り返される度に、|1>の位相にその効果が累積されることが分かる。
 さて、上記の計算を、上位n-qubitのそれぞれを使って明示するには下図のようにする。そのため、量子フーリエ変換のところで示したのと同様に、2進の少数を使っている。
 これら2つの図と、最初に述べた量子フーリエ変換の結果と比べて見ると、全く同一であることが分かる!すなわち、ここまでに述べた量子位相推定のための計算は、QFT計算と同じである。従って、次に、逆量子フーリエ変換IQFTを施せば、正規直交基底ベクトルが得られるはずである。実際には、n-qubitを全て測定して、高い確率で得られた量子ビットの組み合わせから、最終的に求める固有位相を推定(確率的に判断)できる。以下のとおりである。
 具体的な位相推定の計算例は、こちらの記事で示す。