[go: up one dir, main page]

JP2008052365A - 近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換演算方法および装置 - Google Patents

近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換演算方法および装置 Download PDF

Info

Publication number
JP2008052365A
JP2008052365A JP2006225709A JP2006225709A JP2008052365A JP 2008052365 A JP2008052365 A JP 2008052365A JP 2006225709 A JP2006225709 A JP 2006225709A JP 2006225709 A JP2006225709 A JP 2006225709A JP 2008052365 A JP2008052365 A JP 2008052365A
Authority
JP
Japan
Prior art keywords
quantum
bits
performs
swap
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006225709A
Other languages
English (en)
Other versions
JP4332167B2 (ja
Inventor
Yasuhiro Takahashi
康博 高橋
Takeshi Kato
豪 加藤
Yasuhito Kono
泰人 河野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006225709A priority Critical patent/JP4332167B2/ja
Publication of JP2008052365A publication Critical patent/JP2008052365A/ja
Application granted granted Critical
Publication of JP4332167B2 publication Critical patent/JP4332167B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

【課題】O(n)個の計算ステップ数でありながら、従来よりも少ないオーダの基本演算の個数で近似量子フーリエ変換を実現する。
【解決手段】自己相似的に分解構成された、近傍2量子ビット演算を用いた近似でない量子フーリエ変換の量子回路と、近傍2量子ビット演算を用いた近似でない量子フーリエ変換の従来的量子回路に基づいて、2を法とする近似量子フーリエ変換を行う量子回路を構成する。この量子回路は、2〔mは近似の閾値〕以下の数を法とする量子フーリエ変換を行う量子回路から構成されるようになるまで自己相似的に分解して構成される。2以下の数を法とする量子フーリエ変換を行う量子回路は、近傍2量子ビット演算を用いた近似でない量子フーリエ変換を行う従来的な量子回路として構成される。
【選択図】図22

Description

本発明は、近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換の演算方法と演算装置に関する。より詳しくは、1量子ビット演算および近傍2量子ビット演算だけで構成された近似量子フーリエ変換を行う量子回路、演算方法、演算装置に関する。
まず、量子フーリエ変換(quantum Fourier transform)について説明し、ついで、近傍2量子ビット演算(linear nearest neighbor quantum bit operation)で構成された近似でない量子フーリエ変換の量子回路について説明し、さらに、単一量子ビットに対する1量子ビット演算および隣り合う量子ビット間の量子ビット演算である近傍2量子ビット演算だけで構成された近似量子フーリエ変換(approximate quantum Fourier transform)の量子回路について説明する。
なお、本明細書では、計算量の評価をO記法に従って記す。
<量子フーリエ変換QFT>
量子フーリエ変換については例えば非特許文献1に詳しい。ここでは、量子フーリエ変換について概説する。
量子ビット〔quantum bit;以下、qビット(qubit)とも云う。〕の正規直交系をなす基底状態である正規直交基底|0〉,|1〉,…,|N−1〉上の量子フーリエ変換は、基底状態に式(1)の作用をする線形オペレータとして定義される。ここでqビットの状態は、複素ベクトル空間のベクトルであり、計算基底状態(computational basis state)である。式(1)においてiは虚数単位(imaginary unit)であり、eはネピア数(Napier's constant;自然対数の底)である。なお、本明細書では、ネピア数eのp乗をexp(p)の如く表す場合がある。
Figure 2008052365
ここでN=2、nは1以上の整数〔正整数〕とし、基底|0〉,|1〉,…,|2−1〉はn個のqビットの量子コンピュータに対する計算基底状態とする。状態|b〉を2進数表現でb=bn−1n−2…bと書くとする。10進数表現では、b=bn−1n−1+bn−2n−2+…+b+bとなる。2進少数表現を式(2)で定義する。なお、状態|v〉,|w〉のテンソル積を|v〉|w〉、|v,w〉、|vw〉などと表記する。
Figure 2008052365
このとき、式(1)と式(3)は等価である。式(3)は、2を法とする量子フーリエ変換の積表現である。以下、断りのない限り、量子フーリエ変換は、近似量子フーリエ変換または近似でない量子フーリエ変換を問わず、2の冪乗の数を法とする量子フーリエ変換であるとする。
Figure 2008052365
式(3)で表される効率的な量子フーリエ変換を行う量子回路を、n=8の場合を例として図1に示す。一般的に量子回路では単一qビットに対する1量子ビット演算とCNOT(controlled-NOT)を基本演算とするが、量子回路が複雑になるのを避けるため、本明細書ではこれらの演算以外の演算も用いて量子回路を構成するものとして説明する。量子回路に使われる全ての演算は、単一qビットに対する1量子ビット演算とCNOTに分解できることに注意しなければならない〔非特許文献1参照〕。CNOTは、2つの入力qビットに対する2量子ビット演算である。
なお、非特許文献1では、図1に示される量子回路の最後の状態に対して交換操作を行ってqビットの状態を反転させたものを、量子フーリエ変換を行う量子回路として説明しているが、本明細書では、上記交換操作を行わない図1に示される量子回路をもって量子フーリエ変換の量子回路とする。これは、テンソル積で表される式(3)の表現の違いに基づくに過ぎない。
n=8の場合の量子フーリエ変換QFT8は、入力状態|b…b〉に対して、出力状態(|0〉+exp(2πi0.b…b)|1〉)( |0〉+exp(2πi0.b…b)|1〉)…(|0〉+exp(2πi0.b)|1〉)/2n/2を得る。図1は、入力状態と出力状態とを単一qビットごとの配線(wire)に分解して表したQFT8の量子回路を示している。図1において出力状態|φ(b)〉は、|φ(b)〉=(|0〉+exp(2πiΣm=0 (bk−m/2m+1))|1〉)/21/2で表せる。但し、k=0,1,2,3,4,5,6,7である。
図1に現われる量子ゲートについて概説する。図1において、記号Hで表される量子ゲートはアダマールゲート(Hadamard gate)であり、アダマール変換が行われる。qビットの入力状態|x〉をアダマールゲートに通すと、出力状態(|0〉+(−1)|1〉)/21/2が得られる〔図2参照〕。出力状態は、(|0〉+e2πi0.x|1〉)/21/2とも表せる。
図1において、数字t=2,3,4,5,6,7,8で表される量子ゲートは制御フェイズシフトゲート(controlled phase shift gate)であり、式(4)で示す行列で表されるユニタリー変換が行われる。2つのqビットの入力状態|x〉および|y〉を制御フェイズシフトゲートに通すと、出力状態exp(2πixy/2)|x〉|y〉が得られる〔図3参照〕。制御フェイズシフトゲートは、角度2π/2の回転ゲートであり、以下では、数字tで表される制御フェイズシフトゲートの作用を、角度2π/2の制御フェイズシフトと云うこともある。図3は、入力状態と出力状態とを単一qビットごとの配線に分解して表した量子回路を示している。なお、図3に示される制御フェイズシフトゲートは、図4に示される制御フェイズシフトゲートと等価であることに注意しなければならない。
Figure 2008052365
<近傍2量子ビット演算で構成された近似でない量子フーリエ変換LNN−QFTの量子回路>
図1に示したQFT8の量子回路では、例えば最初の8個の計算ステップをみると、入力状態|b…b〉に対して、まず、最初の計算ステップで状態|b〉にアダマール変換を作用させ、この作用で得られた中間状態(|0〉+exp(2πi0.b)|1〉)/21/2|b…b〉に次の計算ステップで状態|b〉に基づく制御フェイズシフトを作用させ、この作用で得られた中間状態(|0〉+exp(2πi0.b)|1〉)/21/2|b…b〉に次の計算ステップで状態|b〉に基づく制御フェイズシフトを作用させ、この作用で得られた中間状態(|0〉+exp(2πi0.b)|1〉)/21/2|b…b〉に次の計算ステップで状態|b〉に基づく制御フェイズシフトを作用させ、・・・中略・・・、この作用で得られた中間状態(|0〉+exp(2πi0.b)|1〉)/21/2|b…b〉に次の計算ステップで状態|b〉に基づく制御フェイズシフトを作用させる、といった処理が行われる。
ここに明らかなように、直前の中間状態に制御フェイズシフトを作用させると、例えば最初の8個の計算ステップでは、その度に、状態|b〉に基づいた状態|1〉の係数の位相に、制御フェイズシフトの標的qビット〔あるいは、制御qビットと言っても同様である(図4参照)。〕に相当する追加ビットが加わる。より一般的に、計算理論上は、このような演算に格別の問題は無いが、qビットの状態が物理的な状態であるところ、隣り合うqビットよりも離れたqビットに基づく作用を受けるとすると、一般的に演算誤りのリスクが高まる。そこで、隣り合う量子ビット間の量子ビット演算である近傍2量子ビット演算で量子フーリエ変換を行う量子回路を構成することが提案されている〔非特許文献2参照〕。
ここでは、近傍2量子ビット演算で構成された近似でない量子フーリエ変換の量子回路について概説する。
近傍2量子ビット演算で構成された近似でない量子フーリエ変換の量子回路は、式(3)で表される効率的な量子フーリエ変換を行う量子回路に適宜にSWAP(swap operation; 交換演算)を施すことで得られる。n=8の場合を例として、図1に示したQFT8の量子回路を基にした、近傍2量子ビット演算で構成した近似でない量子フーリエ変換LNN−QFT8の量子回路を図5に示す。図5で使われているSWAPの量子回路を、図6に示す。SWAPの量子回路は、入力された2つのqビットの状態を交換する。図6に示したSWAPの量子回路には、3個のCNOTが使われている。CNOTの量子回路を、図7に示す。CNOTの量子回路は、最も基本的な2量子ビット演算を行ない、この意味でCNOTゲートと呼ばれる。CNOTゲートは、古典的XORゲートに対応しており、制御qビットの状態|x〉に応じて、標的qビットの状態|y〉に変更をもたらす。2準位系で簡潔に説明すれば、制御qビットの状態が|0〉であれば、標的qビットの状態|y〉に変更をもたらさず、制御qビットの状態が|1〉であれば、標的qビットの状態|y〉を反転させる。
図5に示すLNN−QFT8の量子回路では、INV(inverse operation; 交換操作)が各qビットの状態に対して施される。INVの量子回路を、図8に示す。図8では、qビットの入力状態|bs=7,6,…,0〉と混同しないように、状態を記号|as=7,6,…,0〉で表している。以下、入力状態|b〉と区別して状態を一般的に表したい場合には、記号|a〉を用いる。
INVの量子回路は、入力qビットの状態の並びを逆順で並び替えて出力するものであり、この意味でINVゲートと呼ぶことにする。なお、近傍2量子ビット間でのSWAPだけで構成しないものとすれば、O(n/2)程度のSWAP回数となるようにINVの量子回路を構成できるが、図8では、近傍2量子ビット間でのSWAPだけで構成したINVの量子回路を示している。出力状態の順序を図1に示す量子回路の出力状態と同じにするために、図5に示すLNN−QFT8の量子回路ではINVゲートを使っている。INVゲートを用いたLNN−QFT8の量子回路における計算ステップ数と基本演算の個数は、INVゲートを用いないQFT8の量子回路のそれらと比較して、同じ程度のオーダで済む。一般に、INVゲートを用いたことによっても、LNN−QFTの量子回路が、QFTの量子回路に比して非効率的になっているのではないことに注意しなければならない。
近傍2量子ビット演算で構成された近似でない量子フーリエ変換LNN−QFTの量子回路(3)の構成方法を示しておく。
量子回路(3)へ入力されるn個のqビットの状態を|bn−1〉,…,|b〉とし、それぞれのqビットを順に第1-qビット、…、第n-qビットと云うことにする。つまり、最上位の配線に相当するqビットを第1-qビットとし、最下位の配線に相当するqビットを第n-qビットとする。また、記載の便宜から、第(・)-qビットなどとも記載する。
《1》 g=1,…,nについて、順に、次の演算を行う量子回路とする。
[g=1の場合]
第1-qビットにアダマール変換を適用する。
[gが3以上の奇数の場合]
第1-qビットにアダマール変換を適用する。第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、jは3からgまでの奇数とし、gごとにアダマール変換および全てのjについての演算を並列に行う。
[gが偶数の場合]
第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、jは2からgまでの偶数とし、gごとに全てのjについての演算を並列に行う。
《2》 g=n−1,…,1について、順に、次の演算を行う量子回路とする。
[g=1の場合]
第1-qビットにアダマール変換を適用する。
[gが3以上の奇数の場合]
第1-qビットにアダマール変換を適用する。第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、jは3からgまでの奇数とし、gごとにアダマール変換および全てのjについての演算を並列に行う。
[gが偶数の場合]
第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、jは2からgまでの偶数とし、gごとに全てのjについての演算を並列に行う。
《3》 g=1,…,n−1について、順に、次の演算を行う量子回路とする。
[gが奇数の場合]
第j-qビットと第(j+1)-qビットにSWAPを適用する。ただし、jは1からgまでの奇数とし、gごとに全てのjについてのSWAPを並列に行う。
[gが偶数の場合]
第j-qビットと第(j+1)-qビットにSWAPを適用する。ただし、jは2からgまでの偶数とし、gごとに全てのjについてのSWAPを並列に行う。
《4》 g=n−2,…,1について、順に、次の演算を行う量子回路とする。
[gが奇数の場合]
第j-qビットと第(j+1)-qビットにSWAPを適用する。ただし、jは1からgまでの奇数とし、gごとに全てのjについてのSWAPを並列に行う。
[gが偶数の場合]
第j-qビットと第(j+1)-qビットにSWAPを適用する。ただし、jは2からgまでの偶数とし、gごとに全てのjについてのSWAPを並列に行う。
<1量子ビット演算および近傍2量子ビット演算だけで構成された近似量子フーリエ変換LNN−AQFTの量子回路>
近似の閾値がmである近似量子フーリエ変換を行う量子回路は、2を法とする近似でない量子フーリエ変換を行う量子回路において、t>mを満たす制御フェイズシフトを恒等変換とみなした量子回路である〔ここでtは、制御フェイズシフトゲートの数字に対応する。〕。なお、mはnよりも小さい正整数である。
近傍2量子ビット演算で構成された近似でない量子フーリエ変換の量子回路でも同様であり、近似の閾値より大きい数字tで表される制御フェイズシフトを恒等変換とみなす。これによって得られた量子回路が、1量子ビット演算および近傍2量子ビット演算だけで構成された近似量子フーリエ変換の量子回路である〔非特許文献3参照〕。n=8の場合を例として、図5に示したLNN−QFT8の量子回路を基にした、1量子ビット演算および近傍2量子ビット演算だけで構成された近似量子フーリエ変換LNN−AQFT8の量子回路を図9に示す。図9に示したLNN−AQFT8の量子回路は、近似の閾値mが5の場合を示している。量子フーリエ変換の近似の閾値は、下限がO(logn)とされる〔非特許文献3参照〕。なお、図9において出力状態|φ(b)〉は、|φ(b)〉=(|0〉+exp(2πiΣm=0 (bk−m/2m+1))|1〉)/21/2〔但し、k=5,6,7〕、|φ(b)〉=(|0〉+exp(2πiΣm=0 (bk−m/2m+1))|1〉)/21/2〔但し、k=0,1,2,3,4〕で表せる。
このような近似量子フーリエ変換を行う量子回路における計算ステップ数と基本演算の個数は、LNN−QFTの量子回路やQFTの量子回路におけるそれらと比較して、同じ程度のオーダとなっている。
ここでの説明は、n=8の場合、つまり8qビットの場合で説明したが、一般のn-qビットの場合に拡張できる〔8qビット未満の場合は、8qビットの場合に内包されている。〕。
M. A. Nielsen and I. L. Chuang, "Quantum Computation and Quantum Information", Cambridge University Press, 2000. A. G. Fowler, S. J. Devitt, and L. C. L. Hollenberg, "Implementation of Shor’s algorithm on a linear nearest neighbour qubit array", Quantum Information and Computation, Vol.4, No.4, pp.237-251, 2004. D. Coppersmith, "An approximate Fourier transform useful in quantum factoring", Technical Report RC19642, IBM, 1994.
以上に説明した近似量子フーリエ変換の従来の量子回路は、近似の閾値をO(logn)とし、単一量子ビットに対する1量子ビット演算と近傍2量子ビット演算だけを使うとき、O(n)個の計算ステップ数(depth)およびO(n)個の基本演算(size)を用いて近似量子フーリエ変換を実現する。
ところで、基本演算の個数が多いほど演算誤りが発生する可能性が大きくなるため、基本演算の個数はできるだけ少ないほうが良い。また、少ない計算時間のためには計算ステップ数は少ない方がよい。
そこで本発明は、O(n)個の計算ステップ数でありながら、従来よりも少ないオーダの基本演算の個数で実現する、1量子ビット演算および近傍2量子ビット演算だけで構成された近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換演算方法と演算装置を提供することを目的とする。
上記課題を解決するために、本発明の量子回路は、次のような構成とされる。即ち、近似の閾値を正整数nよりも小さい正整数mとし、2を法とする近似量子フーリエ変換を行う量子回路であって、n個のqビットである第1-qビット、…、第n-qビットに対して、nが偶数の場合、《1》第1-qビットから第(n/2)-qビットまでについて、近傍2量子ビット演算で構成した2n/2を法とする量子フーリエ変換を行う量子回路を構成し、《2》g=2,…,n/2+1について、順に、第(n/2−g+2j)-qビットと第(n/2−g+2j+1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、《3》g=n/2+2,…,nについて、順に、第(g−n/2+2j−2)-qビットと第(g−n/2+2j−1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、《4》g=n,…,n/2+2について、順に、第(g−n/2+2j−2)-qビットと第(g−n/2+2j−1)-qビットにSWAPを適用する演算を行うSWAP量子回路を構成し〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、《5》g=n/2+1,…,2について、順に、第(n/2−g+2j)-qビットと第(n/2−g+2j+1)-qビットにSWAPを適用する演算を行うSWAP量子回路を構成し〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、《6》第(n/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2n/2を法とする量子フーリエ変換を行う量子回路を構成し、nが奇数の場合、パターン1またはパターン2のいずれかで、(パターン1)《1》第1-qビットから第((n+1)/2)-qビットまでについて、近傍2量子ビット演算で構成した2(n+1)/2を法とする量子フーリエ変換を行う量子回路を構成し、《2》g=2,…,(n+1)/2について、順に、第((n+1)/2−g+2j)-qビットと第((n+1)/2−g+2j+1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、《3》g=(n+1)/2+1,…,nについて、順に、第(g−(n+1)/2+2j−2)-qビットと第(g−(n+1)/2+2j−1)ビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、《4》g=n,…,(n+1)/2+1について、順に、第(g−(n+1)/2+2j−2)-qビットと第(g−(n+1)/2+2j−1)-qビットにSWAPを適用する演算を行うSWAP量子回路を構成し〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
《5》g=(n+1)/2,…,2について、順に、第((n+1)/2−g+2j)-qビットと第((n+1)/2−g+2j+1)-qビットにSWAPを適用する演算を行うSWAP量子回路を構成し〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、《6》第((n+1)/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2 (n−1)/2を法とする量子フーリエ変換を行う量子回路を構成し、(パターン2)《1》第1-qビットから第((n−1)/2)-qビットまでについて、近傍2量子ビット演算で構成した2(n−1)/2を法とする量子フーリエ変換を行う量子回路を構成し、《2》g=2,…,(n+1)/2について、順に、第((n+1)/2−g+2j−1)-qビットと第((n+1)/2−g+2j)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、《3》g=(n+1)/2+1,…,nについて、順に、第(g−(n+1)/2+2j−1)-qビットと第(g−(n+1)/2+2j)ビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、《4》g=n,…,(n+1)/2+1について、順に、第(g−(n+1)/2+2j−1)-qビットと第(g−(n+1)/2+2j)-qビットにSWAPを適用する演算を行うSWAP量子回路を構成し〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、《5》g=(n+1)/2,…,2について、順に、第((n+1)/2−g+2j−1)-qビットと第((n+1)/2−g+2j)-qビットにSWAPを適用する演算を行うSWAP量子回路を構成し〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、《6》第((n−1)/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2 (n+1)/2を法とする量子フーリエ変換を行う量子回路を構成し、n=1の場合、第1-qビットにアダマール変換を適用する量子回路を構成し、上記の手順で構成された量子回路において、2より小さく2より大きい数2を法とする量子フーリエ変換の量子回路については、このBを新たなnと看做して、上記の場合分けに従った手順で量子回路を構成し、2以下の数を法とする量子フーリエ変換を行う量子回路Aについては、量子回路Aへ入力されるN個のqビットである第1-qビット、…、第N-qビットに対して、《1》g=1,…,Nについて、順に、g=1の場合、第1-qビットにアダマール変換を適用する演算を行う量子回路を構成し、gが3以上の奇数の場合、第1-qビットにアダマール変換を適用する演算を行う量子回路を構成し、第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは3からgまでの奇数とし、gごとに第1-qビットに対するアダマール変換および全てのjについての演算を並列に行う量子回路とする。〕、gが偶数の場合、第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは2からgまでの偶数とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、《2》g=N−1,…,1について、順に、g=1の場合、第1-qビットにアダマール変換を適用する演算を行う量子回路を構成し、gが3以上の奇数の場合、第1-qビットにアダマール変換を適用する演算を行う量子回路を構成し、第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは3からgまでの奇数とし、gごとに第1-qビットに対するアダマール変換および全てのjについての演算を並列に行う量子回路とする。〕、gが偶数の場合、第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは2からgまでの偶数とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、《3》g=1,…,N−1について、順に、gが奇数の場合、第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは1からgまでの奇数とし、gごとに全てのjについてのSWAPを並列に行う量子回路とする。〕、gが偶数の場合、第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは2からgまでの偶数とし、gごとに全てのjについてのSWAPを並列に行う量子回路とする。〕、《4》g=N−2,…,1について、順に、gが奇数の場合、第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは1からgまでの奇数とし、gごとに全てのjについてのSWAPを並列に行う量子回路とする。〕、gが偶数の場合、第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは2からgまでの偶数とし、gごとに全てのjについてのSWAPを並列に行う量子回路とする。〕、これまでの手順で構成された量子回路において、角度2π/2(t>m)の制御フェイズシフトを恒等変換に置換し、角度2π/2(t=m)の制御フェイズシフトの直後のSWAPおよび恒等変換とされた制御フェイズシフトの直後のSWAPの各演算を行う量子回路Cと、上記SWAP量子回路において量子回路Cの鏡像対称の量子回路部分とを相殺して構成された近似量子フーリエ変換を行う量子回路とする。
上記課題を解決するために、本発明の近似量子フーリエ変換演算方法は、次のような方法とされる。即ち、上記記載の近似量子フーリエ変換を行う量子回路に則り、入力された第1-qビットの状態|bn−1〉,…,第n-qビットの状態|b〉に対して近似量子フーリエ変換を行う近似量子フーリエ変換演算方法とする。
上記課題を解決するために、本発明の近似量子フーリエ変換演算装置は、次のような構成とされる。即ち、近似の閾値を正整数nよりも小さい正整数mとし、2を法とする近似量子フーリエ変換を行う近似量子フーリエ変換演算装置が演算対象とするn個のqビットである第1-qビット、…、第n-qビットに対して、nが偶数の場合、《1》第1-qビットから第(n/2)-qビットまでについて、近傍2量子ビット演算で構成した2n/2を法とする量子フーリエ変換を行う量子演算部を備え、《2》g=2,…,n/2+1について、順に、第(n/2−g+2j)-qビットと第(n/2−g+2j+1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行うものとする。〕、《3》g=n/2+2,…,nについて、順に、第(g−n/2+2j−2)-qビットと第(g−n/2+2j−1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行うものとする。〕、《4》g=n,…,n/2+2について、順に、第(g−n/2+2j−2)-qビットと第(g−n/2+2j−1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行うものとする。〕、《5》g=n/2+1,…,2について、順に、第(n/2−g+2j)-qビットと第(n/2−g+2j+1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行うものとする。〕、《6》第(n/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2n/2を法とする量子フーリエ変換を行う量子演算部を備え、nが奇数の場合、パターン1またはパターン2のいずれかで、(パターン1)《1》第1-qビットから第((n+1)/2)-qビットまでについて、近傍2量子ビット演算で構成した2(n+1)/2を法とする量子フーリエ変換を行う量子演算部を備え、《2》g=2,…,(n+1)/2について、順に、第((n+1)/2−g+2j)-qビットと第((n+1)/2−g+2j+1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行うものとする。〕、《3》g=(n+1)/2+1,…,nについて、順に、第(g−(n+1)/2+2j−2)-qビットと第(g−(n+1)/2+2j−1)ビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行うものとする。〕、《4》g=n,…,(n+1)/2+1について、順に、第(g−(n+1)/2+2j−2)-qビットと第(g−(n+1)/2+2j−1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行うものとする。〕、《5》g=(n+1)/2,…,2について、順に、第((n+1)/2−g+2j)-qビットと第((n+1)/2−g+2j+1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行うものとする。〕、《6》第((n+1)/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2 (n−1)/2を法とする量子フーリエ変換を行う量子演算部を備え、(パターン2)《1》第1-qビットから第((n−1)/2)-qビットまでについて、近傍2量子ビット演算で構成した2(n−1)/2を法とする量子フーリエ変換を行う量子演算部を備え、《2》g=2,…,(n+1)/2について、順に、第((n+1)/2−g+2j−1)-qビットと第((n+1)/2−g+2j)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行うものとする。〕、《3》g=(n+1)/2+1,…,nについて、順に、第(g−(n+1)/2+2j−1)-qビットと第(g−(n+1)/2+2j)ビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行うものとする。〕、《4》g=n,…,(n+1)/2+1について、順に、第(g−(n+1)/2+2j−1)-qビットと第(g−(n+1)/2+2j)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行うものとする。〕、《5》g=(n+1)/2,…,2について、順に、第((n+1)/2−g+2j−1)-qビットと第((n+1)/2−g+2j)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行うものとする。〕、《6》第((n−1)/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2 (n+1)/2を法とする量子フーリエ変換を行う量子演算部を備え、n=1の場合、第1-qビットにアダマール変換を適用する量子演算部を備え、上記の手順で構成された量子演算装置において、2より小さく2より大きい数2を法とする量子フーリエ変換の量子演算部については、このBを新たなnと看做して、上記の場合分けに従った手順で量子演算部を構成し、2以下の数を法とする量子フーリエ変換を行う量子演算部Dについては、量子演算部Dへ入力されるN個のqビットである第1-qビット、…、第N-qビットに対して、《1》g=1,…,Nについて、順に、g=1の場合、第1-qビットにアダマール変換を適用する演算を行う量子演算部を備え、gが3以上の奇数の場合、第1-qビットにアダマール変換を適用する演算を行う量子演算部を備え、第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、jは3からgまでの奇数とし、gごとに第1-qビットに対するアダマール変換および全てのjについての演算を並列に行うものとする。〕、gが偶数の場合、第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、jは2からgまでの偶数とし、gごとに全てのjについての演算を並列に行うものとする。〕、《2》g=N−1,…,1について、順に、g=1の場合、第1-qビットにアダマール変換を適用する演算を行う量子演算部を備え、gが3以上の奇数の場合、第1-qビットにアダマール変換を適用する演算を行う量子演算部を備え、第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、jは3からgまでの奇数とし、gごとに第1-qビットに対するアダマール変換および全てのjについての演算を並列に行うものとする。〕、gが偶数の場合、第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、jは2からgまでの偶数とし、gごとに全てのjについての演算を並列に行うものとする。〕、《3》g=1,…,N−1について、順に、gが奇数の場合、第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、jは1からgまでの奇数とし、gごとに全てのjについてのSWAPを並列に行うものとする。〕、gが偶数の場合、第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、jは2からgまでの偶数とし、gごとに全てのjについてのSWAPを並列に行うものとする。〕、《4》g=N−2,…,1について、順に、gが奇数の場合、第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、jは1からgまでの奇数とし、gごとに全てのjについてのSWAPを並列に行うものとする。〕、gが偶数の場合、第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、jは2からgまでの偶数とし、gごとに全てのjについてのSWAPを並列に行うものとする。〕、以上に従って構成された近似量子フーリエ変換演算装置において、角度2π/2(t>m)の制御フェイズシフトを行う量子演算部を、恒等変換を行う量子演算部に置換し、角度2π/2(t=m)の制御フェイズシフトの直後のSWAPおよび恒等変換とされた制御フェイズシフトの直後のSWAPの各演算を行う量子演算部Eと、上記SWAP演算部において量子演算部Eの鏡像対称の量子演算部とを備えずに構成された近似量子フーリエ変換演算装置とする。
本発明に拠れば、近似の閾値をO(logn)とし、近傍2量子ビット演算を用いて、O(n)個の計算ステップ数とO(nlogn)個の基本演算で近似量子フーリエ変換を行うことができる。また、基本演算の個数が従来よりも低減するから、演算誤りの発生する可能性を低減できる。
〔量子回路〕
まず、近似量子フーリエ変換を行う本発明の量子回路(1)を説明する。
近似量子フーリエ変換を行う量子回路(1)は、単一量子ビットに対する1量子ビット演算とCNOTを基本演算とするが、量子回路が複雑になるのを避けるため、これらの演算以外の演算も使って量子回路を構成するものとして説明する。本発明の量子回路に使われる全ての演算は、単一量子ビットに対する1量子ビット演算とCNOTに分解できることに注意しなければならない〔上記非特許文献1参照〕。
近似量子フーリエ変換を行う量子回路(1)は、近傍2量子ビット演算で構成されていない、近似でない量子フーリエ変換の量子回路(2)〔下記参考文献参照〕と、上述した近傍2量子ビット演算で構成された近似でない量子フーリエ変換の量子回路(3)に基づいて構成される。
(参考文献) R. Cleve and J. Watrous, "Fast parallel circuits for the quantum Fourier transform", Proc. of the 4lst Annual Symposium on Foundations of Computer Science, pp.526-536, 2000.
まず、近傍2量子ビット演算で構成されていない、近似でない量子フーリエ変換の量子回路(2)について説明する。量子回路(2)は自己相似的(self-similar)に構成される。即ち、或るXを法とする近似でない量子フーリエ変換を行う量子回路を、Xより小さい数を法とする近似でない量子フーリエ変換を行う量子回路に分解することによって構成する。この構成の仕方は、正確には次のとおりである。
なお、量子回路(2)が行う近似でない量子フーリエ変換は、式(3)で表される量子フーリエ変換であるが、自己相似的に構成されることを考慮して、量子回路(2)が行う近似でない量子フーリエ変換をQFT−SSと表記する。
[nが偶数の場合]
/4個の制御フェイズシフトと2n/2を法とする量子フーリエ変換を行う量子回路2つから構成する。
より具体的には、2n/2を法とする量子フーリエ変換を行う2つの量子回路は、上位〔線形な量子フーリエ変換を行う量子回路における上半分の配線に対応する。〕のn/2個のqビットに対する2n/2を法とする量子フーリエ変換を行う量子回路と、下位〔線形な量子フーリエ変換を行う量子回路における下半分の配線に対応する。〕のn/2個のqビットに対する2n/2を法とする量子フーリエ変換を行う量子回路とであり、n/4個の制御フェイズシフトを含む量子回路は、2n/2を法とする量子フーリエ変換を行う2つの量子回路に挟まれた構成である。
[nが奇数の場合]
(n−1)(n+1)/4個の制御フェイズシフトと2(n+1)/2を法とする量子フーリエ変換を行う量子回路と2(n−1)/2を法とする量子フーリエ変換を行う量子回路とから構成する。
より具体的には、2つの構成が可能である。
1つ目〔パターン1〕は、2(n+1)/2を法とする量子フーリエ変換を行う量子回路を、上位〔線形な量子フーリエ変換を行う量子回路における上側の配線に対応する。〕の(n+1)/2個のqビットに対する2(n+1)/2を法とする量子フーリエ変換を行う量子回路とし、2(n−1)/2を法とする量子フーリエ変換を行う量子回路を、下位〔線形な量子フーリエ変換を行う量子回路における下側の配線に対応する。〕の(n−1)/2個のqビットに対する2(n−1)/2を法とする量子フーリエ変換を行う量子回路とし、(n−1)(n+1)/4個の制御フェイズシフトを含む量子回路は、2(n+1)/2を法とする量子フーリエ変換を行う量子回路と2(n−1)/2を法とする量子フーリエ変換を行う量子回路とに挟まれた構成である。
2つ目〔パターン2〕は、2(n+1)/2を法とする量子フーリエ変換を行う量子回路を、下位〔線形な量子フーリエ変換を行う量子回路における下側の配線に対応する。〕の(n+1)/2個のqビットに対する2(n+1)/2を法とする量子フーリエ変換を行う量子回路とし、2(n−1)/2を法とする量子フーリエ変換を行う量子回路を、上位〔線形な量子フーリエ変換を行う量子回路における上側の配線に対応する。〕の(n−1)/2個のqビットに対する2(n−1)/2を法とする量子フーリエ変換を行う量子回路とし、(n−1)(n+1)/4個の制御フェイズシフトを含む量子回路は、2(n+1)/2を法とする量子フーリエ変換を行う量子回路と2(n−1)/2を法とする量子フーリエ変換を行う量子回路とに挟まれた構成である。
[n=1の場合]
アダマールゲートのみで構成する。つまり、1量子ビット演算を行う量子回路として構成される。
より小さい数2を法とする量子フーリエ変換の量子回路については、このBを新たなnと看做して、上記の場合分けに従って、自己相似的に分解して構成する。例えば、nが偶数の場合では、2n/2を法とする量子フーリエ変換を行う量子回路について、n/2を新たなnと看做して上記の場合分けに従って、自己相似的に分解して構成する。
以下、量子回路(2)の3つの具体例を示す。
図10に、n=8の場合であるQFT8−SSの量子回路(2)を示す。QFT8−SSの量子回路(2)は、[nが偶数の場合]で説明した方法に従って、図10に示すように、28/2を法とする量子フーリエ変換QFT4−SSを行う量子回路2つと16個の制御フェイズシフトゲートとから構成される。図10に示す量子回路(2)は、図1に示すQFT8の量子回路と実質的に同じであることに注意しなければならない。
8/2を法とする量子フーリエ変換QFT4−SSを行う量子回路は、[nが偶数の場合]で説明した方法に従って、図11に示すように、24/2を法とする量子フーリエ変換QFT2−SSを行う量子回路2つと4個の制御フェイズシフトゲートとから構成される。
4/2を法とする量子フーリエ変換QFT2−SSを行う量子回路は、[nが偶数の場合]で説明した方法に従って、図12に示すように、22/2を法とする量子フーリエ変換QFT1−SSを行う量子回路2つと1個の制御フェイズシフトゲートとから構成される。
2/2を法とする量子フーリエ変換QFT1−SSを行う量子回路は、[n=1の場合]で説明した方法に従って、図13に示すように、アダマールゲート1個から構成される。
図14に、n=7の場合であるQFT7−SSの〔パターン1〕の量子回路(2)を示す。QFT7−SSの〔パターン1〕の量子回路(2)は、[nが奇数の場合]の〔パターン1〕で説明した方法に従って、図14に示すように、28/2を法とする量子フーリエ変換QFT4−SSを行う量子回路と、26/2を法とする量子フーリエ変換QFT3−SSを行う量子回路と、12個の制御フェイズシフトゲートとから構成される。
8/2を法とする量子フーリエ変換QFT4−SSを行う量子回路は、[nが偶数の場合]で説明した方法に従って、図11に示すように、24/2を法とする量子フーリエ変換QFT2−SSを行う量子回路2つと4個の制御フェイズシフトゲートとから構成される。
6/2を法とする量子フーリエ変換QFT3−SSを行う量子回路は、[nが奇数の場合]の〔パターン1〕で説明した方法に従って、図15に示すように、24/2を法とする量子フーリエ変換QFT2−SSを行う量子回路と、22/2を法とする量子フーリエ変換QFT1−SSを行う量子回路と、2個の制御フェイズシフトゲートとから構成される。
4/2を法とする量子フーリエ変換QFT2−SSを行う量子回路は、[nが偶数の場合]で説明した方法に従って、図12に示すように、22/2を法とする量子フーリエ変換QFT1−SSを行う量子回路2つと1個の制御フェイズシフトゲートとから構成される。
2/2を法とする量子フーリエ変換QFT1−SSを行う量子回路は、[n=1の場合]で説明した方法に従って、図13に示すように、アダマールゲート1個から構成される。
図16に、n=7の場合であるQFT7−SSの〔パターン2〕の量子回路(2)を示す。QFT7−SSの〔パターン2〕の量子回路(2)は、[nが奇数の場合]の〔パターン2〕で説明した方法に従って、図16に示すように、26/2を法とする量子フーリエ変換QFT3−SSを行う量子回路と、28/2を法とする量子フーリエ変換QFT4−SSを行う量子回路と、12個の制御フェイズシフトゲートとから構成される。
8/2を法とする量子フーリエ変換QFT4−SSを行う量子回路は、[nが偶数の場合]で説明した方法に従って、図11に示すように、24/2を法とする量子フーリエ変換QFT2−SSを行う量子回路2つと4個の制御フェイズシフトゲートとから構成される。
6/2を法とする量子フーリエ変換QFT3−SSを行う量子回路は、[nが奇数の場合]の〔パターン2〕で説明した方法に従って、図17に示すように、22/2を法とする量子フーリエ変換QFT1−SSを行う量子回路と、24/2を法とする量子フーリエ変換QFT2−SSを行う量子回路と、2個の制御フェイズシフトゲートとから構成される。
4/2を法とする量子フーリエ変換QFT2−SSを行う量子回路は、[nが偶数の場合]で説明した方法に従って、図12に示すように、22/2を法とする量子フーリエ変換QFT1−SSを行う量子回路2つと1個の制御フェイズシフトゲートとから構成される。
2/2を法とする量子フーリエ変換QFT1−SSを行う量子回路は、[n=1の場合]で説明した方法に従って、図13に示すように、アダマールゲート1個から構成される。
上記の例では、〔パターン1〕で構成する場合には、より小さい奇数を法とする量子フーリエ変換を行う量子回路も〔パターン1〕で構成するとし、〔パターン2〕で構成する場合には、より小さい奇数を法とする量子フーリエ変換を行う量子回路も〔パターン2〕で構成するとして説明したが、このような構成に限定する意味ではない。より大きい奇数を法とする量子フーリエ変換を行う量子回路の構成パターンに束縛されることなく、随意のパターンで、より小さい奇数を法とする量子フーリエ変換を行う量子回路を構成できる。
上記各例からも明らかなように、QFT−SSの量子回路は、1計算ステップに処理できる演算を分離していることから、LNN−QFTの量子回路〔図5参照〕よりも計算ステップが増大したものとなっている。
さて、量子回路(2)の構成の仕方と同様に、近似でない量子フーリエ変換を行う量子回路(1p)を構成するが、次の点で構成の仕方に違いがある。
1点目は、2〔mは近似の閾値である。〕以下の数を法とする量子フーリエ変換を行う量子回路から構成されるようになるまで自己相似的に分解して構成する。2以下の数を法とする量子フーリエ変換を行う量子回路については、さらなる自己相似的な分解をしない。2以下の数を法とする量子フーリエ変換を行う量子回路は、上述した近傍2量子ビット演算で構成された近似でない量子フーリエ変換LNN−QFTの量子回路(3)として構成される。
2点目は、量子回路(2)は近傍2量子ビット演算を使う量子回路ではないため、近傍2量子ビット演算を使う量子回路とする。
なお、量子回路(1p)が行う近似でない量子フーリエ変換は、式(3)で表される量子フーリエ変換であるが、自己相似的に構成されることと近傍2量子ビット演算を使うことを考慮して、量子回路(1p)が行う近似でない量子フーリエ変換をLNN−QFT−SSと表記する。
量子回路(1p)の構成を、図18を参照して説明する。図18は、説明の便宜から、nが2の冪乗数の場合を想定しており、近似でない量子フーリエ変換LNN−QFT−SSを行う量子回路(1p)を、自己相似的に分解して構成することを説明する模式図である。図18の中央に示されたLNN controlled phase shift circuit は、n個のqビットの量子フーリエ変換LNN−QFTn−SSを行う量子回路において、量子回路(2)に表れたn/4個の制御フェイズシフトを近傍2量子ビット演算となるように構成した量子回路を表しており、その詳細は後述する。図18の中央に示されたLNN controlled phase shift circuit の両脇に、近傍2量子ビット演算で構成されたn/2個のqビットの量子フーリエ変換LNN−QFTn/2−SSを行う量子回路が構成される。
LNN−QFTn/2−SSを行う量子回路は、LNN−QFTn−SSを行う量子回路と自己相似的に構成される。LNN−QFTn/2−SSを行う量子回路の中央に示されたLNN controlled phase shift circuit は、n/2個のqビットの量子フーリエ変換LNN−QFTn/2−SSを行う量子回路において、量子回路(2)に表れた(n/2)/4個の制御フェイズシフトを近傍2量子ビット演算となるように構成した量子回路を表している。LNN−QFTn/2−SSを行う量子回路の中央に示されたLNN controlled phase shift circuit の両脇に、近傍2量子ビット演算で構成された(n/2)/2個のqビットの量子フーリエ変換LNN−QFT(n/2)/2−SSを行う量子回路が構成される。
LNN−QFT(n/2)/2−SSを行う量子回路は、LNN−QFTn/2−SSを行う量子回路と自己相似的に構成される。LNN−QFT(n/2)/2−SSを行う量子回路の中央に示されたLNN controlled phase shift circuit は、(n/2)/2個のqビットの量子フーリエ変換LNN−QFT(n/2)/2−SSを行う量子回路において、量子回路(2)に表れた((n/2)/2)/4個の制御フェイズシフトを近傍2量子ビット演算となるように構成した量子回路を表している。LNN−QFT(n/2)/2−SSを行う量子回路の中央に示されたLNN controlled phase shift circuit の両脇に、近傍2量子ビット演算で構成された((n/2)/2)/2個のqビットの量子フーリエ変換LNN−QFT((n/2)/2)/2−SSを行う量子回路が構成される。
このような自己相似的な分解による構成を繰り返すことで、近似でない量子フーリエ変換を行う量子回路(1p)を構成するのであるが、量子回路LNN−QFTn/2〔d=1,2,…〕が、m≧n/2となる場合、量子回路LNN−QFTn/2を自己相似的に分解して構成することを中止する。つまり、量子回路LNN−QFTn/2は、量子回路(3)として構成される。
ここでは、説明の便宜から、nが2の冪乗数の場合を想定して説明したが、nが一般的に偶数の場合でも奇数の場合でも、上記2つの異なる点に注意して、量子回路(2)の構成の仕方と同様にして、量子回路(1p)を構成することができる。
そこで、nが偶数の場合と奇数の場合に分け、自己相似的に分解して量子回路(1p)を構成する方法を説明する。
量子回路(1p)へ入力されるn個のqビットの状態を|bn−1〉,…,|b〉とし、それぞれのqビットを順に第1-qビット、…、第n-qビットと云うことにする。つまり、最上位の配線に相当するqビットを第1-qビットとし、最下位の配線に相当するqビットを第n-qビットとする。また、記載の便宜から、第(・)-qビットなどとも記載する。
[nが偶数の場合]
《1》 第1-qビットから第(n/2)-qビットまでについて、近傍2量子ビット演算で構成した2n/2を法とする量子フーリエ変換を行う量子回路を適用する。
《2》 g=2,…,n/2+1について、順に、次の演算を行う量子回路とする。第(n/2−g+2j)-qビットと第(n/2−g+2j+1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行うものとする。並列に演算することで計算ステップ数の増加を抑圧する〔以下同様〕。
《3》 g=n/2+2,…,nについて、順に、次の演算を行う量子回路とする。第(g−n/2+2j−2)-qビットと第(g−n/2+2j−1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算は並列に行う。
なお、g=nの場合の最後のSWAPは、下記《4》の最初のSWAPと相殺されることになる。
《4》 g=n,…,n/2+2について、順に、次の演算を行う量子回路とする。第(g−n/2+2j−2)-qビットと第(g−n/2+2j−1)-qビットにSWAPを適用する。ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算は並列に行う。
《5》 g=n/2+1,…,2について、順に、次の演算を行う量子回路とする。第(n/2−g+2j)-qビットと第(n/2−g+2j+1)-qビットにSWAPを適用する。ただし、j=1,…,g−1とし、gごとに全てのjについての演算は並列に行う。
《6》 第(n/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2n/2を法とする量子フーリエ変換を行う量子回路を適用する。
[nが奇数の場合]
具体的には、2つの構成が可能である。
(パターン1)
《1》 第1-qビットから第((n+1)/2)-qビットまでについて、近傍2量子ビット演算で構成した2(n+1)/2を法とする量子フーリエ変換を行う量子回路を適用する。
《2》 g=2,…,(n+1)/2について、順に、次の演算を行う量子回路とする。第((n+1)/2−g+2j)-qビットと第((n+1)/2−g+2j+1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、j=1,…,g−1とし、gごとに全てのjについての演算は並列に行う。
《3》 g=(n+1)/2+1,…,nについて、順に、次の演算を行う量子回路とする。第(g−(n+1)/2+2j−2)-qビットと第(g−(n+1)/2+2j−1)ビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算は並列に行う。
なお、g=nの場合の最後のSWAPは、下記《4》の最初のSWAPと相殺されることに注意する。
《4》 g=n,…,(n+1)/2+1について、順に、次の演算を行う量子回路とする。第(g−(n+1)/2+2j−2)-qビットと第(g−(n+1)/2+2j−1)-qビットにSWAPを適用する。ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算は並列に行う。
《5》 g=(n+1)/2,…,2について、順に、次の演算を行う量子回路とする。第((n+1)/2−g+2j)-qビットと第((n+1)/2−g+2j+1)-qビットにSWAPを適用する。ただし、j=1,…,g−1とし、gごとに全てのjについての演算は並列に行う。
《6》 第((n+1)/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2 (n−1)/2を法とする量子フーリエ変換を行う量子回路を適用する。
(パターン2)
《1》 第1-qビットから第((n−1)/2)-qビットまでについて、近傍2量子ビット演算で構成した2(n−1)/2を法とする量子フーリエ変換を行う量子回路を適用する。
《2》 g=2,…,(n+1)/2について、順に、次の演算を行う量子回路とする。第((n+1)/2−g+2j−1)-qビットと第((n+1)/2−g+2j)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、j=1,…,g−1とし、gごとに全てのjについての演算は並列に行う。
《3》 g=(n+1)/2+1,…,nについて、順に、次の演算を行う量子回路とする。第(g−(n+1)/2+2j−1)-qビットと第(g−(n+1)/2+2j)ビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算は並列に行う。
なお、g=nの場合の最後のSWAPは、下記《4》の最初のSWAPと相殺されることに注意する。
《4》 g=n,…,(n+1)/2+1について、順に、次の演算を行う量子回路とする。第(g−(n+1)/2+2j−1)-qビットと第(g−(n+1)/2+2j)-qビットにSWAPを適用する。ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算は並列に行う。
《5》 g=(n+1)/2,…,2について、順に、次の演算を行う量子回路とする。第((n+1)/2−g+2j−1)-qビットと第((n+1)/2−g+2j)-qビットにSWAPを適用する。ただし、j=1,…,g−1とし、gごとに全てのjについての演算は並列に行う。
《6》 第((n−1)/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2 (n+1)/2を法とする量子フーリエ変換を行う量子回路を適用する。
[n=1の場合]
第1-qビットにアダマール変換を適用する。
より小さく2より大きい数2を法とする量子フーリエ変換の量子回路については、このBを新たなnと看做して、上記の場合分けに従って、自己相似的に分解して構成する。例えば、nが偶数の場合では、2n/2を法とする量子フーリエ変換を行う量子回路について、n/2を新たなnと看做して上記の場合分けに従って、自己相似的に分解して構成する。
なお、2以下の数を法とする量子フーリエ変換を行う量子回路については、さらなる自己相似的な分解をしない。2以下の数を法とする量子フーリエ変換を行う量子回路は、上述した近傍2量子ビット演算で構成された近似でない量子フーリエ変換LNN−QFTの量子回路(3)として構成される。
以下、量子回路(1p)の3つの具体例を示す。
図19に、n=8の場合であるLNN−QFT8−SSの量子回路(1p)を示す。LNN−QFT8−SSの量子回路(1p)は、[nが偶数の場合]で説明した方法に従って、次のように構成される。
《1》 第1-qビットから第(8/2)-qビットまでについて、近傍2量子ビット演算で構成した28/2を法とする量子フーリエ変換LNN−QFT4−SSを行う量子回路を構成する〔図19において符号α1で指示する量子回路〕。LNN−QFT4−SSを行う量子回路は、[nが偶数の場合]で説明した方法に従って構成される。
《2》 g=2,…,8/2+1について、次の演算を行う量子回路を構成する。第(8/2−g+2j)-qビットと第(8/2−g+2j+1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する〔図19において符号α2で指示する量子回路〕。ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う構成である。つまり、図19において、例えば実線で囲んだ部分は、1計算ステップで並列に演算可能であり、その他も同様である。
《3》 g=8/2+2,…,8について、次の演算を行う量子回路を構成する。第(g−8/2+2j−2)-qビットと第(g−8/2+2j−1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する〔図19において符号α3で指示する量子回路〕。ただし、j=1,…,8+1−gとし、gごとに全てのjについての演算は並列に行う構成である。g=8の場合の最後のSWAPは、次の《4》の最初のSWAPと相殺されることになるが図19では、説明の便宜で敢えて残している。
《4》 g=8,…,8/2+2について、次の演算を行う量子回路を構成する。第(g−8/2+2j−2)-qビットと第(g−8/2+2j−1)-qビットにSWAPを適用する〔図19において符号α4で指示する量子回路〕。ただし、j=1,…,8+1−gとし、gごとに全てのjについての演算は並列に行う構成である。
《5》 g=8/2+1,…,2について、次の演算を行う量子回路を構成する。第(8/2−g+2j)-qビットと第(8/2−g+2j+1)-qビットにSWAPを適用する〔図19において符号α5で指示する量子回路〕。ただし、j=1,…,g−1とし、gごとに全てのjについての演算は並列に行う構成である。
《6》 第(8/2+1)-qビットから第8-qビットまでについて、近傍2量子ビット演算で構成した28/2を法とする量子フーリエ変換LNN−QFT4−SSを行う量子回路を構成する〔図19において符号α6で指示する量子回路〕。LNN−QFT4−SSを行う量子回路は、[nが偶数の場合]で説明した方法に従って構成される。
図20に、n=7の場合であるLNN−QFT7−SSの(パターン1)の量子回路(1p)を示す。LNN−QFT7−SSの(パターン1)の量子回路(1p)は、[nが奇数の場合]の(パターン1)で説明した方法に従って、次のように構成される。
《1》 第1-qビットから第((7+1)/2)-qビットまでについて、近傍2量子ビット演算を用いて2(7+1)/2を法とする量子フーリエ変換LNN−QFT4−SSを行う量子回路を構成する〔図20において符号β1で指示する量子回路〕。LNN−QFT4−SSを行う量子回路は、[nが偶数の場合]で説明した方法に従って構成される。
《2》 g=2,…,(7+1)/2について、順に、次の演算を行う量子回路とする。第((7+1)/2−g+2j)-qビットと第((7+1)/2−g+2j+1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する〔図20において符号β2で指示する量子回路〕。ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う構成である。
《3》 g=(7+1)/2+1,…,7について、順に、次の演算を行う量子回路とする。第(g−(7+1)/2+2j−2)-qビットと第(g−(7+1)/2+2j−1)ビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する〔図20において符号β3で指示する量子回路〕。ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う構成である。g=7の場合の最後のSWAPは、次の《4》の最初のSWAPと相殺されることになるが図20では、説明の便宜で敢えて残している。
《4》 g=7,…,(7+1)/2+1について、順に、次の演算を行う量子回路とする。第(g−(7+1)/2+2j−2)-qビットと第(g−(7+1)/2+2j−1)-qビットにSWAPを適用する〔図20において符号β4で指示する量子回路〕。ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う構成である。
《5》 g=(7+1)/2,…,2について、順に、次の演算を行う量子回路とする。第((7+1)/2−g+2j)-qビットと第((7+1)/2−g+2j+1)-qビットにSWAPを適用する〔図20において符号β5で指示する量子回路〕。ただし、j=1,…,g−1とし、gごとに全てのjについてのて演算を並列に行う構成である。
《6》 第((7+1)/2+1)-qビットから第7-qビットまでについて、近傍2量子ビット演算を用いて2 (7−1)/2を法とする量子フーリエ変換を行う量子回路LNN−QFT3−SSを構成する〔図20において符号β6で指示する量子回路〕。LNN−QFT3−SSを行う量子回路は、[nが奇数の場合]で説明した方法に従って構成される。
図21に、n=7の場合であるLNN−QFT7−SSの(パターン2)の量子回路(1p)を示す。LNN−QFT7−SSの(パターン2)の量子回路(1p)は、[nが奇数の場合]の(パターン2)で説明した方法に従って、次のように構成される。
《1》 第1-qビットから第((7−1)/2)-qビットまでについて、近傍2量子ビット演算を用いて2(7−1)/2を法とする量子フーリエ変換LNN−QFT3−SSを行う量子回路を構成する〔図21において符号γ1で指示する量子回路〕。LNN−QFT3−SSを行う量子回路は、[nが奇数の場合]で説明した方法に従って構成される。
《2》 g=2,…,(7+1)/2について、順に、次の演算を行う量子回路とする。第((7+1)/2−g+2j−1)-qビットと第((7+1)/2−g+2j)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する〔図21において符号γ2で指示する量子回路〕。ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う構成とする。
《3》 g=(7+1)/2+1,…,7について、順に、次の演算を行う量子回路とする。第(g−(7+1)/2+2j−1)-qビットと第(g−(7+1)/2+2j)ビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する〔図21において符号γ3で指示する量子回路〕。ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う構成とする。g=7の場合の最後のSWAPは、次の《4》の最初のSWAPと相殺されることになるが図21では、説明の便宜で敢えて残している。
《4》 g=7,…,(7+1)/2+1について、順に、次の演算を行う量子回路とする。第(g−(7+1)/2+2j−1)-qビットと第(g−(7+1)/2+2j)-qビットにSWAPを適用する〔図21において符号γ4で指示する量子回路〕。ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う構成とする。
《5》 g=(7+1)/2,…,2について、順に、次の演算を行う量子回路とする。第((7+1)/2−g+2j−1)-qビットと第((7+1)/2−g+2j)-qビットにSWAPを適用する〔図21において符号γ5で指示する量子回路〕。ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う構成とする。
《6》 第((7−1)/2+1)-qビットから第7-qビットまでについて、近傍2量子ビット演算を用いて2 (7+1)/2を法とする量子フーリエ変換を行う量子回路LNN−QFT4−SSを構成する〔図21において符号γ6で指示する量子回路〕。LNN−QFT4−SSを行う量子回路は、[nが偶数の場合]で説明した方法に従って構成される。
上記の例では、(パターン1)で構成する場合には、より小さい奇数を法とする量子フーリエ変換を行う量子回路も(パターン1)で構成するとし、(パターン2)で構成する場合には、より小さい奇数を法とする量子フーリエ変換を行う量子回路も(パターン2)で構成するとして説明したが、このような構成に限定する意味ではない。より大きい奇数を法とする量子フーリエ変換を行う量子回路の構成パターンに束縛されることなく、随意のパターンで、より小さい奇数を法とする量子フーリエ変換を行う量子回路を構成できる。
近似でない量子フーリエ変換LNN−QFT−SSを行う量子回路(1p)から近似量子フーリエ変換LNN−AQFT−SSを行う量子回路(1)を構成する方法を説明する。一般的に、近似の閾値mはO(logn)程度とされる。
LNN−QFT−SSを行う量子回路(1p)において、角度2π/2(t>m)の制御フェイズシフトを恒等変換に置換する。これに伴い、角度2π/2(t=m)の制御フェイズシフトゲートの直後のSWAPおよび恒等変換とされた制御フェイズシフトゲートの直後のSWAPが、量子回路(1p)の構成方法で説明したいずれの場合の《4》および《5》で構成されたSWAPだけからなる量子回路部分のSWAPの一部と相殺され、量子回路全体が簡略化されることになる。つまり、角度2π/2(t=m)の制御フェイズシフトの直後のSWAPおよび恒等変換とされた制御フェイズシフトの直後のSWAPの各演算を行う量子回路Cと、量子回路(1p)の構成方法で説明したいずれの場合の《4》および《5》で構成されたSWAPだけからなる量子回路において量子回路Cの鏡像対称の量子回路部分とが相殺される。
この処理で得られた量子回路が、LNN−AQFT−SSを行う量子回路(1)である。
この量子回路(1)は、近似の閾値の下限をO(logn)とし、近傍2量子ビット演算を使って、O(n)個の計算ステップ数とO(nlogn)個の基本演算で近似量子フーリエ変換を行うものとなっている。
以下、LNN−AQFT−SSを行う量子回路(1)の3つの具体例を示す。
ここでは、図9との比較を容易にする観点から、近似の閾値mを5の場合として例示する。
図22に、図19に対応したLNN−AQFT8−SSを行う量子回路(1)を示す。
t=6,7,8に対応する制御フェイズシフトを恒等変換とみなすことから、符号α2で示した量子回路の最後(最右側)の4つのSWAPおよび符号α3で示した量子回路の6つのSWAPが、符号α4で示した量子回路の10つのSWAPと相殺される。図9と比較して明らかなように、SWAPが相殺されて低減することで、基本演算数が従来に比して低減した量子回路となる。
図22では、より小さい数を法とする量子フーリエ変換を行う量子回路として、具体的にはLNN−AQFT4−SSと表記しているが、近似の閾値mを5としているから、正確には、LNN−QFT4を行う量子回路となる。このLNN−QFT4を行う量子回路は、従来と同様に構成されたものであり、近傍2量子ビット演算で構成された近似でない量子フーリエ変換の量子回路(3)である。
仮に、mが3であれば、LNN−AQFT4−SSを行う量子回路をさらに自己相似的に構成すればよく、このとき、LNN−AQFT2−SSを行う量子回路が現われるが、2<3であるから、LNN−QFT2を行う量子回路とすればよい。つまり、LNN−AQFT8−SSを行う量子回路(1)は、LNN−QFT2を行う4つの量子回路と、3つのLNN controlled phase shift circuit とで構成される。
図23に、図20に対応したLNN−AQFT7−SSを行う量子回路(1)を示す。t=6,7,8に対応する制御フェイズシフトを恒等変換とみなすことから、符号β3で示した量子回路の6つのSWAPが、符号β4で示した量子回路の6つのSWAPと相殺される。
図23では、より小さい数を法とする量子フーリエ変換を行う量子回路として、具体的にはLNN−AQFT4−SSおよびLNN−AQFT3−SSと表記しているが、近似の閾値mを5としているから、正確には、それぞれLNN−QFT4を行う量子回路とLNN−QFT3を行う量子回路となる。これらのLNN−QFT4を行う量子回路とLNN−QFT3を行う量子回路は、従来と同様に構成されたものであり、近傍2量子ビット演算で構成された近似でない量子フーリエ変換の量子回路(3)である。
仮に、mが3であれば、LNN−AQFT4−SSを行う量子回路をさらに自己相似的に構成すればよく、このとき、LNN−AQFT2−SSを行う量子回路が現われるが、2<3であるから、LNN−QFT2を行う量子回路とすればよい。つまり、LNN−AQFT7−SSを行う量子回路(1)は、LNN−QFT2を行う2つの量子回路と、LNN−QFT3を行う量子回路と、2つのLNN controlled phase shift circuit とで構成される。
図24に、図21に対応したLNN−AQFT7−SSを行う量子回路(1)を示す。t=6,7,8に対応する制御フェイズシフトを恒等変換とみなすことから、符号β3で示した量子回路の6つのSWAPが、符号β4で示した量子回路の6つのSWAPと相殺される。
図24では、より小さい数を法とする量子フーリエ変換を行う量子回路として、具体的にはLNN−AQFT3−SSおよびLNN−AQFT4−SSと表記しているが、近似の閾値mを5としているから、正確には、それぞれLNN−QFT3を行う量子回路とLNN−QFT4を行う量子回路となる。これらのLNN−QFT3を行う量子回路とLNN−QFT4を行う量子回路は、従来と同様に構成されたものであり、近傍2量子ビット演算で構成された近似でない量子フーリエ変換の量子回路(3)である。
仮に、mが3であれば、LNN−AQFT4−SSを行う量子回路をさらに自己相似的に構成すればよく、このとき、LNN−AQFT2−SSを行う量子回路が現われるが、2<3であるから、LNN−QFT2を行う量子回路とすればよい。つまり、LNN−AQFT7−SSを行う量子回路(1)は、LNN−QFT2を行う2つの量子回路と、LNN−QFT3を行う量子回路と、2つのLNN controlled phase shift circuit とで構成される。
ここで、LNN−QFT4を行う量子回路を図25に、LNN−QFT3を行う量子回路を図26に示す。これらの量子回路(3)の構成は、背景技術で既に述べたとおりである。
〔量子演算方法〕
次に、本発明の量子回路(1)における量子演算方法について説明する。
量子回路(1)の構成方法から明らかなとおり、一般的には、分解の過程で奇数個のqビットに対する量子フーリエ変換を行う量子回路が生じるから、n個のqビットに対する本発明の量子回路を一意に決定することができない。
そこで、ここでは一例として、図22に示したLNN−AQFT8−SSを行う量子回路(1)における量子演算方法について説明する。入力状態は|b…b〉である。|b〉は第1-qビットの状態であり、|b〉は第2-qビットの状態であり、中略、|b〉は第7-qビットの状態であり、|b〉は第8-qビットの状態である。
一般的に、量子回路に従った演算は、入力側から出力側に向かって時系列に行われ、並列演算可能な演算は1計算ステップで全て演算される。
ステップS1
第1-qビットにアダマール変換を適用する。
ステップS2
第1-qビットと第2-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。
ステップS3
第1-qビットにアダマール変換を適用する。第2-qビットと第3-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、これらの演算を並列に行う。
ステップS4
第1-qビットと第2-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。第3-qビットと第4-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、これらの演算を並列に行う。
ステップS5
第1-qビットにアダマール変換を適用する。第2-qビットと第3-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、これらの演算を並列に行う。
ステップS6
第1-qビットと第2-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。
ステップS7
第1-qビットにアダマール変換を適用する。
ステップS8
第1-qビットと第2-qビットにSWAPを適用する。
ステップS9
第2-qビットと第3-qビットにSWAPを適用する。
ステップS10
第1-qビットと第2-qビットにSWAPを適用する。第3-qビットと第4-qビットにSWAPを適用する。ただし、これらの演算を並列に行う。
ステップS11
第2-qビットと第3-qビットにSWAPを適用する。
ステップS12
第1-qビットと第2-qビットにSWAPを適用する。
ステップS13
第4-qビットと第5-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。
ステップS14
第3-qビットと第4-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。第5-qビットと第6-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、これらの演算を並列に行う。
ステップS15
第2-qビットと第3-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。第4-qビットと第5-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。第6-qビットと第7-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、これらの演算を並列に行う。
ステップS16
第1-qビットと第2-qビットに角度2π/2の制御フェイズシフトを適用する。第3-qビットと第4-qビットに角度2π/2の制御フェイズシフトを適用する。第5-qビットと第6-qビットに角度2π/2の制御フェイズシフトを適用する。第7-qビットと第8-qビットに角度2π/2の制御フェイズシフトを適用する。ただし、これらの演算を並列に行う。
ステップS17
第2-qビットと第3-qビットにSWAPを適用する。第4-qビットと第5-qビットにSWAPを適用する。第6-qビットと第7-qビットにSWAPを適用する。ただし、これらの演算を並列に行う。
ステップS18
第3-qビットと第4-qビットにSWAPを適用する。第5-qビットと第6-qビットにSWAPを適用する。ただし、これらの演算を並列に行う。
ステップS19
第4-qビットと第5-qビットにSWAPを適用する。
ステップS20
第5-qビットにアダマール変換を適用する。
ステップS21
第5-qビットと第6-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。
ステップS22
第5-qビットにアダマール変換を適用する。第6-qビットと第7-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、これらの演算を並列に行う。
ステップS23
第5-qビットと第6-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。第7-qビットと第8-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、これらの演算を並列に行う。
ステップS24
第5-qビットにアダマール変換を適用する。第6-qビットと第7-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。ただし、これらの演算を並列に行う。
ステップS25
第5-qビットと第6-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する。
ステップS26
第5-qビットにアダマール変換を適用する。
ステップS27
第5-qビットと第6-qビットにSWAPを適用する。
ステップS28
第6-qビットと第7-qビットにSWAPを適用する。
ステップS29
第5-qビットと第6-qビットにSWAPを適用する。第7-qビットと第8-qビットにSWAPを適用する。ただし、これらの演算を並列に行う。
ステップS30
第6-qビットと第7-qビットにSWAPを適用する。
ステップS31
第5-qビットと第6-qビットにSWAPを適用する。
〔量子演算装置〕
次に、本発明の量子回路に則って近似量子フーリエ変換を行う量子演算装置について説明する。本発明の量子演算装置は、本発明の量子回路から明らかなように、nより小さな数を法とする量子フーリエ変換を行う量子演算部、SWAP演算を行う量子演算部、あるいは従来的な量子回路(3)で量子フーリエ変換を行う量子演算部で構成される。さらに、これらの量子演算部は、1量子ビット演算を行う量子演算部および近傍2量子ビット演算を行う量子演算部からなる。つまり、本発明の量子回路に示した量子ゲートが、量子演算装置の量子演算部に相当する。
量子演算装置は、量子コンピュータ単体で実現できる。量子コンピュータの実現する物理系としては、例えば、イオントラップを用いる方法(J. I. Cirac and P. Zoller, Quantum computations with cold trapped ions, Physical Review Letter 74;4091, 1995)、量子ビットとして光子の偏光や光路を用いる方法(Y. Nakamura, M. Kitagawa, K. Igeta, In 3-rd Proc. Asia-Pacific Phys. Comf., World Scientific, Singapore, 1988)、液体中の各スピンを用いる方法(Gershenfield, Chuang, Bulk spin resonance quantum computation, Science, 275;350, 1997)、シリコン結晶中の核スピンを用いる方法(B. E. Kane, A silicon-based nuclear spin quantum computer, Nature 393, 133, 1998)、量子ドット中の電子スピンを用いる方法(D. Loss and D. P. DiVincenzo, Quantum computation with quantum dots, Physical Review A 57, 120-126, 1998)、超伝導素子を用いる方法(Y. Nakamura, Yu. A. Pashkin and J. S. Tsai, Coherent control of macroscopic quantum states in a single-cooper pair box, Nature 393, 786-788, 1999)等を例示できる。また、それぞれの物理系に対する量子コンピュータの実現方法については、「http://www.ipa.go.jp/security/fy11/report/contents/crypto/crypto/report/QuantumComputers/contents/doc/qc_survey.pdf」や「M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Information, Cambridge University Press, Chapter 7 Physical Realization」に詳しい。
<量子ビット>
イオントラップ量子コンピュータでは、例えば、イオンの基底状態と励起状態を利用して量子ビットを実現する。また、核スピンを量子ビットとして用いる場合には、例えば、「T. D. Ladd, et al., "All-Silicon quantum computer," Phys. Rev. Lett., vol. 89, no. 1, 017901-1‐017901-4, July 1, 2002.」に記載されているようにSi(111)基板等に各量子ビットを生成する。なお、量子ビットの初期量子状態は、例えば、他の演算の量子回路による操作によって得られたものを用いてもよいし、各量子ビットが生成された基板をmK(ミリケルビン)オーダー以下に冷却してスピンの向きを揃えた後、所定の電磁波パルスを印加して生成してもよい。また、量子ビットとして光子の偏光を用いる場合には、例えば、パラメトリックダウンコンバージョン(PDC:parametric down conversion)(例えば、「P. G. Kwiat, K. Mattle, H. Weinfurter, A. Zeilinger, A. V. Sergienko, and Y. Shih, “New high-intensity source of polarization-entangled photon pairs,” Phys. Rev. Lett. ,75:4337-4341, 1995.」「P. G. Kwiat, E. Waks, A. G. White, I. Appelbaum, and P. H. Eberhard, “Ultrabright source of polarization-entangled photons,” Phys. Rev. A, 60:R773-R776, 1999.」等参照。)によって生成された複数個の単一光子を用いる。この場合、各量子ビットの初期量子状態は、例えば、他の演算の量子回路による操作によって得られたものを用いる。また、パラメトリックダウンコンバージョン等によって生成された単一光子に、ビームスプリッタや偏光回転素子等によって実現されるウォルシューアダマール変換、CNOT、回転等の操作を行い、上述の初期量子状態を生成することとしてもよい。
その他、上記の文献に記載された方法で量子ビットを用意することとしてもよい。
また、演算前後や演算途中において量子ビットの量子状態を保存する必要がある場合には、例えば、量子ドット内の電子準位、核スピン、あるいは超伝導体内部の電荷(クーパー対)量を量子ビットとして用いてデータを保存する量子メモリ等を用いてもよい(A.Barenco, D.Deutsch, and A.Ekert, Phys. Rev. Lett.74,4083(1995)、松枝秀明 電子情報通信学会誌 A Vol.J81-A No.12(1998)1978、T.H.Oosterkamp et.al., Nature 395,873(1998)、D.Loss and D.P. DiVincenzo, Phys. Rev. A57(1998) 120. T.Oshima, quant-ph/0002004, http://arxiv.org/abs/quant-ph/0002004、B.E.Kane, A silicon-based nuclear spin quantum computer, Nature, 393, 133(1998)、http://www.snf.unsw.edu.au/、Y.Nakamura, Yu. A. Pashkin and J.S.Tsai, Nature 398(1999)768)。
<CNOT演算>
イオントラップ量子コンピュータでは、例えば、イオンを直線上に並べ、各イオンに狙いを定めたレーザービーム照射によってCNOT演算を実現する。また、量子ビットとして光子の偏光を用いる場合には、例えば、偏光ビームスプリッタ等を用い、「T.B. Pittman, M.J. Fitch, B.C. Jacobs, J.D. Franson: “Experimental Controlled-NOT Logic Gate for Single Photons in the Coincidence Basis,” quant-ph/0303095, http://arxiv.org/abs/quant-ph/0303095」記載のPittman et al. 方式によってCNOT演算を実現する。また、核スピンを量子ビットとして用いる場合には、例えば、所定の電磁波パルスを量子ビットに印加することによってCNOT演算を実現できる。
その他、上記の文献に記載された方法でCNOT演算を実現してもよい。
<量子ビット単体操作>
イオントラップ量子コンピュータでは、例えば、イオンを直線上に並べ、各イオンに狙いを定めたレーザービーム照射によって量子ビット単体の操作を実現する。核スピンを量子ビットとして用いる場合には、電磁波パルスやレーザービーム照射によって各処理を実現する。また、量子ビットとして光子の偏光を用いる場合には、例えば、偏光回転素子等によって実現する。
なお、本発明は上述の実施の形態に限定されるものではなく、その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
ところで、本発明の量子回路に則って量子演算を行う手順自体は、古典コンピュータで決定することができる。
つまり、本発明の量子回路に則って量子演算を行う手順は、本発明の量子回路を入力側から出力側に向かって順に行う各計算ステップであるから、本発明の量子回路を構成した後、この量子回路の入力側から出力側に向かって順に行う各計算ステップを、量子演算を行う手順として決定できる。
具体的には、例えば図19で示した量子回路を例とすると、符号α1〜α6の各量子回路における量子演算を行う手順をそれぞれ決定し(この手順は、上述した符号α1〜α6の各量子回路の構成方法そのものである。ただし、符号α1およびα6の各量子回路については自己相似的に分解して繰り返しの構成となる。いずれにしても以上において説明したとおりである。)、さらに、角度2π/2(t>m)の制御フェイズシフトを恒等変換に置換して、相殺されるSWAPの演算手順を除外し、各量子回路で決定された量子演算を行う手順を、完成した量子回路(この例では図22に相当する。)の入力側から出力側に向かって順に手順を並べることで、本発明の量子回路に則って量子演算を行う手順を決定できる。ただし、1計算ステップで並行演算可能であれば、これらの演算を並行するものを1手順とすればよい。
換言すれば、この古典コンピュータは、図27から図32に示したステップS1〜ステップS31の手順を決定して出力するものといえる。
このような古典コンピュータ、つまり、本発明の近似量子フーリエ変換を行う量子回路における量子演算の手順を決定する近似量子フーリエ変換演算手順決定装置は、いわゆる古典的な装置構成で実現される。例えばパーソナルコンピュータに例示されるように、記憶装置(例えばRAM、ROMやハードディスク)、演算処理装置(例えばCPU)、入力・出力装置(例えばキーボード、ディスプレイ)、これらの装置間でデータのやり取りが可能に接続するバスなどを備えた古典コンピュータによって実現することができる。
この場合、例えば図19の例で符号α1〜α6の各量子回路における量子演算を行う手順をそれぞれ決定するための各プログラム、角度2π/2(t>m)の制御フェイズシフトを恒等変換に置換して、相殺されるSWAPの演算手順を除外するためのプログラム、各量子回路で決定された量子演算を行う手順を完成した量子回路(この例では図22に相当する。)の入力側から出力側に向かって順に手順を並べるためのプログラム記憶装置に記憶しておき、必要に応じて演算処理装置がプログラムを読み込んで解釈実行することで、符号α1〜α6の各量子回路における量子演算を行う手順をそれぞれ決定する各機能、角度2π/2(t>m)の制御フェイズシフトを恒等変換に置換して、相殺されるSWAPの演算手順を除外する機能、各量子回路で決定された量子演算を行う手順を完成した量子回路の入力側から出力側に向かって順に手順を並べる機能を実現する。また各プログラムは、コンピュータ読み取り可能な記録媒体(例えばCD−R、DVD−RAM、MO)に記録することもできる。
本発明の利用分野としては、例えば、位相推定や量子暗号などに用いられる。
を法とする近似でない量子フーリエ変換を行う量子回路(従来例)。 アダマール変換の量子回路。 制御フェイズシフトの量子回路。 制御フェイズシフトの量子回路。 近傍2量子ビット演算を用いた、2を法とする近似でない量子フーリエ変換を行う量子回路(従来例)。 SWAPの量子回路。 CNOTの量子回路。 INVの量子回路。 近似の閾値を5として、近傍2量子ビット演算を用いた、2を法とする近似量子フーリエ変換を行う量子回路(従来例)。 自己相似的に分解して構成した、2を法とする近似でない量子フーリエ変換を行う量子回路。 自己相似的に分解して構成した、2を法とする近似でない量子フーリエ変換を行う量子回路。 自己相似的に分解して構成した、2を法とする近似でない量子フーリエ変換を行う量子回路。 自己相似的に分解して構成した、2を法とする近似でない量子フーリエ変換を行う量子回路。 自己相似的に分解して構成した、2を法とする近似でない量子フーリエ変換を行う量子回路〔パターン1〕。 自己相似的に分解して構成した、2を法とする近似でない量子フーリエ変換を行う量子回路〔パターン1〕。 自己相似的に分解して構成した、2を法とする近似でない量子フーリエ変換を行う量子回路〔パターン2〕。 自己相似的に分解して構成した、2を法とする近似でない量子フーリエ変換を行う量子回路〔パターン2〕。 本発明の量子回路の構成概念図。 自己相似的に分解して構成した、近傍2量子ビット演算を用いた2を法とする近似でない量子フーリエ変換を行う量子回路。 自己相似的に分解して構成した、近傍2量子ビット演算を用いた2を法とする近似でない量子フーリエ変換を行う量子回路(パターン1)。 自己相似的に分解して構成した、近傍2量子ビット演算を用いた2を法とする近似でない量子フーリエ変換を行う量子回路(パターン2)。 近似の閾値を5として、自己相似的に分解して構成した、近傍2量子ビット演算を用いた2を法とする近似でない量子フーリエ変換を行う量子回路。 近似の閾値を5として、自己相似的に分解して構成した、近傍2量子ビット演算を用いた2を法とする近似でない量子フーリエ変換を行う量子回路(パターン1)。 近似の閾値を5として、自己相似的に分解して構成した、近傍2量子ビット演算を用いた2を法とする近似でない量子フーリエ変換を行う量子回路(パターン2)。 近傍2量子ビット演算を用いた、2を法とする近似でない量子フーリエ変換を行う量子回路。 近傍2量子ビット演算を用いた、2を法とする近似でない量子フーリエ変換を行う量子回路。 図22に示した量子回路における量子演算方法のフロー図(その1)。 図22に示した量子回路における量子演算方法のフロー図(その2)。 図22に示した量子回路における量子演算方法のフロー図(その3)。 図22に示した量子回路における量子演算方法のフロー図(その4)。 図22に示した量子回路における量子演算方法のフロー図(その5)。 図22に示した量子回路における量子演算方法のフロー図(その6)。
符号の説明
1 近似量子フーリエ変換を行う量子回路

Claims (3)

  1. 近似の閾値を正整数nよりも小さい正整数mとし、2を法とする近似量子フーリエ変換を行う量子回路であって、
    n個のqビットである第1-qビット、…、第n-qビットに対して、
    nが偶数の場合、
    《1》第1-qビットから第(n/2)-qビットまでについて、近傍2量子ビット演算で構成した2n/2を法とする量子フーリエ変換を行う量子回路を構成し、
    《2》g=2,…,n/2+1について、順に、第(n/2−g+2j)-qビットと第(n/2−g+2j+1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
    《3》g=n/2+2,…,nについて、順に、第(g−n/2+2j−2)-qビットと第(g−n/2+2j−1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
    《4》g=n,…,n/2+2について、順に、第(g−n/2+2j−2)-qビットと第(g−n/2+2j−1)-qビットにSWAPを適用する演算を行うSWAP量子回路を構成し〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
    《5》g=n/2+1,…,2について、順に、第(n/2−g+2j)-qビットと第(n/2−g+2j+1)-qビットにSWAPを適用する演算を行うSWAP量子回路を構成し〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
    《6》第(n/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2n/2を法とする量子フーリエ変換を行う量子回路を構成し、
    nが奇数の場合、
    パターン1またはパターン2のいずれかで、
    (パターン1)
    《1》第1-qビットから第((n+1)/2)-qビットまでについて、近傍2量子ビット演算で構成した2(n+1)/2を法とする量子フーリエ変換を行う量子回路を構成し、
    《2》g=2,…,(n+1)/2について、順に、第((n+1)/2−g+2j)-qビットと第((n+1)/2−g+2j+1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
    《3》g=(n+1)/2+1,…,nについて、順に、第(g−(n+1)/2+2j−2)-qビットと第(g−(n+1)/2+2j−1)ビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
    《4》g=n,…,(n+1)/2+1について、順に、第(g−(n+1)/2+2j−2)-qビットと第(g−(n+1)/2+2j−1)-qビットにSWAPを適用する演算を行うSWAP量子回路を構成し〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
    《5》g=(n+1)/2,…,2について、順に、第((n+1)/2−g+2j)-qビットと第((n+1)/2−g+2j+1)-qビットにSWAPを適用する演算を行うSWAP量子回路を構成し〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
    《6》第((n+1)/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2 (n−1)/2を法とする量子フーリエ変換を行う量子回路を構成し、
    (パターン2)
    《1》第1-qビットから第((n−1)/2)-qビットまでについて、近傍2量子ビット演算で構成した2(n−1)/2を法とする量子フーリエ変換を行う量子回路を構成し、
    《2》g=2,…,(n+1)/2について、順に、第((n+1)/2−g+2j−1)-qビットと第((n+1)/2−g+2j)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
    《3》g=(n+1)/2+1,…,nについて、順に、第(g−(n+1)/2+2j−1)-qビットと第(g−(n+1)/2+2j)ビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
    《4》g=n,…,(n+1)/2+1について、順に、第(g−(n+1)/2+2j−1)-qビットと第(g−(n+1)/2+2j)-qビットにSWAPを適用する演算を行うSWAP量子回路を構成し〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
    《5》g=(n+1)/2,…,2について、順に、第((n+1)/2−g+2j−1)-qビットと第((n+1)/2−g+2j)-qビットにSWAPを適用する演算を行うSWAP量子回路を構成し〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
    《6》第((n−1)/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2 (n+1)/2を法とする量子フーリエ変換を行う量子回路を構成し、
    n=1の場合、
    第1-qビットにアダマール変換を適用する量子回路を構成し、
    上記の手順で構成された量子回路において、2より小さく2より大きい数2を法とする量子フーリエ変換の量子回路については、このBを新たなnと看做して、上記の場合分けに従った手順で量子回路を構成し、
    以下の数を法とする量子フーリエ変換を行う量子回路Aについては、
    量子回路Aへ入力されるN個のqビットである第1-qビット、…、第N-qビットに対して、
    《1》g=1,…,Nについて、順に、
    g=1の場合、
    第1-qビットにアダマール変換を適用する演算を行う量子回路を構成し、
    gが3以上の奇数の場合、
    第1-qビットにアダマール変換を適用する演算を行う量子回路を構成し、
    第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは3からgまでの奇数とし、gごとに第1-qビットに対するアダマール変換および全てのjについての演算を並列に行う量子回路とする。〕、
    gが偶数の場合、
    第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは2からgまでの偶数とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
    《2》g=N−1,…,1について、順に、
    g=1の場合、
    第1-qビットにアダマール変換を適用する演算を行う量子回路を構成し、
    gが3以上の奇数の場合、
    第1-qビットにアダマール変換を適用する演算を行う量子回路を構成し、
    第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは3からgまでの奇数とし、gごとに第1-qビットに対するアダマール変換および全てのjについての演算を並列に行う量子回路とする。〕、
    gが偶数の場合、
    第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは2からgまでの偶数とし、gごとに全てのjについての演算を並列に行う量子回路とする。〕、
    《3》g=1,…,N−1について、順に、
    gが奇数の場合、
    第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは1からgまでの奇数とし、gごとに全てのjについてのSWAPを並列に行う量子回路とする。〕、
    gが偶数の場合、
    第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは2からgまでの偶数とし、gごとに全てのjについてのSWAPを並列に行う量子回路とする。〕、
    《4》g=N−2,…,1について、順に、
    gが奇数の場合、
    第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは1からgまでの奇数とし、gごとに全てのjについてのSWAPを並列に行う量子回路とする。〕、
    gが偶数の場合、
    第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行う量子回路を構成し〔ただし、jは2からgまでの偶数とし、gごとに全てのjについてのSWAPを並列に行う量子回路とする。〕、
    これまでの手順で構成された量子回路において、角度2π/2(t>m)の制御フェイズシフトを恒等変換に置換し、
    角度2π/2(t=m)の制御フェイズシフトの直後のSWAPおよび恒等変換とされた制御フェイズシフトの直後のSWAPの各演算を行う量子回路Cと、上記SWAP量子回路において量子回路Cの鏡像対称の量子回路部分とを相殺して構成された
    ことを特徴とする近似量子フーリエ変換を行う量子回路。
  2. 請求項1に記載の近似量子フーリエ変換を行う量子回路に則り、
    入力された第1-qビットの状態|bn−1〉,…,第n-qビットの状態|b〉に対して近似量子フーリエ変換を行う
    ことを特徴とする近似量子フーリエ変換演算方法。
  3. 近似の閾値を正整数nよりも小さい正整数mとし、2を法とする近似量子フーリエ変換を行う近似量子フーリエ変換演算装置が演算対象とするn個のqビットである第1-qビット、…、第n-qビットに対して、
    nが偶数の場合、
    《1》第1-qビットから第(n/2)-qビットまでについて、近傍2量子ビット演算で構成した2n/2を法とする量子フーリエ変換を行う量子演算部を備え、
    《2》g=2,…,n/2+1について、順に、第(n/2−g+2j)-qビットと第(n/2−g+2j+1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行うものとする。〕、
    《3》g=n/2+2,…,nについて、順に、第(g−n/2+2j−2)-qビットと第(g−n/2+2j−1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行うものとする。〕、
    《4》g=n,…,n/2+2について、順に、第(g−n/2+2j−2)-qビットと第(g−n/2+2j−1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行うものとする。〕、
    《5》g=n/2+1,…,2について、順に、第(n/2−g+2j)-qビットと第(n/2−g+2j+1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行うものとする。〕、
    《6》第(n/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2n/2を法とする量子フーリエ変換を行う量子演算部を備え、
    nが奇数の場合、
    パターン1またはパターン2のいずれかで、
    (パターン1)
    《1》第1-qビットから第((n+1)/2)-qビットまでについて、近傍2量子ビット演算で構成した2(n+1)/2を法とする量子フーリエ変換を行う量子演算部を備え、
    《2》g=2,…,(n+1)/2について、順に、第((n+1)/2−g+2j)-qビットと第((n+1)/2−g+2j+1)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行うものとする。〕、
    《3》g=(n+1)/2+1,…,nについて、順に、第(g−(n+1)/2+2j−2)-qビットと第(g−(n+1)/2+2j−1)ビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行うものとする。〕、
    《4》g=n,…,(n+1)/2+1について、順に、第(g−(n+1)/2+2j−2)-qビットと第(g−(n+1)/2+2j−1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行うものとする。〕、
    《5》g=(n+1)/2,…,2について、順に、第((n+1)/2−g+2j)-qビットと第((n+1)/2−g+2j+1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行うものとする。〕、
    《6》第((n+1)/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2 (n−1)/2を法とする量子フーリエ変換を行う量子演算部を備え、
    (パターン2)
    《1》第1-qビットから第((n−1)/2)-qビットまでについて、近傍2量子ビット演算で構成した2(n−1)/2を法とする量子フーリエ変換を行う量子演算部を備え、
    《2》g=2,…,(n+1)/2について、順に、第((n+1)/2−g+2j−1)-qビットと第((n+1)/2−g+2j)-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行うものとする。〕、
    《3》g=(n+1)/2+1,…,nについて、順に、第(g−(n+1)/2+2j−1)-qビットと第(g−(n+1)/2+2j)ビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行うものとする。〕、
    《4》g=n,…,(n+1)/2+1について、順に、第(g−(n+1)/2+2j−1)-qビットと第(g−(n+1)/2+2j)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、j=1,…,n+1−gとし、gごとに全てのjについての演算を並列に行うものとする。〕、
    《5》g=(n+1)/2,…,2について、順に、第((n+1)/2−g+2j−1)-qビットと第((n+1)/2−g+2j)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、j=1,…,g−1とし、gごとに全てのjについての演算を並列に行うものとする。〕、
    《6》第((n−1)/2+1)-qビットから第n-qビットまでについて、近傍2量子ビット演算で構成した2 (n+1)/2を法とする量子フーリエ変換を行う量子演算部を備え、
    n=1の場合、
    第1-qビットにアダマール変換を適用する量子演算部を備え、
    上記の手順で構成された量子演算装置において、2より小さく2より大きい数2を法とする量子フーリエ変換の量子演算部については、このBを新たなnと看做して、上記の場合分けに従った手順で量子演算部を構成し、
    以下の数を法とする量子フーリエ変換を行う量子演算部Dについては、
    量子演算部Dへ入力されるN個のqビットである第1-qビット、…、第N-qビットに対して、
    《1》g=1,…,Nについて、順に、
    g=1の場合、
    第1-qビットにアダマール変換を適用する演算を行う量子演算部を備え、
    gが3以上の奇数の場合、
    第1-qビットにアダマール変換を適用する演算を行う量子演算部を備え、
    第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、jは3からgまでの奇数とし、gごとに第1-qビットに対するアダマール変換および全てのjについての演算を並列に行うものとする。〕、
    gが偶数の場合、
    第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、jは2からgまでの偶数とし、gごとに全てのjについての演算を並列に行うものとする。〕、
    《2》g=N−1,…,1について、順に、
    g=1の場合、
    第1-qビットにアダマール変換を適用する演算を行う量子演算部を備え、
    gが3以上の奇数の場合、
    第1-qビットにアダマール変換を適用する演算を行う量子演算部を備え、
    第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、jは3からgまでの奇数とし、gごとに第1-qビットに対するアダマール変換および全てのjについての演算を並列に行うものとする。〕、
    gが偶数の場合、
    第(j−1)-qビットと第j-qビットに角度2π/2の制御フェイズシフトを適用し、さらにこれらのqビットにSWAPを適用する演算を行う量子演算部を備え〔ただし、jは2からgまでの偶数とし、gごとに全てのjについての演算を並列に行うものとする。〕、
    《3》g=1,…,N−1について、順に、
    gが奇数の場合、
    第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、jは1からgまでの奇数とし、gごとに全てのjについてのSWAPを並列に行うものとする。〕、
    gが偶数の場合、
    第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、jは2からgまでの偶数とし、gごとに全てのjについてのSWAPを並列に行うものとする。〕、
    《4》g=N−2,…,1について、順に、
    gが奇数の場合、
    第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、jは1からgまでの奇数とし、gごとに全てのjについてのSWAPを並列に行うものとする。〕、
    gが偶数の場合、
    第j-qビットと第(j+1)-qビットにSWAPを適用する演算を行うSWAP演算部を備え〔ただし、jは2からgまでの偶数とし、gごとに全てのjについてのSWAPを並列に行うものとする。〕、
    以上に従って構成された近似量子フーリエ変換演算装置において、角度2π/2(t>m)の制御フェイズシフトを行う量子演算部を、恒等変換を行う量子演算部に置換し、
    角度2π/2(t=m)の制御フェイズシフトの直後のSWAPおよび恒等変換とされた制御フェイズシフトの直後のSWAPの各演算を行う量子演算部Eと、上記SWAP演算部において量子演算部Eの鏡像対称の量子演算部とを備えずに構成された
    ことを特徴とする近似量子フーリエ変換演算装置。
JP2006225709A 2006-08-22 2006-08-22 近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換演算方法および装置 Expired - Fee Related JP4332167B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006225709A JP4332167B2 (ja) 2006-08-22 2006-08-22 近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換演算方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006225709A JP4332167B2 (ja) 2006-08-22 2006-08-22 近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換演算方法および装置

Publications (2)

Publication Number Publication Date
JP2008052365A true JP2008052365A (ja) 2008-03-06
JP4332167B2 JP4332167B2 (ja) 2009-09-16

Family

ID=39236393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006225709A Expired - Fee Related JP4332167B2 (ja) 2006-08-22 2006-08-22 近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換演算方法および装置

Country Status (1)

Country Link
JP (1) JP4332167B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033385A (ja) * 2011-08-02 2013-02-14 Nippon Telegr & Teleph Corp <Ntt> 量子回路生成装置、方法、プログラム及び記録媒体
KR20190007375A (ko) * 2017-07-12 2019-01-22 한국전자통신연구원 제어 큐비트에 기초하여 타겟 큐비트의 위상을 쉬프트시키는 양자 회로
CN113692593A (zh) * 2018-07-06 2021-11-23 华沙大学 执行量子傅里叶-克拉夫丘克变换(qkt)的方法及实施该方法的设备
JP2022035109A (ja) * 2020-08-20 2022-03-04 国立大学法人 東京大学 量子回路生成装置、量子回路生成方法及び量子回路生成プログラム
CN114529003A (zh) * 2022-01-29 2022-05-24 西安电子科技大学 面向多量子比特量子傅里叶变换线路的分割方法
WO2022249963A1 (ja) * 2021-05-24 2022-12-01 国立大学法人東京大学 量子回路
WO2024121981A1 (ja) 2022-12-07 2024-06-13 三菱電機株式会社 近似量子フーリエ変換装置、近似量子フーリエ変換方法及び近似量子フーリエ変換プログラム

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033385A (ja) * 2011-08-02 2013-02-14 Nippon Telegr & Teleph Corp <Ntt> 量子回路生成装置、方法、プログラム及び記録媒体
KR20190007375A (ko) * 2017-07-12 2019-01-22 한국전자통신연구원 제어 큐비트에 기초하여 타겟 큐비트의 위상을 쉬프트시키는 양자 회로
KR102338755B1 (ko) 2017-07-12 2021-12-16 한국전자통신연구원 제어 큐비트에 기초하여 타겟 큐비트의 위상을 쉬프트시키는 양자 회로
CN113692593B (zh) * 2018-07-06 2024-04-26 华沙大学 执行量子傅里叶-克拉夫丘克变换(qkt)的方法及实施该方法的设备
CN113692593A (zh) * 2018-07-06 2021-11-23 华沙大学 执行量子傅里叶-克拉夫丘克变换(qkt)的方法及实施该方法的设备
JP2022035109A (ja) * 2020-08-20 2022-03-04 国立大学法人 東京大学 量子回路生成装置、量子回路生成方法及び量子回路生成プログラム
JP7511230B2 (ja) 2020-08-20 2024-07-05 国立大学法人 東京大学 量子回路生成装置、量子回路生成方法及び量子回路生成プログラム
WO2022249963A1 (ja) * 2021-05-24 2022-12-01 国立大学法人東京大学 量子回路
JP2022180189A (ja) * 2021-05-24 2022-12-06 国立大学法人 東京大学 量子回路
CN114529003A (zh) * 2022-01-29 2022-05-24 西安电子科技大学 面向多量子比特量子傅里叶变换线路的分割方法
WO2024121981A1 (ja) 2022-12-07 2024-06-13 三菱電機株式会社 近似量子フーリエ変換装置、近似量子フーリエ変換方法及び近似量子フーリエ変換プログラム
JP7570584B1 (ja) * 2022-12-07 2024-10-21 三菱電機株式会社 近似量子フーリエ変換装置、近似量子フーリエ変換方法及び近似量子フーリエ変換プログラム
EP4589487A4 (en) * 2022-12-07 2025-09-10 Mitsubishi Electric Corp APPROXIMATE QUANTUM FOURIER TRANSFORM DEVICE, APPROXIMATE QUANTUM FOURIER TRANSFORM METHOD, AND APPROXIMATE QUANTUM FOURIER TRANSFORM PROGRAM

Also Published As

Publication number Publication date
JP4332167B2 (ja) 2009-09-16

Similar Documents

Publication Publication Date Title
García-Álvarez et al. Digital quantum simulation of minimal AdS/CFT
Albanese et al. Mirror inversion of quantum states in linear registers
JP4847914B2 (ja) 量子加算演算方法及び量子加算演算装置
JP5351862B2 (ja) 量子演算方法、量子演算装置
Perriello et al. A complete quantum circuit to solve the information set decoding problem
JP5227942B2 (ja) 量子誤り推定装置、量子誤り推定方法、そのプログラム、量子誤り訂正装置、量子誤り訂正方法
Gard et al. Inefficiency of classically simulating linear optical quantum computing with Fock-state inputs
JP4332167B2 (ja) 近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換演算方法および装置
JP5204698B2 (ja) 量子演算方法、量子演算装置、量子回路
JP4700413B2 (ja) 量子演算装置及び量子回路を用いた量子演算方法
JP5129646B2 (ja) 量子回路、量子演算装置及び量子演算方法
Lin Shor’s algorithm and the quantum Fourier transform
JP6182123B2 (ja) 量子演算方法
Yamaguchi et al. Experiments and resource analysis of Shor’s factorization using a quantum simulator
Smith et al. Entangled state preparation for non-binary quantum computing
JP5496921B2 (ja) 量子演算方法、量子演算装置
van Meter et al. Approximate exchange-only entangling gates for the three-spin-1/2 decoherence-free subsystem
Tutul et al. Shallow Depth Factoring Based on Quantum Feasibility Labeling and Variational Quantum Search
JP4366348B2 (ja) 量子計算方法及び量子計算装置
JP4829623B2 (ja) 量子演算方法及び量子演算装置
JP5118461B2 (ja) 量子演算装置、逆2次位相変換演算装置、それらの方法、プログラム及び記録媒体
JP4718190B2 (ja) 量子探索装置、量子探索方法及びプログラム
EP4375886A1 (en) Digital quantum simulations of fermion-boson systems in two-dimensional quantum computing systems
Hwang et al. Quantum circuit design for computer-assisted Shor's algorithm
KR102740845B1 (ko) 양자 컴퓨터 상의 곱셈 장치 및 곱셈 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090430

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090609

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090619

R150 Certificate of patent or registration of utility model

Ref document number: 4332167

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130626

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140626

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees