2024年6月9日日曜日

量子フーリエ変換(QFT)再訪

 前報では、正規直交基底ベクトルの組に対して、少しづつ位相を変化させることで位相の波を起こし、それをビジュアル化して楽しんだ。ここでは、もっと先を見据えて、それを量子フーリエ変換で行ってみた。

🔴過去の記事
 量子フーリエ変換に関しては、これまでに断片的であるが以下のような短い記事を書いてきた。今回はその復習にもなっている。

    ⚪︎スマホのアプリで量子フーリエ変換をデモする
    ⚪︎Running quantum Fourier transform on my mobile simulator
    ⚪︎量子フーリエ変換:QFT(|ψ⟩+|φ⟩)=QFT|ψ⟩+QFT|φ⟩

🔴量子フーリエ変換の回路とその実行
 一例として、4個の量子ビット(4-qubit)の場合を考える。それに対する量子フーリエ変換QFTの回路をFig.1の上段に示した。qft4q_coreとなっているが、このcoreとは、swapを含まないQFTのコア部分という意味である。それを3-qubitの場合のQFTコアqft3q_coreを使って作っている。このような、カスタムゲート機能をIBM Quantum Composerで使うことができる。この図からも推測される通り、1-qubit、すなわち2次元のQFTはアダマール変換Hそのものである。

 このqft4q_coreの前段に、全てのqubitの順序を逆転させるswapを施している。そして、入力状態として、|0010>、すなわち、|2>を与えてこの回路を実行させた結果をFig.1の下段に示した。(注:qubitの縦の並びの上位を2進ビット列の下位に対応させている。)このカラーの配置から、正規直交基底ベクトルの並び順に従って、π/4づつ位相が反時計回りに回転していることがわかる。すなわち、生成された位相の波の周波数は2である。
 なお、QFTは、Fig.2のように、量子ビット重ね合わせ状態に対しも働くのが特徴的である。

🔴量子フーリエ変換の計算式
 上図の回路は、Fig.3に示すQFTの計算式に基づいて作られている。確かに、その位相項を見ると位相の回転の様子がFig.1のようになることが推定できる。しかし、Fig.3の数式が正確にFig.1に反映されているのを確かめるには(特に、位相変換ゲートPが制御付きとなっている点など)、少し複雑な計算をしないといけないようである。だが、その計算の詳細は参考文献[1]の第5章に示されているので、必要であれば参照願いたい。

 ここで、|x>は、正規直交基底ベクトルであり、xは10進数である。例えば、3-qubitの場合、|5>は|101>を意味する。一般の状態ベクトル|ψ>は、正規直交基底ベクトルの重ね合わせなので、QFT(|ψ>)はQFTの線形性から、上図の計算式を使って計算できる。

🔴逆量子フーリエ変換IQFT
 この記事では詳細は略すが、QFTの逆変換となるIQFTもよく利用される。IQFTは、以下のように作ればよい。
(1)QFTを構成するゲートを逆順に配置する。
(2)各位相変換ゲートでの位相角の符号を反転させる。(QFTの場合に対して)
(3)最後に、全てのqubitの並び順を逆転させるためのswapを施す。

🔴まとめ
 量子フーリエ変換 (QFT) は、n-qubitからなる量子状態を周波数領域に変換する操作である。入力の量子状態が一つの整数に対応していると考えられる場合は、QFTの結果は、その整数値を周波数とする位相の波を出力すると言える。
 逆量子フーリエ変換 (IQFT) は QFT の逆変換であり、量子状態にエンコードされた位相情報を元の振幅情報に戻す。言い換えると、QFT によって位相の回転としてエンコードされた周波数情報を、IQFT によって元の振幅分布に変換する。

参考文献

[1] 宮野健次郎、古澤明:量子コンピュータ入門第2版、日本評論社、2019(第2版第3刷).


0 件のコメント:

コメントを投稿