離散フーリエ変換を量子回路として効率的に実装できるのはなぜですか?


17

それはよく知られている結果である離散フーリエ変換(DFT)の数字複雑有すると最もよく知られたアルゴリズムを、一方フーリエ量子状態の振幅の変換を実行します、古典的なQFTアルゴリズム、唯一必要基本ゲート。N=2nOn 2O(n2n)O(n2)

これが事実である既知の理由はありますか?これにより、効率的な「量子バージョン」の実装を可能にするDFTの既知の特性があるかどうかを意味します。

実際、次元ベクトル上のDFT は、線形演算 N

y=DFTx,DFTjk1Nexp(2πiNjk).

この問題の「量子バージョン」は、量子状態与えられ|xk=1Nxk|k、出力状態を取得するタスクです|yk=1Nyk|kよう

|y=DFT|x=QFT|x.
  1. 最初の単純化は、QMの線形性のために、一般ベクトルの進化により、基底状態|j,j=1,...,Nに焦点を当てることができるという事実に由来するようです。|xは無料で提供されます。
  2. もしN=2n、1で表現することができます|jベース2、持つ中|j=|j1,...,jn
  3. 標準のQFTアルゴリズムでは、変換が| j_1、...、j_n \ rangle \ to2 ^ {-n / 2} \ bigotimes_ {l = 1} ^ n \ big [| 0として記述できるという事実を利用し ます。 \ rangle + \ exp(2 \ pi i(0.j_ {n-l + 1} \ cdots j_ {n}))| 1 \ rangle \ big]。
    |j1,...,jn2n/2l=1n[|0+exp(2πi(0.jnl+1jn))|1],
    これは、\ operatornameの形式の量子回路として実装できます。 {QFT} | j_1、...、j_n \ rangle = \ Big(\ prod_ {k = 1} ^ n \ mathcal U_k \ Big)| j_1、...、j_n \ rangle、
    QFT|j1,...,jn=(k=1nUk)|j1,...,jn,
    ここでUkO(n)基本ゲート。

ユニタリ変換Aがあり、等価な量子変換| \ boldsymbol y \ rangle = A | \ boldsymbol x \ rangleを効率的に実装する回路を見つけたいとします

|y=A|x.
上記の最初の2つのトリックはいつでも適用できますが、QFTの場合のように効率の結果を得るために他のポイントをいつどのように使用できるかは重要です。

これが真実であるための既知の基準はありますか?または、言い換えると、関連する量子変換を効率的に実装することを可能にするDFTの特性を正確に特定することは可能ですか?


1
量子ビット数を持つQFTの再帰構造は、その効率に寄与するようです。
アフセイン

回答:


12

古典的離散フーリエ変換の紹介:

DFTは、複素数のシーケンスを複素数の別のシーケンス変換しますは定義され必要に応じて、適切な正規化定数を掛けることができます。さらに、式でプラス記号とマイナス記号のどちらを使用するかは、選択する規則によって異なります。N{xn}:=x0,x1,x2,...,xN1{Xk}:=X0,X1,X2,...

Xk=n=0N1xn.e±2πiknN

およびあると仮定します。N=4x=(12ii1+2i)

列ベクトルを見つける必要があります。一般的な方法は、すでにウィキペディアのページに表示されています。しかし、同じもののためのマトリックス表記を開発します。容易予め乗算することによって得ることができる行列による。XXx

M=1N(11111ww2w31w2w4w61w3w6w9)

ここではです。行列の各要素は基本的にです。は単なる正規化定数です。we2πiNwij1N

最後に、あることが判明:。X12(222i2i4+4i)

さて、しばらく座って、いくつかの重要なプロパティに注目してください。

  • 行列すべての列は互いに直交しています。M
  • すべての列の大きさはです。M1
  • 多数のゼロを含む列ベクトルを使用して乗算をポストすると(大きな広がり)、わずかなゼロのみを含む列ベクトル(狭い広がり)になります。その逆も当てはまります。(小切手!)M

古典的なDFTには時間の複雑さがあることに非常に簡単に気付くことができます。これは、すべての行を取得するには、操作を実行する必要があるためです。そしてには行あります。O(N2)XNNX


高速フーリエ変換:

