量子情報勉強会|17>前半
Nielsen-Chuang5.1 Quantum Fourier Transform
@gm3d2Mar. 21, 2015
池袋バイナリ勉強会会場
線形代数での基底の変換● あるN次元ベクトル空間Vの要素vを考える● vはVの基底 の線形結合
これを であるような別の基底 で表す
なぜこのようなことを考えるか● 数学的にはどの基底も同等● 実用的には基底の選び方によって問題の難易度が
大きく変わる● 元のベクトルvが、ある特定の基底で分かりやす
い性質を持っているケースが(頻繁に)ある– 特定の何個かの成分だけが大きくなる– 考えたい演算が対角化可能
…など
別のとらえ方
● 上の式では、一つのvを二つの方法で表しただけで、v自体は変わらない
● を で置き換えて、 自体を に変えてしまうと考える場合もある(今回はこのケース)
(連続)Fourier変換● 対象となる空間は(実または複素)関数空間
– 周期境界条件● によりベクトル空間
とみなせる– 実関数: – 複素関数:
を基底として与えられた関数を線型結合で表す– 正規直交基底であることがわかる
(連続)Fourier変換(2)● 次の内積を定義
cos、expも同様
離散Fourier変換(2)● 二つのベクトル と の間に
で内積を定義する
→ は正規直交基底
離散Fourier変換(3)● の代わりに次の基底 を用いる
離散Fourier変換(4)● も正規直交基底である
量子Fourier変換● として量子計算の計算基底 を用いる● すると● 以降、 を で置き換えることを量子Fourier
変換 (QFT)と呼ぶ
Exercise 5.1● 複素ベクトル空間の正規直交基底から正規直交
基底への変換はユニタリ
● 「元の基底」 の成分
● 前のページで計算した通り
記法の約束● n-qubitシステム: N = 2^n
: 計算基底
jの2進表示
jの(一部の)小数表示
QFTの積表示● 次のように書ける
● 元の形で計算するより計算量が削減できる
(古典FTでも、量子回路でも)
→Fast Fourier Transform (FFT、QFFT)
|j1>の受ける変換
H R2 Rn-1 Rn
● H:
● R2 controlled by j2:
● R3 controlled by j3 and so on
(古典)FFTとの比較
● 行いたい操作、利用する式は同じ
● パーツとして利用する基本演算が違う– QFT→量子ゲート回路– FFT→四則演算
ex. 5.3 (古典)FTの計算量
● 素朴な実現
● サイズ2^n x 2^n の行列の積: O((2^n)^2) = O(2^(2n))
ex. 5.3 (古典)FFTの計算量
● 積表示を利用
● 一つの|j>に対し演算はO(n)● |j>の総数が2^n● 全体の演算量はO(n*2^n)
exercise 5.4 C-Rkゲート
● C-Rkゲートを1-qubit演算とCNOTで表す● 4章のControlledゲートの一般論を適用
● 図4.6において、
exercise 5.5 逆QFT回路
● 図5.1を左右を逆転し、各ゲートもすべて逆演算ゲートで置き換えればよい
● スワップゲートとHはそれ自身が逆演算と一致● C-Rkも問題5.4の構成で左右を反転し、Rz(θ)
をRz(-θ)、αを-αで置き換えればよい
exercise 5.6 近似QFT
● QFT回路で最も精度が要求される部分
● |j1>の誤差:(n-1)*Δ, |j2>の誤差: (n-2)*Δ
…全体の累積誤差 = Δ*n(n-1)/2 = O(n^2/p(n))
ΔをO(1/n^2)程度以下に維持できれば全体の誤差を一定に保つことができる
(4.63)