JP4366348B2 - 量子計算方法及び量子計算装置 - Google Patents
量子計算方法及び量子計算装置 Download PDFInfo
- Publication number
- JP4366348B2 JP4366348B2 JP2005278052A JP2005278052A JP4366348B2 JP 4366348 B2 JP4366348 B2 JP 4366348B2 JP 2005278052 A JP2005278052 A JP 2005278052A JP 2005278052 A JP2005278052 A JP 2005278052A JP 4366348 B2 JP4366348 B2 JP 4366348B2
- Authority
- JP
- Japan
- Prior art keywords
- quantum
- unit
- qubit
- calculation
- qubits
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/60—Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/20—Models of quantum computing, e.g. quantum circuits or universal quantum computers
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
Description
図34は、図31におけるCU(A)=CU(A・20)の演算の詳細を示した量子回路である。図34に示すようにCU(A)は、d∈{0,1}と、U=u0・・・u4と、j+2個の0とをそれぞれ示す量子状態の入力に対し、d=1であれば、dとA・U mod Nの各桁(dとA・U mod N)0・・・(dとA・U mod N)4と、j+2個の0とをそれぞれ示す量子状態を生成し、d=0であれば、入力の量子状態をそのまま出力する。ここで、図34のCSWAPは、図35のように示すような演算子である。また、図35に用いられる各演算子の構成を図36(a)(b)及び図37に示す。なお、図31のCU(A・21)・・・CU(A・29)は、図34のAをA・21・・・A・29に置換したものになる。
図39は、図38におけるQFT(量子フーリエ変換)の演算の詳細を示した量子回路である。なお、図39のK∈{2,…,6}は図40のような演算子である。また、図38のQFT−1は、QFTの逆演算を示す。
S. BEAUREGARD, CIRCUIT FOR SHOR’S ALGORITHM USING 2N + 3 QUBITS, QUANTUM INFORMATION AND COMPUTATION, Vol. 3 No. 2, pp. 175‐185, 2003. PETER W. SHOR, POLYNOMIAL-TIME ALGORITHMS FOR PRIME FACTORIZATION AND DISCRETE LOGARITHMS ON A QUANTUM COMPUTER, SIAM J. COMPUT, Vol. 26, No. 5, pp. 1484‐1509, October 1997. M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Information, Cambridge, 2000.
本発明はこのような点に鑑みてなされたものであり、従来よりも少ない量子ビットを使って、位数発見に有用な2j桁の2進数Cを高い確率で求めることを可能にする技術を提供することを目的とする。
また、本発明において好ましくは、COMPARISON演算部が行う第1量子操作は、HIGHBIT演算部が、量子ビットQBj−1,…,QB0と、量子ビットQUj−1,…,QU1と、量子ビットQZと対して第2量子操作を行い、量子ビットQZを、z(+)β〔βはA−N+Bの最上位桁、(+)は排他的論理和〕を示す量子状態とし、他の量子ビットQBj−1,…,QB0、QUj−1,…,QU1の量子状態を当該第2量子操作前の量子状態とし、第2NOT演算部が、量子ビットQZにNOT演算を施し、古典制御NOT演算部が、メモリから読み込まれたA−Nの桁(a−n)h(h∈{j−1,…,0})が1となるhに対応する量子ビットQBhのみにNOT演算を施し、第3NOT演算部が、各量子ビットQBj−1,…,QB0にNOT演算を施し、第2Toffoli演算部が、各量子ビットQBj−1,…,QB0を制御ビットとし、量子ビットQZを目標ビットとしたToffoli演算を施し、第3NOT演算部が、各量子ビットQBj−1,…,QB0にNOT演算を施し、古典制御NOT演算部が、メモリから読み込まれたA−Nの桁(a−n)hが1となるhに対応する量子ビットQBhのみにNOT演算を施す操作である。
〔第1の実施の形態〕
<機能構成>
図1は、本形態における量子計算装置1の構成を例示したブロック図である。
図1に例示するように、本形態の量子計算装置1は、量子ビット10、入力部20、古典メモリ30、減算部40、乗算部50、量子計算制御部60、量子演算部70及び観測部80を有している。また、量子演算部70は、初期量子状態生成部71、CV部72、H(アダマール)演算部、Rk演算部74及びXCK演算部75を有している。
[処理の全体]
量子計算装置1は、入力されたj桁の2進数N=nj−1…n0(nj−1,…,n0∈{0,1})と、Nより小さいj桁の2進数A=aj−1…a0(aj−1,…,a0∈{0,1})に対し、2j+2個の量子ビットを用いたjの3乗に比例した計算ステップ数のjの4乗に比例した個数の基本演算を施し、位数発見に有用な2j桁の2進数C=c2j−1…c0(cj−1,…,c0∈{0,1})を高い確率で出力する。以下、この処理の詳細を説明していく。
まず、2進数j桁のN=nj−1…n0と、Nよりも小さい2進数j桁のA=aj−1…a0とが入力部20から入力され、古典メモリ30(図1)に格納される(ステップS1)。なお、jは例えば予め装置に設定された値とする。次に、量子計算制御部60の制御のもと初期量子状態生成部71が、量子ビットQD1,QD2,QU1〜QUj−1,QB0〜QBj−1,QZの初期量子状態を生成する(ステップS2)。この例では、量子ビットQD2の量子状態を、1を示すものとし、他の量子ビットの量子状態を、0を示すものとする。次に、H演算部73が、量子ビットQD1に対してH(アダマール)演算(図32(a))を適用する(ステップS3)。なお、量子演算を適用するとは、演算に相当する量子操作を量子ビットに施すことを意味する。次に、量子計算制御部60が変数gaに0を代入して古典メモリ30に格納し、さらに乗算部50が古典メモリ30から読み出したA及びgaを用いてA・22j−ga−1を算出し、これを量子計算制御部60に送る(ステップS4)。次に、量子計算制御部60は、送られたA・22j−ga−1を用いてCV演算部72を制御し、CV演算部72は、量子ビットQD1を制御ビットとして、量子ビットQD2,QU1〜QUj−1,QB0〜QBj−1,QZに対し、CV(A・22j−ga−1)演算を適用する(ステップS5)。なお、この演算の詳細は後述する。次に、H演算部73が、量子ビットQD1に対してH演算(図32(a))を適用する(ステップS6)。次に、量子計算制御部60が、古典メモリ30から変数gaを読み出し、観測部80に量子ビットQD1の量子状態を観測させて、その観測結果をcgaとして古典メモリ30に格納する(ステップS7)。この観測により量子ビットQD1の量子状態はcgaに縮約する(以下も同様)。
[CV(A)演算の詳細]
次に、ステップS5,S11で触れたCV演算の詳細を説明する。なお、以下では、AをパラメータとしたCV(A)演算を例にとって説明するが、このAをA・22j−ga−1に置換すればCV(A・22j−ga−1)演算に一般化できる。
図12に例示するように、CV(A)演算を示す量子回路は、dとU=uj−1…u0(uj−1,…,u0∈{0,1})とj+1個の0とをそれぞれ示す量子状態の量子ビットQD1,QD2,QU1〜QUj−1〔QUh’(h’∈{0,…,j−1})がuh’に対応〕,QB0〜QBj−1,QZを入力とし、d=1であれば、量子ビットQD1,QD2,QU1〜QUj−1,QB0〜QBj−1,QZを、dとA・U mod Nの各桁(A・U mod N)0…(A・U mod N)j−1とj+1個の0とをそれぞれ示す量子状態とし、d=0であれば、入力の量子状態を維持するものである。この構成は、図34の従来構成において、上から2j+3番目の量子状態を保持する量子ビットを削除し、CMULT(A)MOD(N)をM(A)MOD(N)に置換したものに相当する。以下、このCV(A)演算の詳細を説明する。
次に、ステップS21,S24で触れたM(A)MOD(N)演算, M(A−1)MOD(N)演算の詳細を説明する。なお、以下では、AをパラメータとしたM(A)MOD(N)演算を例にとって説明するが、このAをA−1に置換すればM(A−1)MOD(N)演算となる。
図6は、このM(A)MOD(N)演算の詳細を説明するためのフローチャートである。また、図13は、j=5の場合におけるM(A)MOD(N)演算を例示した量子回路である。
次に、ステップS31,S35で触れたADD(A)MOD(N)演算, ADD(2gb・A)MOD(N)演算の詳細を説明する。なお、以下では、AをパラメータとしたADD(A)MOD(N)演算を例にとって説明するが、このAを2gb・Aに置換すればADD(2gb・A)MOD(N)演算となる。
図7は、このADD(A)MOD(N)演算の詳細を説明するためのフローチャートである。また、図15は、j=5の場合におけるADD(A)MOD(N)演算を例示した量子回路である。
次に、NOT演算部126が、量子ビットQZに対してNOT演算を適用し(ステップS45)、φADD−1演算部125が、量子ビットQD1,QD2,QZを制御ビットとして、量子ビットQD1,QD2,QZがそれぞれ示す量子状態が全て1である場合にのみ、量子ビットQB0〜QBj−1に対し、φADD(N−A)−1演算を適用する(ステップS46)。なお、φADD(N−A)−1演算とはφADD(N−A)演算の逆演算を意味する。すなわち、ステップS46では、量子ビットQD1,QD2,QZを制御ビットとし、量子ビットQD1,QD2,QZがそれぞれ示す量子状態が全て1である場合にのみ、φADD−1演算部125が、1を示す量子状態の量子ビットQBkのみに対し、
次に、NOT演算部126が、量子ビットQZに対してNOT演算を適用し(ステップS47)、QFT−1演算部123が、量子ビットQB0〜QBj−1に対し、QFT演算の逆演算であるQFT−1演算を適用する(ステップS48)。次に、古典メモリ30からAを読み込んだ量子計算制御部60の制御のもと、COMPARISON演算部121が、量子ビットQD1,QD2を制御ビットとして、量子ビットQD1,QD2がそれぞれ示す量子状態がともに1である場合にのみ、量子ビットQU1〜QUj−1,QB0〜QBj−1,QZに対し、COMPARISON(A)演算を適用する(ステップS49)。なお、COMPARISON(A)の詳細については後述する。そして、Toffoli演算部127が、量子ビットQD1,QD2を制御ビットとし、量子ビットQZを目標ビットとしたToffoli演算を適用する(ステップS50)。
次に、ステップS42,S49で触れたCOMPARISON(N−A)演算, COMPARISON(A)演算の詳細を説明する。なお、以下では、AをパラメータとしたCOMPARISON(A)演算を例にとって説明するが、このAをN−Aに置換すればCOMPARISON(N−A)演算となる。
図8は、このCOMPARISON(A)演算の詳細を説明するためのフローチャートである。また、図16は、j=5の場合におけるCOMPARISON(A)演算を例示した量子回路である。
次に、ステップS51で触れたHIGHBIT(A)演算の詳細を説明する。
図9及び10は、このHIGHBIT(A)演算の詳細を説明するためのフローチャートである。また、図18は、j=5の場合におけるHIGHBIT(A)演算を例示した量子回路である。
図18に例示するように、HIGHBIT(A)演算を示す量子回路は、B=bj−1…b0とu1,…,uj−1とzとをそれぞれ示す量子ビットQB0〜QBj−1,QU1〜QUj−1,QZに対し、B=bj−1…b0とu1,…,uj−1とをそれぞれ示す量子状態の量子ビットQB0〜QBj−1,QU1〜QUj−1と、z(+)βを示す量子状態の量子ビットQZとを出力する。なお、βはA+Bの最上位ビットの値を意味する。以下、HIGHBIT(A)演算の詳細を説明する。
次に、古典メモリ30からAと変数gcとを読み込んだ量子計算制御部60の制御のもと、E演算部142が、量子ビットQUgc,QUgc−1,QBgcに対し、E(agc)演算を適用する(ステップS63)。
図20は、このF(agc)演算を示した量子回路である。図20に示すように、F(agc)演算は、p,r,s∈{0,1}をそれぞれ示す量子状態の3つの量子ビットQUgc−1,QBgc,QUgcを入力とする。そして、F演算部143は、まず、agc=1の場合にのみ量子ビットQBgcを制御ビットとし、量子ビットQUgcを目標ビットとした制御NOT演算を適用し、さらに量子ビットQUgcにNOT演算を適用する。次に、F演算部143は、量子ビットQUgc−1,QBgcを制御ビットとし、量子ビットQUgcを目標ビットとしたToffoli演算を適用する。これらの操作により、3つの量子ビットQUgc−1,QBgc,QUgcの量子状態が、それぞれp,agc(+)r,s(+)p・agc(+)agc・r(+)r・pを示すものとなる。以上がF(agc)演算である。
次に、古典メモリ30からAと変数gcとを読み込んだ量子計算制御部60の制御のもと、E演算部142が、量子ビットQUgc,QUgc−1,QBgcに対し、E(agc)演算を適用する(ステップS77)。次に、量子計算制御部60が、古典メモリ30に格納された変数gcがj−1であるか否かを判断する(ステップS78)。ここで、gc=j−1でなければ、量子計算制御部60は、gc+1を新たなgcとして古典メモリ30に格納した後(ステップS79)、処理をステップS77に戻す。一方、gc=j−1であれば、HIGHBIT(A)演算を終了させる。
本形態は、第1の実施の形態の変形例である。第1の実施の形態では、A=aj−1…a0を古典情報として取り扱っていたが、第2の実施の形態では、A=aj−1…a0を量子情報として取り扱う。なお、以下では、第1の実施の形態との相違点を中心に説明し、第1の実施の形態と共通する事項については説明を省略する。
<構成>
図21は、本形態における量子計算装置200の機能構成を例示したブロック図である。
図22(a)は、本形態のCV演算部272が有するCONPARISON演算部321の詳細構成を例示した図である。この図に示すようにCONPARISON演算部321は、HIGHBIT演算部331、NOT演算部332、制御NOT演算部333及びToffoli演算部334を有している。図22(b)は、HIGHBIT演算部331の詳細構成を例示した図である。この図に示すようにHIGHBIT演算部331は、制御NOT演算部341、E演算部342、F演算部343、Toffoli演算部344、NOT演算部345及びF−1演算部343を有している。なお、その他の詳細構成については第1の実施の形態と同様であるため説明を省略する。
以下では第1の実施の形態との相違点を中心に説明する。
[初期量子状態生成]
第1の実施の形態では、初期量子状態生成部71が、量子ビットQD1,QD2,QU1〜QUj−1,QB0〜QBj−1,QZの初期量子状態を生成していたが(ステップS2)、本形態の初期量子状態生成部271(図21)は、さらにQA0〜QAj−1の初期量子状態も生成する。具体的には、古典メモリ30からA=aj−1…a0を読み込んだ量子計算制御部60の制御のもと、初期量子状態生成部271が、量子ビットQA0,…QAj−1の量子状態を、それぞれA=aj−1…a0の各桁a0,…,aj−1の値を示す量子状態とする。
第1の実施の形態では、A=aj−1…a0を古典情報としてCV演算を行っていたが、本形態では、量子ビットQA0,…QAj−1を用い、A=aj−1…a0を量子情報としてCV演算を行う。以下では、CONPARISON演算とHIGHBIT演算のみを説明する。その他の演算については、量子ビットQA0,…QAj−1を用いたCONPARISON演算とHIGHBIT演算の結果を用いる以外は、第1の実施の形態と同様である。
図23は、本形態のCONPARISON演算の詳細を説明するためのフローチャートである。また、図26は、j=5の場合における本形態のCOMPARISON演算を例示した量子回路である。
図26に例示するように、本形態のCOMPARISON演算を示す量子回路は、A=aj−1…a0とB=bj−1…b0とu1,…,uj−1とzとをそれぞれ示す量子ビットQA0〜QAj−1,QB0〜QBj−1,QU1〜QUj−1,QZに対し、A=aj−1…a0とB=bj−1…b0とu1,…,uj−1とをそれぞれ示す量子状態の量子ビットQA0〜QAj−1,QB0〜QBj−1,QU1〜QUj−1と、z(+)αを示す量子状態の量子ビットQZとを出力する。また、αは、A>Bの場合にα=1となり、A≦Bの場合にα=0となる値である。すなわち、COMPARISON演算は、A>Bの場合にのみ、量子ビットQZの量子状態を反転させる演算である。以下、このCOMPARISON演算の詳細を説明する。
次に、ステップS102で触れたHIGHBIT演算の詳細を説明する。
図24及び25は、このHIGHBIT演算の詳細を説明するためのフローチャートである。また、図27は、j=5の場合における、このHIGHBIT演算を例示した量子回路である。
図27に例示するように、HIGHBIT演算を示す量子回路は、A=aj−1…a0とB=bj−1…b0とu1,…,uj−1とzとをそれぞれ示す量子ビットQB0〜QBj−1,QU1〜QUj−1,QZに対し、B=bj−1…b0とu1,…,uj−1とをそれぞれ示す量子状態の量子ビットQA0〜QAj−1,QB0〜QBj−1,QU1〜QUj−1と、z(+)βを示す量子状態の量子ビットQZとを出力する。なお、βはA+Bの最上位ビットの値を意味する。以下、HIGHBIT演算の詳細を説明する。
次に、古典メモリ30から変数gcを読み込んだ量子計算制御部60の制御のもと、E演算部142が、量子ビットQUgc,QUgc−1,QAgc,QBgcに対し、E演算を適用する(ステップS113)。
量子ビットQA1を制御ビットとし、量子ビットQB1を目標ビットとした制御NOT演算を適用する(ステップS117)。さらに、Toffoli演算部344は、量子ビットQA0,QB0,QB1を制御ビットとし、量子ビットQU1を目標ビットとしたToffoli演算を適用する(ステップS118)。図30は、このようなToffoli演算を示した量子回路である。なお図30では、それぞれの量子状態が、p,q,r,sである量子ビットQA0,QB0,QB1,QU1を入力とした例を示している。
図29は、このF演算を示した量子回路である。図29に示すように、F演算は、p,q,r,s∈{0,1}をそれぞれ示す量子状態の4つの量子ビットQUgc−1,QAgc,QBgc,QUgcを入力とする。そして、F演算部343は、まず、量子ビットQAgc,QBgcを制御ビットとし、量子ビットQUgcを目標ビットとしたToffoli演算を適用し、さらにQAgcを制御ビットとし、量子ビットQBgcを目標ビットとした制御NOT演算を適用する。次に、E演算部142は、量子ビットQUgc−1,QBgcを制御ビットとし、量子ビットQUgcを目標ビットとしたToffoli演算を適用する。これらの演算により、4つの量子ビットQUgc−1,QAgc,QBgc,QUgcの量子状態が、それぞれp,q,q(+)r,s(+)p・q(+)q・r(+)r・pを示すものとなる。以上がF演算である。
次に、古典メモリ30から変数gcとAの要素agcとを読み込んだ量子計算制御部60の制御のもと、F−1演算部346が、量子ビットQUgc,QUgc−1,QAgc,QBgcに対し、F演算の逆演算であるF−1演算を適用する(ステップS123)。
量子ビットQA1を制御ビットとし、量子ビットQB1を目標ビットとした制御NOT演算を適用する(ステップS127)。さらに、
Toffoli演算部344は、量子ビットQA1,QB1を制御ビットとし、量子ビットQU1を目標ビットとしたToffoli演算を適用する(ステップS128)。
次に各実施の形態の量子計算装置1,200のハードウェア構成を例示する。
本形態の量子演算装置1は、量子コンピュータと古典コンユータとの組合せ、或いは量子コンピュータ単体で実現できる。量子コンピュータの実現する物理系としては、例えば、イオントラップを用いる方法(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)、
1127708374343_6
、Y.Nakamura, Yu. A. Pashkin and J.S.Tsai, Nature 398(1999)768)。
イオントラップ量子コンピュータでは、例えば、イオンを直線上に並べ、各イオンに狙いを定めたレーザービーム照射によって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演算を実現できる。
<量子ビット単体操作>
イオントラップ量子コンピュータでは、例えば、イオンを直線上に並べ、各イオンに狙いを定めたレーザービーム照射によって量子ビット単体の操作を実現する。核スピンを量子ビットとして用いる場合には、電磁波パルスやレーザービーム照射によって各処理を実現する。また、量子ビットとして光子の偏光を用いる場合には、例えば、偏光回転素子等によって実現する。
量子計算制御部60は、例えば公知のコンピュータに所定のプログラムを実行させて実現してもよいし、上述の量子コンピュータによって実現してもよい。また、古典メモリ30は、DRAM、SRAM、フラッシュメモリ、NV(Nonvolatile)RAM等の読書き可能な半導体メモリである。また、古典メモリ30の代わりに上述の量子メモリを用いてもよい。
なお、本発明は上述の実施の形態に限定されるものではなく、その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
Claims (5)
- 2進数j桁のN=nj−1…n0と、2進数j桁のF=f j−1…f 0と、2進数j桁のB=b j−1 …b 0 とから、F+B mod Nを算出する量子計算方法であって、
(a)メモリに上記NとFとを格納するステップと、
(b)減算部が、上記メモリから読み込んだNとFとからN−Fを算出するステップと、
(c)第1COMPARISON演算部が、上記減算部が算出したN−Fを用い、前記B=bj−1…b0の各桁をそれぞれ示す量子状態の量子ビットQBj−1, … ,QB0と、任意の量子状態の量子ビットQUj−1,… QU1,QZと、に対し、前記N−FとBとを比較する第1量子操作を行い、N−F>Bの場合にのみ量子ビットQZの量子状態を反転させるステップと、
(d)QFT演算部が、前記第1COMPARISON演算部が演算した結果の量子ビットQB j−1 ,…,QB 0 にQFT(量子フーリエ変換)演算を適用するステップと、
(e)φADD演算部が、前記第1COMPARISON演算部が演算した結果の量子ビットQZが1を示す量子状態のときのみ、前記QFT演算部が演算した結果の前記量子ビットQB j−1 ,…,QB 0 のうち1を示す量子状態の量子ビットQB k (0≦k≦j−1)に対し、
(ただし、量子ビットQB k の量子状態を|QB k 〉とし、eをネピア数とし、iを虚数単位とする)の演算を施すステップと、
(f)第1NOT演算部が、前記第1COMPARISON演算部が演算した結果の量子ビットQZにNOT演算を施すステップと、
(g)φADD −1 演算部が、前記第1NOT演算部が演算した結果の量子ビットQZが1を示す量子状態のときのみ、前記φADD演算部が演算した結果の量子ビットQB j−1 ,…,QB 0 のうち1を示す量子状態の量子ビットQB k (0≦k≦j−1)に対し、
(ただし、N−F=(n−f) j−1 …(n−f) 0 とする)の演算を施すステップと、
(h)第2NOT演算部が、前記第1NOT演算部が演算した結果の量子ビットQZにNOT演算を施すステップと、
(i)QFT −1 演算部が、前記φADD −1 演算部が演算した結果の量子ビットQB j−1 ,…,QB 0 にQFT演算の逆演算を適用するステップと、
(j)第2COMPARISON演算部が、前記FとBと用い、前記QFT −1 演算部が演算した結果の量子ビットQB j−1 ,… ,QB 0 と、前記第1COMPARISON演算部が演算した結果の量子ビットQU j−1 ,…,QU 1 と前記第2NOT演算部が演算した結果の量子ビットQZと、に対し、前記FとBとを比較する第1量子操作を行い、F>Bの場合にのみ前記第2NOT演算部が演算した結果の量子ビットQZの量子状態を反転させる量子操作を行うステップと、を実行し、
前記第2COMPARISON演算部が演算した結果の量子ビットQB 0 ・・・QB j−1 を前記F+B mod Nの各桁に対応する量子状態を表す量子ビットとして出力することを特徴とする量子計算方法。 - 請求項1に記載のF+B mod Nを算出する量子計算方法を用いて、前記2進数j桁のN=n j−1 …n 0 と、前記Nよりも小さい2進数j桁のA=a j−1 …a 0 とから、A R =1 mod Nを満たす最小のRの算出に有用な値C=c 2j−1 ・・・c 0 を計算する量子計算方法であって、
初期量子状態生成部が、0と1と2j個の0とをそれぞれ示す量子ビットQD 1 ,QD 2 ,QU 1 ,・・・QU j−1 ,QB 0 ,・・・,QB j−1 ,QZを生成するステップと、
(A)H演算部が、量子ビットQD 1 にアダマール演算を適用するステップと、
(B)第1乗算部が、前記Aと変数gaとからA・2 2j−ga−1 を算出するステップと、
(C)第1M MOD演算部が、量子ビットQD 1 とQD 2 とが1を示す量子状態のときのみ、量子ビットQU 1 ,・・・QU j−1 ,QB 0 ,・・・,QB j−1 ,QZとに対し、前記第1乗算部が算出したA・2 2j−ga−1 から計算した2 0 ・A・2 2j−ga−1 を前記Fとして請求項1に記載のステップ(a)〜(j)を実行し、その結果の量子ビットQD 1 とQD 2 を制御ビットとしQZを標的ビットとするToffoli演算を適用し、さらに、変数gb=1からj−1まで、量子ビットQD 2 とU gb にSWAP演算を適用し、前記変数gbと前記第1乗算部が算出したA・2 2j−ga−1 とから計算した2 gb ・A・2 2j−ga−1 を前記Fとして請求項1に記載のステップ(a)〜(j)を適用し、その結果の量子ビットQD 2 とQU gb にSWAP演算を適用する演算を繰り返すステップと、
(D)CSWAP演算部が、量子ビットQD 1 ,QD 2 ,QU 1 ,・・・QU j−1 ,QB 0 ,・・・,QB j−1 に対し、QD 2 をQU 0 として、k=0からj−1について、QB k を制御ビットとしQU k を目標ビットとした制御NOT演算を適用し、QD 1 とQU k を制御ビットとしQB k を目標ビットとしたToffoli演算を適用し、QB k を制御ビットとしQU k を目標ビットとした制御NOT演算を適用するステップと、
(E)第2乗算部が、前記第1乗算部で算出したA・2 2j−ga−1 から(A・2 2j−ga−1 ) −1 を算出するステップと、
(F)第2M MOD演算部が、量子ビットQD 1 とQD 2 とが1を示す量子状態のときのみ、量子ビットQU 1 ,・・・QU j−1 ,QB 0 ,・・・,QB j−1 ,QZとに対し、前記第2乗算部が算出した(A・2 2j−ga−1 ) −1 から計算した2 0 ・(A・2 2j−ga−1 ) −1 を前記Fとして請求項1に記載の(a)〜(j)を適用し、その結果の量子ビットQD 1 とQD 2 を制御ビットとしQZを標的ビットとするToffoli演算を適用し、さらに、その結果の量子ビットに対して、変数gb=0からj−1まで、量子ビットQD 2 とU gb にSWAP演算を適用し、前記変数gbと前記第2乗算部が算出した(A・2 2j−ga−1 ) −1 とから計算した2 gb ・(A・2 2j−ga−1 ) −1 を前記Fとして請求項1に記載のステップ(a)〜(j)を適用し、その結果の量子ビットQD 2 とQU gb にSWAP演算を適用する演算を繰り返すステップと、
(G)観測部が、量子ビットQD 1 の量子状態を観測し、その結果を前記c ga として前記メモリに格納するステップと、
(H)X ck 演算部が、前記観測部で観測した結果c ga が1のときのみ、量子ビットQD 1 の量子状態を反転させるステップと、
(I)R k 演算部が、量子ビットQD 1 が1を示す量子状態のときのみ、QD 1 に
(ただし、量子ビットQD 1 の量子状態を|QD 1 >とする)の演算を施すステップと、
量子計算制御部が、変数gaに0を代入して上記ステップ(A)〜(F)を順に実行させ、その結果の量子ビットに対して上記ステップ(A)を実行させ、更に、上記ステップ(G)を実行させ、その結果の量子ビットに対して、変数ga=1からga=2j−1まで順番にgaを1ずつ増やしながら上記ステップ(H),(A)〜(F),(I),(G)を順に実行させ、前記観測部が観測したc ga (ga=0,・・・,2j−1)を前記A R =1 mod Nを満たす最小のRの算出に有用な値Cの各桁として出力することを特徴とする量子計算方法。 - 請求項1又は2に記載の量子計算方法であって、
上記第1COMPARISON演算部が行う上記第1量子操作は、
HIGHBIT演算部が、量子ビットQBj−1,…,QB0と、量子ビットQUj−1,…,QU1と、量子ビットQZと対して第2量子操作を行い、量子ビットQZを、z(+)β〔βはN−F+Bの最上位桁、(+)は排他的論理和〕を示す量子状態とし、他の量子ビットQBj−1,…,QB0、QUj−1,…,QU1の量子状態を当該第2量子操作前の量子状態とするステップと、
第3NOT演算部が、量子ビットQZにNOT演算を施すステップと、
古典情報によって制御される第4NOT演算部が、上記メモリから読み込まれた古典情報であるN−Fの桁(n−f)h(h∈{j−1,…,0})の値が1となるhに対応する量子ビットQBhのみにNOT演算を施すステップと、
第5NOT演算部が、各量子ビットQBj−1,…,QB0にNOT演算を施すステップと、
第2Toffoli演算部が、各量子ビットQBj−1,…,QB0を制御ビットとし、量子ビットQZを目標ビットとしたToffoli演算を施すステップと、
第6NOT演算部が、各量子ビットQBj−1,…,QB0にNOT演算を施すステップと、
古典情報によって制御される第7NOT演算部が、上記メモリから読み込まれた古典情報であるN−Fの桁(n−f)h の値が1となるhに対応する量子ビットQBhのみにNOT演算を施すステップと、
を有することを特徴とする量子計算方法。 - 2進数j桁のN=nj−1…n0と、2進数j桁のF=f j−1…f 0と、2進数j桁のB=b j−1 …b 0 とから、F+B mod Nを算出する量子計算装置であって、
上記NとFとを格納するメモリと、
上記メモリから読み込んだNとFとからN−Fを算出する減算部と、
上記減算部が算出したN−Fを用い、前記B=bj−1…b0の各桁をそれぞれ示す量子状態の量子ビットQBj−1, … ,QB0と、任意の量子状態の量子ビットQUj−1,… QU1,QZと、に対し、前記N−FとBとを比較する第1量子操作を行い、N−F>Bの場合にのみ量子ビットQZの量子状態を反転させる第1COMPARISON演算部と、
前記第1COMPARISON演算部が演算した結果の量子ビットQB j−1 ,…,QB 0 にQFT(量子フーリエ変換)演算を適用するQFT演算部と、
前記第1COMPARISON演算部が演算した結果の量子ビットQZが1を示す量子状態のときのみ、前記QFT演算部が演算した結果の前記量子ビットQB j−1 ,…,QB 0 のうち1を示す量子状態の量子ビットQB k (0≦k≦j−1)に対し、
(ただし、量子ビットQB k の量子状態を|QB k 〉とし、eをネピア数とし、iを虚数単位とする)の演算を施すφADD演算部と、
前記第1COMPARISON演算部が演算した結果の量子ビットQZにNOT演算を施す第1NOT演算部と、
前記第1NOT演算部が演算した結果の量子ビットQZが1を示す量子状態のときのみ、前記φADD演算部が演算した結果の量子ビットQB j−1 ,…,QB 0 のうち1を示す量子状態の量子ビットQB k (0≦k≦j−1)に対し、
(ただし、N−F=(n−f) j−1 …(n−f) 0 とする)の演算を施すφADD −1 演算部と、
前記第1NOT演算部が演算した結果の量子ビットQZにNOT演算を施す第2NOT演算部と、
前記φADD −1 演算部が演算した結果の量子ビットQB j−1 ,…,QB 0 にQFT演算の逆演算を適用するQFT −1 演算部と、
前記FとBと用い、前記QFT −1 演算部が演算した結果の量子ビットQB j−1 ,… ,QB 0 と、前記第1COMPARISON演算部が演算した結果の量子ビットQU j−1 ,…,QU 1 と前記第2NOT演算部が演算した結果の量子ビットQZと、に対し、前記FとBとを比較する第1量子操作を行い、F>Bの場合にのみ前記第2NOT演算部が演算した結果の量子ビットQZの量子状態を反転させる量子操作を行う第2COMPARISON演算部と、を有し、
前記第2COMPARISON演算部が演算した結果の量子ビットQB 0 ・・・QB j−1 を前記F+B mod Nの各桁に対応する量子状態を表す量子ビットとして出力することを特徴とする量子計算装置。 - 請求項1に記載のF+B mod Nを算出する量子計算方法を用いて、前記2進数j桁のN=n j−1 …n 0 と、前記Nよりも小さい2進数j桁のA=a j−1 …a 0 とから、A R =1 mod Nを満たす最小のRの算出に有用な値C=c 2j−1 ・・・c 0 を計算する量子計算装置であって、
0と1と2j個の0とをそれぞれ示す量子ビットQD 1 ,QD 2 ,QU 1 ,・・・QU j−1 ,QB 0 ,・・・,QB j−1 ,QZを生成する初期量子状態生成部と、
量子ビットQD 1 にアダマール演算を適用するH演算部と、
前記Aと変数gaとからA・2 2j−ga−1 を算出する第1乗算部と、
量子ビットQD 1 とQD 2 とが1を示す量子状態のときのみ、量子ビットQU 1 ,・・・QU j−1 ,QB 0 ,・・・,QB j−1 ,QZとに対し、前記第1乗算部が算出したA・2 2j−ga−1 から計算した2 0 ・A・2 2j−ga−1 を前記Fとして請求項1に記載のステップ(a)〜(j)を実行し、その結果の量子ビットQD 1 とQD 2 を制御ビットとしQZを標的ビットとするToffoli演算を適用し、さらに、変数gb=1からj−1まで、量子ビットQD 2 とU gb にSWAP演算を適用し、前記変数gbと前記第1乗算部が算出したA・2 2j−ga−1 とから計算した2 gb ・A・2 2j−ga−1 を前記Fとして請求項1に記載のステップ(a)〜(j)を適用し、その結果の量子ビットQD 2 とQU gb にSWAP演算を適用する演算を繰り返す第1M MOD演算部と、
量子ビットQD 1 ,QD 2 ,QU 1 ,・・・QU j−1 ,QB 0 ,・・・,QB j−1 に対し、QD 2 をQU 0 として、k=0からj−1について、QB k を制御ビットとしQU k を目標ビットとした制御NOT演算を適用し、QD 1 とQU k を制御ビットとしQB k を目標ビットとしたToffoli演算を適用し、QB k を制御ビットとしQU k を目標ビットとした制御NOT演算を適用するCSWAP演算部と、
前記第1乗算部で算出したA・2 2j−ga−1 から(A・2 2j−ga−1 ) −1 を算出する第2乗算部と、
量子ビットQD 1 とQD 2 とが1を示す量子状態のときのみ、量子ビットQU 1 ,・・・QU j−1 ,QB 0 ,・・・,QB j−1 ,QZとに対し、前記第2乗算部が算出した(A・2 2j−ga−1 ) −1 から計算した2 0 ・(A・2 2j−ga−1 ) −1 を前記Fとして請求項1に記載の(a)〜(j)を適用し、その結果の量子ビットQD 1 とQD 2 を制御ビットとしQZを標的ビットとするToffoli演算を適用し、さらに、その結果の量子ビットに対して、変数gb=0からj−1まで、量子ビットQD 2 とU gb にSWAP演算を適用し、前記変数gbと前記第2乗算部が算出した(A・2 2j−ga−1 ) −1 とから計算した2 gb ・(A・2 2j−ga−1 ) −1 を前記Fとして請求項1に記載のステップ(a)〜(j)を適用し、その結果の量子ビットQD 2 とQU gb にSWAP演算を適用する演算を繰り返す第2M MOD演算部と、
量子ビットQD 1 の量子状態を観測し、その結果を前記c ga として前記メモリに格納する観測部と、
前記観測部で観測した結果c ga が1のときのみ、量子ビットQD 1 の量子状態を反転させるX ck 演算部と、
量子ビットQD 1 が1を示す量子状態のときのみ、QD 1 に
(ただし、量子ビットQD 1 の量子状態を|QD 1 >とする)の演算を施すR k 演算部と、
変数gaに0を代入し、上記H演算部の処理(A)、上記第1乗算部の処理(B)、上記第1M MOD演算部の処理(C)、上記CSWAP演算部の処理(D)、上記第2乗算部の処理(E)、及び上記第2M MOD演算部の処理(F)を順に実行させ、その結果の量子ビットに対して上記処理(A)を実行させ、更に、上記観測部の処理(G)を実行させ、その結果の量子ビットに対して、変数ga=1からga=2j−1まで順番にgaを1ずつ増やしながら上記X ck 演算部の処理(H)、上記処理(A)〜(F),上記R k 演算部の処理(I),上記処理(G)を順に実行させ、前記観測部が観測したc ga (ga=0,・・・,2j−1)を前記A R =1 mod Nを満たす最小のRの算出に有用な値Cの各桁として出力させる量子計算制御部と、
を有することを特徴とする量子計算装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005278052A JP4366348B2 (ja) | 2005-09-26 | 2005-09-26 | 量子計算方法及び量子計算装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005278052A JP4366348B2 (ja) | 2005-09-26 | 2005-09-26 | 量子計算方法及び量子計算装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007087307A JP2007087307A (ja) | 2007-04-05 |
| JP4366348B2 true JP4366348B2 (ja) | 2009-11-18 |
Family
ID=37974205
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005278052A Expired - Lifetime JP4366348B2 (ja) | 2005-09-26 | 2005-09-26 | 量子計算方法及び量子計算装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4366348B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8957699B2 (en) * | 2012-10-26 | 2015-02-17 | Northrop Grumman Systems Corporation | Efficient Toffoli state generation from low-fidelity single qubit magic states |
-
2005
- 2005-09-26 JP JP2005278052A patent/JP4366348B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2007087307A (ja) | 2007-04-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Wang et al. | Qudits and high-dimensional quantum computing | |
| Bhatia et al. | An efficient quantum computing technique for cracking RSA using Shor’s algorithm | |
| Shen et al. | Scalable implementation of boson sampling with trapped ions | |
| JP4847914B2 (ja) | 量子加算演算方法及び量子加算演算装置 | |
| Hey | Quantum computing: an introduction | |
| US20050133780A1 (en) | Quantum-state-generating apparatus, Bell measurement apparatus, quantum gate apparatus, and method for evaluating fidelity of quantum gate | |
| WO2007006144A1 (en) | Systems, methods and apparatus for factoring numbers | |
| Herrman et al. | Continuous-time quantum walks on dynamic graphs | |
| JP5227942B2 (ja) | 量子誤り推定装置、量子誤り推定方法、そのプログラム、量子誤り訂正装置、量子誤り訂正方法 | |
| JP5351862B2 (ja) | 量子演算方法、量子演算装置 | |
| JP5204698B2 (ja) | 量子演算方法、量子演算装置、量子回路 | |
| JP4700413B2 (ja) | 量子演算装置及び量子回路を用いた量子演算方法 | |
| Kim et al. | Distributed variational quantum algorithm with many-qubit for optimization challenges | |
| JP5129646B2 (ja) | 量子回路、量子演算装置及び量子演算方法 | |
| Hughes | Cryptography, quantum computation and trapped ions | |
| Hughes | Quantum computation | |
| Niemann et al. | Synthesis of quantum circuits for dedicated physical machine descriptions | |
| JP4366348B2 (ja) | 量子計算方法及び量子計算装置 | |
| JP4332167B2 (ja) | 近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換演算方法および装置 | |
| JP6182123B2 (ja) | 量子演算方法 | |
| Kenarangui et al. | " Quantum supremacy" challenged. Instantaneous noise-based logic with benchmark demonstrations | |
| Iftemi et al. | Quantum computing applications and impact for cyber physical systems | |
| JP4829623B2 (ja) | 量子演算方法及び量子演算装置 | |
| Freegarde et al. | Algorithmic cooling in a momentum state quantum computer | |
| Anand | How quantum computing powers the future of artificial intelligence |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070810 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090414 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090612 |
|
| 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: 20090811 |
|
| 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: 20090824 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120828 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4366348 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: 20130828 Year of fee payment: 4 |
|
| 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 |
|
| EXPY | Cancellation because of completion of term |