次に、高速フーリエ変換を見てみましょう。高速フーリエ変換は、フーリエ変換の対称性を使用して計算時間を短縮します。簡単に言えば、サイズフーリエ変換をサイズつのフーリエ変換(奇数項と偶数項)に書き換えます。その後、これを何度も繰り返して、指数関数的に時間を短縮します。これがどのように機能するかを詳しく見るために、フーリエ変換のマトリックスに目を向けます。これを説明している間、を目の前にて見てみると役に立つかもしれません。指数はモジュロ書き込まれたことに注意してくださいので、。NN/2DFT88w8=1

ここに画像の説明を入力してください

行が行と非常に似ていることに注意してください。また、列 が列と非常に似ていることに注意してください。これに動機付けられて、フーリエ変換を偶数列と奇数列に分割します。jj+4jj+4

ここに画像の説明を入力してください

最初のフレームでは、番目の行と番目の列を記述することにより、フーリエ変換行列全体を表しました:。次のフレームでは、奇数列と偶数列を分離し、同様に変換されるベクトルを分離します。最初の平等は本当に平等であると自分自身を納得させる必要があります。3番目のフレームでは、()に注目して、少し対称性を追加し ます。jkwjkwj+N/2=wjwn/2=1

奇数側と偶数側の両方に用語が含まれていることに注意してください。ただし、がユニティのプリミティブN番目のルートである場合、はユニティのプリミティブ番目のルートです。したがって、、番目のエントリがである行列は、実際にはちょうどです。新しい方法でを書くことができます:ここで、関数フーリエ変換を計算していると仮定します。上記の操作は、j番目の項を計算する方程式として書くことができます。w2jkww2N/2jkw2jkDFT(N/2)DFTNf(x)f^(j)

ここに画像の説明を入力してください

注:このコンテキストでは、画像のQFTはDFTを表します。また、MはNと呼んでいるものを指します。

これは計算を 2つのアプリケーションに変えます。これをなどの4つのアプリケーションに変換でき。限り、いくつかのため、我々は我々の計算打破することができますへ の計算。これにより、計算が大幅に簡素化されます。DFTNDFT(N/2)DFT(N/4)N=2nnDFTNNDFT1=1

高速フーリエ変換の場合、時間の複雑さは減少しこれを自分で試してみてください)。これは、古典的なDFTと、iPodなどの現代の音楽システムで使用されている最先端のアルゴリズムを大幅に改善したものです。O(Nlog(N))


量子ゲートを使用した量子フーリエ変換:

FFTの長所は、離散フーリエ変換の対称性を活用できることです。QFTの回路アプリケーションは同じ原理を使用しますが、重ね合わせの力により、QFTはさらに高速になります。

QFTはFFTによって動機付けられているため、同じ手順に従いますが、これは量子アルゴリズムであるため、手順の実装は異なります。つまり、最初に奇数部分と偶数部分のフーリエ変換を行い、次に奇数項に位相乗算します。wj

量子アルゴリズムでは、最初のステップは非常に簡単です。奇数項と偶数項は重なり合っています。奇数項は最下位ビットがで、偶数がです。したがって、を奇数項と偶数項の両方に一緒に適用できます。これを適用するには、を最上位ビットに適用し、アダマールを最下位ビットに適用することにより、奇数および偶数を適切に再結合します。10QFT(N/2)QFT(N/2)n1

ここで位相乗算を実行するには、各奇数項に位相を乗算する必要があります。ただし、バイナリの奇数はで終わり、偶数はで終わることに注意してください。したがって、最下位ビットが制御である制御された位相シフトを使用して、偶数項に何もせずに奇数項のみに位相を掛けることができます。制御された位相シフトは、制御ビットが1の場合にのみターゲットに位相を適用するという点で、CNOTゲートに似ていることを思い出してください。jwj10

ここに画像の説明を入力してください

注:画像では、MはNと呼んでいるものを指します。

各制御された位相シフトに関連付けられた位相は、に等しくなければなりません ここで、はによって番目のビットに関連付けられます。したがって、制御として最下位ビットを使用して、制御された位相シフトを最初のキュビットのそれぞれに適用します。制御された位相シフトとアダマール変換により、は削減されました。wjjkj=2kn1QFTNQFT(N/2)

ここに画像の説明を入力してください

注:画像では、MはNと呼んでいるものを指します。

例:

