相対エントロピーから情報と物理を組み立てる 第6部 第2章 §6.2.2 ★★ Hadamard と制御位相回転 n(n+1)/2 個で QFT が組めること・小さな回転を落とした近似 QFT の誤差
回路
積の形 (6.2.2) を作るには、各量子ビットに ∣0⟩+e2πi0.jl⋯jn∣1⟩ の位相を書き込めばよい。使うゲートは Hadamard と、角度 2π/2k の位相回転
Rk=(100e2πi/2k)(6.2.4)
を別の量子ビットで制御したもの(制御 Rk)である。制御 Rk は ∣11⟩ にだけ位相 e2πi/2k を掛ける対角行列なので、制御側と標的側を入れ替えても同じ演算子になる。
1番上の量子ビット ∣j1⟩ に H を当てると (∣0⟩+e2πi0.j1∣1⟩)/2 になる((−1)j1=e2πi0.j1)。続けて j2 で制御した R2 を当てると、j2=1 のときだけ ∣1⟩ の成分に e2πi/4 が掛かり、位相は 2π×0.j1j2 になる。同様に R3,…,Rn を j3,…,jn で制御して当てれば、1番上の量子ビットは (∣0⟩+e2πi0.j1⋯jn∣1⟩)/2 になる。2番目の量子ビットには H と制御 R2,…,Rn−1 を当てて 0.j2⋯jn を書き込み、以下同様に進む。この間、まだ処理していない下の量子ビットは制御側にしか使っていないので、jl の値は書き込みの最中に失われない。最後に、出来上がった並びが式 (6.2.2) と上下逆なので、SWAP ゲートで上下を入れ替える(図 6.2.1)。

図 6.2.1 3量子ビットの QFT の回路(右端の出力は規格化の 1/2 を省いた)。黒丸は制御で、制御 Rk は対角なので制御と標的を区別しなくてよい。右端の SWAP で上下を入れ替えて式 (6.2.2) の並びにする。
定理 6.2.3(QFT の回路の大きさ ★★★)
n 量子ビットの QFT は、Hadamard n 個・制御位相回転 n(n−1)/2 個(合わせて n(n+1)/2 個)と SWAP ⌊n/2⌋ 個で厳密に実現できる。
証明
上の構成で、l 番目の量子ビットには H 1個と制御 R2,…,Rn−l+1 の n−l 個を当てる。和を取ると ∑l=1n(1+n−l)=n+n(n−1)/2。各段の後の状態が積の形の該当する因子に一致することは上の説明のとおりで、最後の SWAP で順序が合う。
N=2n 次元のベクトルに行列を掛ける古典の計算は、高速 Fourier 変換(FFT)を使っても O(NlogN)=O(n2n) 回の演算が要る。QFT はそれを O(n2) 個のゲートで済ませるので指数関数的に速く見えるが、比べ方に注意が要る。FFT は N 個の Fourier 係数をすべて出力するのに対し、QFT の出力は量子状態で、測れば N 個の振幅の2乗に従う乱数が1つ出るだけである。QFT が役に立つのは、出力の分布が少数の値に集中するように入力を用意できる場合、すなわち位相推定と周期発見に限られる。
近似 QFT
Rk の回転角 2π/2k は k とともに指数関数的に小さくなる。k が大きい制御 Rk は恒等演算子にほとんど等しいので、k>m のものを落としてよいと考えられる(Coppersmith の近似 QFT1D. Coppersmith (1994), “An approximate Fourier transform useful in quantum factoring,” IBM Research Report RC19642(arXiv:quant-ph/0201067 として再録)。)。落とした誤差は次のように押さえられる。
命題 6.2.4(近似 QFT の誤差 ★★)
k>m の制御 Rk をすべて落とした回路を U^m とすると、演算子ノルムで
∥U^m−U^QFT∥≤k=m+1∑n(n−k+1)⋅2sin2kπ<2m2πn.(6.2.5)
証明
ユニタリの積では ∥A^1A^2−B^1B^2∥≤∥A^1−B^1∥∥A^2∥+∥B^1∥∥A^2−B^2∥=∥A^1−B^1∥+∥A^2−B^2∥ なので、1つ1つのゲートの置き換えの誤差を足せばよい。制御 Rk を 1 に置き換えた誤差は、対角成分の差の最大 ∣e2πi/2k−1∣=2sin(π/2k) である。回路に制御 Rk は n−k+1 個ある(l=1,…,n−k+1 番目の量子ビットに1個ずつ)。最後の不等号は 2sinx<2x と ∑k>m(n−k+1)2−k<n2−m による。
残るゲートの数は約 nm 個で、m は log2(n/ε) 程度でよいので、近似 QFT は O(nlogn) 個のゲートで済む。実際の量子計算機では、回転角が非常に小さいゲートは雑音より小さくなって意味を失うので、落とす方が正確になることもある。
例題 6.2.2 20量子ビットの近似 QFT ★★
オリジナルn=20 の QFT で、k>m の制御 Rk を落とし、式 (6.2.5) の中央の上界を 0.01 以下にしたい。最小の m はいくつか。そのとき制御位相回転はいくつ残るか。
解答
上界 B(m)=∑k=m+120(21−k)⋅2sin(π/2k) を計算すると B(12)=0.0107、B(13)=0.0046 なので、最小は m=13 である。粗い上界 2πn/2m≤0.01 を使うと 2m≥12566、m=14 となり、1つ多く見積もる。落とす制御回転は k=14,…,20 の各 21−k 個で、7+6+⋯+1=28 個。全部で 20⋅19/2=190 個のうち 162 個が残る。誤差 0.0046 は、出力の確率分布の各成分がずれる大きさの目安でもある(状態ベクトルのずれが ε なら、確率は 2ε 程度までしかずれない)。
近似の裏付け
型 B(極限) | 小さいもの 落とした回転角 2π/2m→0(m を大きくする) | 証明 証明済み(ゲートごとの誤差の和で押さえる本文の評価 (6.2.5)) | 行き先 近似の数理 第1章
1 D. Coppersmith (1994), “An approximate Fourier transform useful in quantum factoring,” IBM Research Report RC19642(arXiv:quant-ph/0201067 として再録)。
AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com