構築し。アルゴリズムに従って、を といくつかの量子ゲートに変換し。次に、この方法を続けて、を(これは単なるアダマールゲートです)と別のいくつかのゲートに変え 。制御された位相ゲートは表されます。それからを取り除くために別の繰り返しを実行し。これで、より多くの量子ビットで回路を簡単に視覚化できるはずです。さらに、必要なを実行するのに必要なゲートの数は正確であることがわかります。QFT3QFT3QFT2QFT2QFT1RϕQFT2QFTQFTN

i=1log(N)i=log(N)(log(N)+1)/2=O(log2N)

ソース:

  1. https://en.wikipedia.org/wiki/Discrete_Fourier_transform

  2. https://en.wikipedia.org/wiki/Quantum_Fourier_transform

  3. 量子力学と量子計算MOOC(UC BerkeleyX) - 講義ノート:第5章

PS:この答えは暫定版です。@DaftWillieがコメントで言及しているように、それは「他の可能なアルゴリズムに関して何らかのガイダンスを提供するかもしれない洞察」にはあまり入りません。元の質問に対する代替回答をお勧めします。質問のその側面に答えられるように、私は個人的に少し読んでリソースを掘る必要があります。


再帰的構造に関して:定義によって多かれ少なかれそれを取るかもしれません。アルゴリズムのスケーリングについて説明する場合は、さまざまなサイズの入力用の回路ファミリが必要です。これが通常行われる方法は、サイズnの回路からサイズn + 1の回路を構築することです。ここで実際に表示されていないのは、他の可能なアルゴリズムに関するガイダンスを提供する洞察です(私はそれは簡単なことだと主張してください)
DaftWullie

@DaftWullie「私がここで実際に見ないのは、他の可能なアルゴリズムに関するガイダンスを提供するかもしれない洞察です(私はそれが簡単なことだと主張しているわけではありません)」私もそれについて考えてきました。これは予備的な答えです。もう少し学ぼうとするとき(そして、もっと自由な時間を得るとき)、それをさらに追加します。この質問に対する別の答えを見てとてもうれしいです。:-)
Sanchayan Dutta

一連の問題があるからといって、次のアルゴリズムを提供するわけではありません(良いものは言うまでもありません)。私たちは通常素敵な関数を考えるので、それは典型的です。このような単純な方法で再帰的であることは、一連の問題の特性です。ここで私が意味するのは、因数分解が存在するということです。この質問を使用して、シーケンスが同じ効率プロパティを持っているかどうかを診断します。Un=Un1xU
アフサイン

こんにちは、QFTでは、8 x 1などの入力ベクトルx_classicalが3キュービットでエンコードされた振幅であると暗黙的に想定されていますか?次に、エンコードされたキュービットでQFT操作が行われますか?また、「...そして、アダマールを最下位ビットに適用することにより、奇数を適切に再結合してください」について詳しく説明していただけますか?
アブドラアッシュ

10

QFTを効率的に実現できる理由について考えられる答えの1つは、その係数の構造にあります。正確に言うと、2次関数展開によって与えられる位相を持つパスの合計である2次形式展開として簡単に表すことができます ここでは定義された二次形式です-ビット文字列。特に量子フーリエ変換は、次の式で与えられる角度の2次形式を含みます。

F2n=12nk,x{0,1}nexp(iQ(k,x))|kx|,
Q(z)=1jk2nθj,kzjzk2n
θj,k={π/22njk,if 1jn<k2nj+10,otherwise.
これらの角度の構造には重要な機能があり、QFTをユニタリ回路として簡単に実現できます。
  1. 関数があり、個ごとに(QFTの場合、);f:{1,2,,n}{n+1,n+2,,2n}θj,k=π1jnf(j)=2nj+1
  2. いずれかのためにため、我々は。1h,jnθh,f(j)0θj,f(h)=0

のインデックスを量子回路の入力および出力ワイヤと考えることができます。ここで、タスクは中央の回路が何であるかを示すことです。これは、入力が出力に接続する方法を示しています。上記の関数使用すると、出力ワイヤと入力ワイヤの関連付けを確認できます。それぞれの場合、2つの端を接続するアダマールゲートがあり、アダマール(およびinの反転を説明するSWAPゲート)と)の間のインデックスの順序、他のすべての操作は2量子ビット制御位相相対位相のためのゲート。の2番目の条件z=(k,x){0,1}2nf(1,2,,n)(f(1),f(2),,f(n))exp(iθj,k)f これらの制御位相ゲートに明確に定義された時間順序を与えることができることを保証するのに役立ちます。

二次形式展開が同様の線に沿って実現可能な回路を生じさせる場合に説明できるより一般的な条件があります。上記は最も単純なケースの1つを説明します。この場合、入力状態と出力状態の標準基底のインデックスを除いて、合計にインデックスはありません(その場合、関連するユニタリの係数はすべて同じ大きさです)。


完全に理解したかどうかはわかりません。これらの2つの条件を満たす2次形式の2次形式展開として表される進化は、効率的に実装できると言っていますか?非常に興味深い
-glS

@gIS:はい、さらにその構造は、Coppersmith QFT回路と本質的に同じです(または、QFTがその形式を持っているという事実が、Coppersmith回路構造でQFTを実現するのに十分な理由です)。
ニールドボードラップ

8

これは元の質問から少し外れていますが、他の問題に関連する可能性のある洞察がもう少し得られることを望みます。

「量子コンピューターでの効率的な実装に役立つ順序発見についてはどうですか?」次数検索は、因数分解アルゴリズムの主要コンポーネントであり、その一部としてフーリエ変換が含まれています。

興味深いのは、「隠れたサブグループの問題」と呼ばれる一般的なコンテキストに、順序付け検索やサイモンの問題などを入れることができることです。

でインデックス付けされた要素を持つグループと、グループ操作 ' 'を考えてみましょう。我々は、関数評価オラクル与えられる、そして我々は、サブグループが存在することが保証されているの、要素とするようにすべてのための及び、。サブグループ生成元を明らかにするのが私たちの仕事です。たとえば、サイモンの問題の場合、グループはすべてビットの数値であり、サブグループは要素のペアGgf(g)KGkgGkKf(g)=f(gk)KGnK{0,s}。グループ演算はビットごとの加算です。

グループがアーベル型である場合、つまり演算が可換であり、関連するグループのフーリエ変換を使用する場合、効率的な解(多項式としてスケールする)が存在します。グループ構造(例:)と効率的に解決できる問題(例:Simonの問題)の間に確立されたリンクがあります。たとえば、対称グループの非表示サブグループ問題を解決できれば、グラフ同型問題の解決に役立ちます。log|G|G{0,1}n,。この特定の場合、フーリエ変換の実行方法は既知ですが、これはアルゴリズムの作成には十分ではありませんが、一部には追加の後処理が必要になるためです。たとえば、Simon's Problemの場合、を決定する十分な線形独立ベクトルを見つけるために複数の実行が必要でした。ファクタリングの場合、出力に対して連続分数アルゴリズムを実行する必要がありました。そのため、適切なフーリエ変換を実装できたとしても、古典的な後処理を効率的に行う必要があります。s


いくつかの詳細

原則として、アーベル群の隠れサブグループ問題は次のように解決されます。2つのレジスタから開始し、すべてのグループ要素の均一な重ね合わせで最初のを準備します および関数評価を実行 ここでは各要素を取り、のメンバーと組み合わせると、グループ全体が生成されます(つまり、各メンバーは、異なる剰余類を作成し、異なる値を生成します|0|0

1|G|gG|g|0,
1|G|g|g|f(g)=1|G|gKkK|gk|f(g),
KKGKf(g))、および直交サブグループとして知られています。2番目のレジスタ、 ここで、グループに対してフーリエ変換を実行し、出力状態 各ベクトルの確率は発見され、他のすべては0の確率を持っています。の生成元が決定されると、線形代数を介しての生成元を把握できます。
1|K|gKk,kK|gkgk|.
G
|K||G|gK|gg|.
|gK|K|/|G|KK

3

少なくとも私にとって、この質問に対する洞察を与える多くの可能な構成の1つは次のとおりです。CSD(コサインサイン分解)を使用すると、任意のユニタリー演算子を、バイナリツリーパターンにうまく適合する効率的なゲートVの積に拡張できます。QFTの場合、そのバイナリツリーはツリーの単一のブランチに崩壊し、ブランチにないすべてのVは1です。

参照: 余弦正弦分解の再帰的適用の特殊なケースとして見られる量子高速フーリエ変換、自分で


興味深い、ありがとう。可能であれば、答えに議論のスケッチを含めてもらえますか?
glS

1
私がすでに提示したのは、私のバージョンの「スケッチ」です。方程式と写真を使用して、さらに深く掘り下げたい場合は、最後に記載されているarxiv ref
rrtucci
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.