JP4700413B2 - 量子演算装置及び量子回路を用いた量子演算方法 - Google Patents
量子演算装置及び量子回路を用いた量子演算方法 Download PDFInfo
- Publication number
- JP4700413B2 JP4700413B2 JP2005160200A JP2005160200A JP4700413B2 JP 4700413 B2 JP4700413 B2 JP 4700413B2 JP 2005160200 A JP2005160200 A JP 2005160200A JP 2005160200 A JP2005160200 A JP 2005160200A JP 4700413 B2 JP4700413 B2 JP 4700413B2
- Authority
- JP
- Japan
- Prior art keywords
- qubits
- quantum
- qubit
- cnot
- maj
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
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)
- Complex Calculations (AREA)
Description
例えば非特許文献1及び2では、量子コンピュータにおいて、2つの2進数a=an−1…a0及びb=bn−1…b0と、0または1のzとが入力として与えられたとき、a+b=sn…s0を計算し、z(+)snとsn−1…s0とaとを出力とする量子回路が開示されている。ただし、α(+)βは、αとβとのmod2での加算(排他的論理和)を示す。
この図に示すように、図21の量子回路は、MAJ(Majorrity)量子回路とUMA(UnMajorrity and And)量子回路とCNOT演算とによって構成される。ここで、量子回路とは、CNOT演算等の量子基本演算(操作)の組合せを意味する。また、MAJ量子回路は、3個のキュービット(量子ビット)がそれぞれ示すx,y,zのマジョリティxy(+)yz(+)zxを計算する量子回路であり、図23(a)のように定義される。この図に示すように、MAJ演算は、それぞれ図24(b)(c)のように定義されるCNOT演算とトフォリ(Toffoli)演算とによって構成される。また、図24(b)(c)におけるNOT演算は図24(a)のように定義される。また、UMA量子回路は、図23(b)のように定義される。この図に示すように、UMA量子回路も、CNOT演算とトフォリ(Toffoli)演算とによって構成される。なお、図面における
この非特許文献1の量子回路では、2つの2進数a=an−1…a0及びb=bn−1…b0を示す2n個のキュービット|a0>,…,|an−1>,|b0>,…,|bn−1>と、0または1のzを示す1個のキュービット|z>と、補助ビットである1個のキュービット|0>を入力として用いる。なお、図21は、a,bがそれぞれ5キュービット(n=5)によって表される場合の例であるが、これをnキュービットビット同士の加算回路に拡張することは容易である。
図22(a)は、非特許文献2に開示された量子回路を示した図である。
ここで、量子フーリエ変換は線形深さの演算で実現できることが知られている。また、図22(a)を構成する制御回転Rkも線形深さの演算で実現できる。よって、非特許文献2の量子回路は、補助ビットを用いることなく、線形深さで演算を行う量子回路である。
S. A. Cuccaro, T. G. Draper, S. A. Kutin, A new quantum ripple-carry addition circuit,[online], [平成17年5月25日検索],インターネット<http://arxiv.org/abs/quant-ph/0410184>,2004 T. G. Draper, Addition on a Quantum Computer,[online], [平成17年5月25日検索],インターネット<http://arxiv.org/abs/quant-ph/0008033>,2000
通常、多数のキュービットを実現し、これらを協調的に操作することは物理的に困難である。よって、補助ビットはできるだけ少ないほうが良い。また、基本演算の個数が多いほど誤りが発生する可能性が大きくなるため、基本演算の個数はできるだけ少ないほうが良い。しかし、従来は、線形サイズ・線形深さで補助ビットを用いずに演算を行う量子回路は提案されていなかった。
第1の本発明では、2つの2進数a=an−1…a0〔ai∈{0,1},i∈{0,…,n−1}〕及びb=bn−1…b0〔bi∈{0,1}〕と、0または1のz〔z∈{0,1}〕とに対し、a+b=sn…s0〔sj∈{0,1},j∈{0,…,n}〕と、z(+)snを算出する。
第1の本発明では、まず、それぞれの初期量子状態が|b0>,|a0>,…,|bn−1>,|an−1>,|z>である2n+1個のキュービットQ1,Q2,…,Q2n+1を対象とし、値分配部において、キュービットQ2n+1,Qk+2(k=1,…,2n−2)に対するCNOT演算操作を行う。
また、第1逆計算部において、キュービットQ1,Q2q+4に対するCNOT演算操作とキュービットQ2q+1,Q2q+2,Q1に対するトフォリ演算操作とをq=n−2からq=1までqを1ずつ減少させる順序で繰り返す。
これにより、補助ビットを用いることなく、線形サイズ・線形深さで加算演算を行うことができる。
第2の本発明では、まず、それぞれの初期量子状態が|b0>,|a0>,…,|bn−1>,|an−1>である2n個のキュービットQ1,Q2,…,Q2nを対象とし、値分配部において、キュービットQ2n,Qk+2(k=1,…,2n−3)に対するCNOT演算操作を行う。
また、第1逆計算部において、キュービットQ1,Q2q+4に対するCNOT演算操作とキュービットQ2q+1,Q2q+2,Q1に対するトフォリ演算操作とをq=n−2からq=1までqを1ずつ減少させる順序で繰り返す。
これにより、補助ビットを用いることなく、線形サイズ・線形深さで2nを法とした加算演算を行うことができる。
第3の本発明では、まず、それぞれの初期量子状態が|b0>,|a0>,…,|bn−1>,|an−1>,|z>である2n+1個のキュービットQ1,Q2,…,Q2n+1を対象とし、第1否定演算部において、キュービットQ2h(h=1,…,n)に対するNOT演算操作を行う。
また、MAJ計算部において、キュービットQ1,Q2,Q2n+1に対するトフォリ演算操作を行い、その操作の後、キュービットQ2p+1,Q2p+2,Q2n+1に対するMAJ演算操作とキュービットQ2p+1,Q2p+2,Q1に対するトフォリ演算操作とをp=1からp=n−2までpを1ずつ増加させる順序で繰り返し、その繰り返しの後、キュービットQ2n−1,Q2n,Q2n+1に対するMAJ演算操作を行う。
また、第2逆計算部において、キュービットQ2に対するNOT演算操作を行い、キュービットQ1,Q2,Q2r+4(r=1,…,n−2)に対するトフォリ演算操作を行い、その操作の後、キュービットQ2に対するNOT演算操作を行い、さらにキュービットQ1,Q2,Q4に対するトフォリ演算操作を行い、その操作の後、キュービットQ2t,Q2t−1(t=1,…,n)に対するCNOT演算操作を行う。
これにより、補助ビットを用いることなく、線形サイズ・線形深さで減算演算を行うことができる。
第4の本発明では、2つの2進数a=an−1…a0〔ai∈{0,1},i∈{0,…,n−1}〕及びb=bn−1…b0〔bi∈{0,1}〕と、0または1のz〔z∈{0,1}〕とに対し、a−bの符号yを算出する。
また、値分配部において、キュービットQ2n+1,Qk+2(k=1,…,2n−2)に対するCNOT演算操作を行う。
また、MAJ計算部において、キュービットQ1,Q2,Q2n+1に対するトフォリ演算操作を行い、その操作の後、キュービットQ2p+1,Q2p+2,Q2n+1に対するMAJ演算操作とキュービットQ2p+1,Q2p+2,Q1に対するトフォリ演算操作とをp=1からp=n−2までpを1ずつ増加させる順序で繰り返し、その繰り返しの後、キュービットQ2n−1,Q2n,Q2n+1に対するMAJ演算操作を行う。
また、第2逆計算部において、キュービットQ2に対するNOT演算操作を行い、その操作の後、キュービットQ1,Q2,Q2r+4に対するトフォリ演算操作とキュービットQ1,Q2,Q2r+3に対するトフォリ演算操作とをr=n−2からr=1までrを1ずつ減少させる順序で繰り返し、その繰り返しの後、キュービットQ2に対するNOT演算操作を行い、キュービットQ1,Q2,Q4に対するトフォリ演算操作を行い、キュービットQ1,Q2,Q3に対するトフォリ演算操作を行う。
これにより、補助ビットを用いることなく、線形サイズ・線形深さで比較演算を行うことができる。
〔第1の実施の形態〕
第1の実施の形態は、2つの2進数a=an−1…a0〔ai∈{0,1},i∈{0,…,n−1}〕及びb=bn−1…b0〔bi∈{0,1}〕と、0または1のz〔z∈{0,1}〕とに対し、a+b=sn…s0〔sj∈{0,1},j∈{0,…,n}〕と、z(+)snとを算出し、sn−1…s0とz(+)snとaとを出力する例である。すなわち、本形態では、補助ビットを用いることなく、線形サイズ・線形深さで加算演算を行う。
図1は、第1の実施の形態における量子演算装置1の構成を例示したブロック図である。
この図に例示するように、本形態の量子演算装置1は、CNOT演算操作部11を具備する値分配部10と、トフォリ演算操作部21及びMAJ演算操作部22を具備するMAJ計算部20と、CNOT演算操作部31及びトフォリ演算操作部32を具備する第1逆計算部30と、NOT演算操作部41、トフォリ演算操作部42及びCNOT演算操作部43を具備する第2逆計算部40と、メモリ51を具備する制御部50と、2n+1個のキュービット(Q1,Q2,…,Q2n+1)60とを有している。なお、2n+1個のキュービット60それぞれの初期量子状態は、上述の入力値a,b,zに対応する|b0>,|a0>,…,|bn−1>,|an−1>,|z>である。
本形態の量子演算装置1は、量子コンピュータによって実現できる。量子コンピュータの実現する物理系としては、例えば、キュービットとして光子の偏光や光路を用いる方法(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)、イオントラップを用いる方法(J. I. Cirac and P. Zoller, Quantum computations with cold trapped ions, Physical Review Letter 74;4091, 1995)、量子ドット中の電子スピンを用いる方法(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」に詳しい。
<キュービット60>
キュービットとして光子の偏光を用いる場合には、例えば、パラメトリックダウンコンバージョン(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.」等参照。)により生成された2n+1個の単一光子を用いる。また、キュービット60それぞれの初期量子状態は、例えば、他の演算の量子回路による操作によって得られたものを用いる。また、パラメトリックダウンコンバージョン等により生成された単一光子に、ビームスプリッタや偏光回転素子等によって実現されるウォルシューアダマール変換、CNOT、Rz回転等の操作を行い、上述の初期量子状態を生成することとしてもよい。
また、演算前後や演算途中においてキュービットの量子状態を保存する必要がある場合には、例えば、量子ドット内の電子準位、核スピン、あるいは超伝導体内部の電荷(クーパー対)量をキュービットとして用いてデータを保存する量子メモリ等を用いてもよい(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)、
1117524573359_1
、Y.Nakamura, Yu. A. Pashkin and J.S.Tsai, Nature 398(1999)768)。
キュービットとして光子の偏光を用いる場合には、例えば、偏光ビームスプリッタ等を用い、「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演算を実現してもよい。
<トフォリ演算操作部21,32,42,MAJ演算操作部22,NOT演算操作部41>
キュービットとして光子の偏光を用いる場合には、上述のCNOTの構成や偏光回転素子等を用い、各演算を実現できる。核スピンをキュービットやイオントラップとして用いる場合には、上述の電磁波パルスやレーザービーム照射によって各処理を実現できる。
制御部50は、例えば公知のコンピュータに所定のプログラムを実行させて実現してもよいし、上述の量子コンピュータによって実現してもよい。また、メモリ51は、DRAM、SRAM、フラッシュメモリ、NV(Nonvolatile)RAM等の読書き可能な半導体メモリでもよいし、上述の量子メモリでもよい。
<処理>
次に、本形態における量子演算装置1の処理について説明する。
量子演算装置1は、制御部50の制御のもと、初期量子状態が|b0>,|a0>,…,|bn−1>,|an−1>,|z>である2n+1個のキュービット(Q1,Q2,…,Q2n+1)60に対し、以下の各処理を実行する。
まず、制御部50は、変数kに1を代入しメモリ51に格納する(ステップS1)。次に、制御部50はメモリ51に格納された変数kを読み込み、この変数kに応じた命令を値分配部10に与える。これに対し、値分配部10は、CNOT演算操作部11においてキュービットQ2n+1,Qk+2に対するCNOT演算操作(制御ビットQ2n+1,目標ビットQk+2)を行う(ステップS2)。次に、制御部50は、メモリ51に格納された変数kを読み込み、この変数kが2n−2であるか否かを判断する(ステップS3)。なお、nは事前に設定される値である。ここで、k=2n−2でなければ、制御部50は、メモリ51の変数kに1を加えた値を新たなkとしてメモリ51に格納し、処理をステップS2に戻す(ステップS4)。
一方、k=2n−2であれば、制御部50は、MAJ計算部20に指示を与え、MAJ計算部20は、トフォリ演算操作部21において、キュービットQ1,Q2,Q2n+1に対するトフォリ演算操作(制御ビットQ1,Q2,目標ビットQ2n+1)を行う(ステップS5)。次に、制御部50は、変数pに1を代入しメモリ51に格納する(ステップS6)。次に、制御部50はメモリ51に格納された変数pを読み込み、この変数pに応じた命令をMAJ計算部20に与える。これを受けたMAJ計算部20は、MAJ演算操作部22において、キュービットQ2p+1,Q2p+2,Q2n+1に対するMAJ演算操作(図23(a)の入力(1)としてQ2p+1、入力(2)としてQ2p+2、入力(3)としてQ2n+1)を行う(ステップS7)。次に、MAJ計算部20は、トフォリ演算操作部21において、キュービットQ2p+1,Q2p+2,Q1に対するトフォリ演算操作(制御ビットQ2p+1,Q2p+2、目標ビットQ1)を行う(ステップS8)。
次に、制御部50は、変数qにn−2を代入しメモリ51に格納する(ステップS12)。次に、制御部50はメモリ51に格納された変数qを読み込み、この変数qに応じた命令を第1逆計算部30に与える。これを受けた第1逆計算部30は、CNOT演算操作部31において、キュービットQ1,Q2q+4に対するCNOT演算操作(制御ビットQ1、目標ビットQ2q+4)を行う(ステップS13)。次に、トフォリ演算操作部32において、キュービットQ2q+1,Q2q+2,Q1に対するトフォリ演算操作(制御ビットQ2q+1,Q2q+2、目標ビットQ1)を行う(ステップS14)。
[図5(b)]
一方、q=1でなければ、制御部50は、第2逆計算部40に指示を与え、第2逆計算部40は、NOT演算操作部41において、キュービットQ2に対するNOT演算操作を行う(ステップS17)。次に、制御部50は、変数rにn−2を代入しメモリ51に格納する(ステップS18)。次に、制御部50は、メモリ51に格納された変数rを読み込み、この変数rに応じた命令を第2逆計算部40に与える。これを受けた第2逆計算部40は、トフォリ演算操作部42において、キュービットQ1,Q2,Q2r+4に対するトフォリ演算操作(制御ビットQ1,Q2、目標ビットQ2r+4)を行う(ステップS19)。
次に、制御部50は、メモリ51に格納された変数tを読み込み、この変数tがnであるか否かを判断する(ステップS26)。ここで、t=nでなければ、制御部50は、メモリ51の変数tに1を加算した値を新たなtとしてメモリ51に格納し、処理をステップS25に戻す(ステップS27)。一方、t=nであれば、制御部50は、処理を終了させる。
〔第2の実施の形態〕
第2の実施の形態では、2つの2進数a=an−1…a0〔ai∈{0,1},i∈{0,…,n−1}〕及びb=bn−1…b0〔bi∈{0,1}〕に対し、(a+b)mod2n=sn−1…s0〔si∈{0,1}〕を算出し、sn−1…s0とaとを出力する。すなわち、本形態では、補助ビットを用いることなく、線形サイズ・線形深さで2nを法とした加算演算を行う。以下では、第1の実施の形態との相違点を中心に説明し、第1の実施の形態と共通する事項については説明を省略する。
図6は、第2の実施の形態における量子演算装置100の構成を例示したブロック図である。なお、この図において第1の実施の形態と共通する事項については、図1と同じ符号を付した。
この図に例示するように、本形態の量子演算装置100は、CNOT演算操作部111を具備する値分配部110と、トフォリ演算操作部121、MAJ演算操作部122及びCNOT演算操作部123を具備するMAJ計算部120と、CNOT演算操作部31及びトフォリ演算操作部32を具備する第1逆計算部30と、NOT演算操作部41、トフォリ演算操作部42及びCNOT演算操作部43を具備する第2逆計算部40と、メモリ51を具備する制御部50と、2n個のキュービット(Q1,Q2,…,Q2n)160とを有している。なお、2n個のキュービット160それぞれの初期量子状態は、上述の入力値a,bに対応する|b0>,|a0>,…,|bn−1>,|an−1>である。
第1の実施の形態と同様であるため、説明を省略する。
<処理>
次に、本形態における量子演算装置100の処理について説明する。
図7及び図8は、第2の実施の形態における量子演算装置100の処理を説明するためのフローチャートである。また、図9(a)は、ステップS41からS44による量子操作を示した量子回路であり、図9(b)は、ステップS45からS51による量子操作を示した量子回路である。なお、図9はn=5の場合の例である。
[図9(a)]
まず、制御部50は、変数kに1を代入しメモリ51に格納する(ステップS41)。次に、制御部50はメモリ51に格納された変数kを読み込み、この変数kに応じた命令を値分配部110に与える。これに対し、値分配部110は、CNOT演算操作部111においてキュービットQ2n,Qk+2に対するCNOT演算操作(制御ビットQ2n,目標ビットQk+2)を行う(ステップS42)。
[図9(b)]
一方、k=2n−3であれば、制御部50は、MAJ計算部120に指示を与え、MAJ計算部120は、トフォリ演算操作部121において、キュービットQ1,Q2,Q2nに対するトフォリ演算操作(制御ビットQ1,Q2,目標ビットQ2n)を行う(ステップS45)。
以上の処理により、キュービットQ2f+1(f=0,…,n−1)の量子状態がそれぞれ(a+b)mod2nの各桁を示すsfとなり、キュービットQ2f+2の量子状態がそれぞれaの各桁を示すafとなる。そして、これらの処理において補助ビットは不要であり、これらは線形サイズ・線形深さの演算である。
〔第3の実施の形態〕
第3の実施の形態では、2つの2進数a=an−1…a0〔ai∈{0,1},i∈{0,…,n−1}〕及びb=bn−1…b0〔bi∈{0,1}〕と、0または1のz〔z∈{0,1}〕とに対し、a−b=sn−1…s0〔si∈{0,1}〕とその符号sn〔sn∈{0,1}〕とを算出し、z(+)snとsn−1…s0とaとを出力する。ここで、符号snは、b≦aであれば1、b>aであれば0である。また、負の数の表現には、2の補数表現を用いる。すなわち、r=rn−1…r0を正の数としたとき、−rをr’n−1…r0’で表す。ここでri’はriの否定(ビットの反転)を表す。すなわち、本形態では、補助ビットを用いることなく、線形サイズ・線形深さで減算演算を行う。以下では、第1の実施の形態との相違点を中心に説明し、第1の実施の形態と共通する事項については説明を省略する。
図10は、第3の実施の形態における量子演算装置200の構成を例示したブロック図である。なお、この図において第1の実施の形態と共通する事項については、図1と同じ符号を付した。
この図に例示するように、本形態の量子演算装置200は、CNOT演算操作部11を具備する値分配部10と、トフォリ演算操作部21、MAJ演算操作部22を具備するMAJ計算部20と、CNOT演算操作部31及びトフォリ演算操作部32を具備する第1逆計算部30と、NOT演算操作部41、トフォリ演算操作部42及びCNOT演算操作部43を具備する第2逆計算部40と、NOT演算操作部271を具備する第1否定演算部270と、NOT演算操作部281を具備する第2否定演算部280と、メモリ51を具備する制御部50と、2n+1個のキュービット(Q1,Q2,…,Q2n+1)60とを有している。なお、2n+1個のキュービット60それぞれの初期量子状態は、上述の入力値a,b,zに対応する|b0>,|a0>,…,|bn−1>,|an−1>,|z>である。
第1の実施の形態と同様であるため、説明を省略する。
<処理>
次に、本形態における量子演算装置200の処理について説明する。
図11から図13は、第3の実施の形態における量子演算装置200の処理を説明するためのフローチャートである。また、図14(a)は、ステップS81からS84による量子操作を示した量子回路であり、図14(b)は、ステップS112からS114による量子操作を示した量子回路である。なお、図14はn=5の場合の例である。
[図14(a)]
まず、制御部50は、変数hに1を代入しメモリ51に格納する(ステップS81)。次に、制御部50はメモリ51に格納された変数hを読み込み、この変数hに応じた命令を第1否定演算部270に与える。これに対し、第1否定演算部270は、NOT演算操作部271において、キュービットQ2hに対するNOT演算操作を行う(ステップS82)。
一方、h=nであれば、制御部50は、第1の実施の形態におけるステップS1からS27と同じ処理を行う(ステップS81からS111)。
[図14(b)]
そして、ステップS110において制御部50がt=nであると判断した場合、制御部50は、変数uに1を代入しメモリ51に格納する(ステップS112)。次に、制御部50はメモリ51に格納された変数uを読み込み、この変数uに応じた命令を第2否定演算部280に与える。これに対し、第2否定演算部280は、NOT演算操作部281において、キュービットQuに対するNOT演算操作を行う(ステップS113)。
以上の処理により、キュービットQ2f+1(f=0,…,n−1)の量子状態がそれぞれa−bの各桁を示すsfとなり、キュービットQ2f+2の量子状態がそれぞれaの各桁を示すafとなり、キュービットQ2n+1の量子状態がz(+)snとなる。そして、これらの処理において補助ビットは不要であり、これらは線形サイズ・線形深さの演算である。
第4の実施の形態では、2つの2進数a=an−1…a0〔ai∈{0,1},i∈{0,…,n−1}〕及びb=bn−1…b0〔bi∈{0,1}〕と、0または1のz〔z∈{0,1}〕とに対し、a−bの符号yを算出し、z(+)yとaとbとを出力する。すなわち、本形態では、補助ビットを用いることなく、線形サイズ・線形深さでaとbの比較演算を行う。以下では、第1,3の実施の形態との相違点を中心に説明し、第1,3の実施の形態と共通する事項については説明を省略する。
図15は、第4の実施の形態における量子演算装置300の構成を例示したブロック図である。なお、この図において第1,3の実施の形態と共通する事項については、図1及び図10と同じ符号を付した。
この図に例示するように、本形態の量子演算装置300は、CNOT演算操作部11を具備する値分配部10と、トフォリ演算操作部21、MAJ演算操作部22を具備するMAJ計算部20と、CNOT演算操作部331及びトフォリ演算操作部332を具備する第1逆計算部330と、NOT演算操作部341及びトフォリ演算操作部342を具備する第2逆計算部340と、NOT演算操作部271を具備する第1否定演算部270と、NOT演算操作部381を具備する第2否定演算部380と、メモリ51を具備する制御部50と、2n+1個のキュービット(Q1,Q2,…,Q2n+1)60とを有している。なお、2n+1個のキュービット60それぞれの初期量子状態は、上述の入力値a,b,zに対応する|b0>,|a0>,…,|bn−1>,|an−1>,|z>である。
第1の実施の形態と同様であるため、説明を省略する。
<処理>
次に、本形態における量子演算装置300の処理について説明する。
図16から図18は、第4の実施の形態における量子演算装置300の処理を説明するためのフローチャートである。また、図19(a)は、ステップS136からS141による量子操作を示した量子回路であり、図19(b)は、ステップS142からS150による量子操作を示した量子回路である。図20は、ステップS151からS155による量子操作を示した量子回路である。なお、図19及び図20はn=5の場合の例である。
まず、第3の実施の形態におけるステップS81からS95と同じ処理を行う(ステップS121からS135)。
[図19(a)]
次に、制御部50は、変数qにn−2を代入しメモリ51に格納する(ステップS136)。そして、制御部50はメモリ51に格納された変数qを読み込み、この変数qに応じた命令を第1逆計算部330に与える。これに対し、第1逆計算部330は、CNOT演算操作部331において、キュービットQ1,Q2q+4に対するCNOT演算操作を行い(ステップS137)、キュービットQ1,Q2q+3に対するCNOT演算操作を行う(ステップS138)。また、トフォリ演算操作部342において、キュービットQ2q+1,Q2q+2,Q1に対するトフォリ演算操作を行う(ステップS139)。
[図19(b)]
一方、q=1であれば、制御部50は、第2逆計算部340に指示を与え、これを受けた第2逆計算部340は、NOT演算操作部341において、キュービットQ2に対するNOT演算操作を行う(ステップS142)。
次に、制御部50は、メモリ51に格納された変数rを読み込み、この変数rが1であるか否かを判断する(ステップS146)。ここで、r=1でなければ、制御部50は、メモリ51の変数rから1を減じた値を新たなrとしてメモリ51に格納し、処理をステップS144に戻す(ステップS147)。一方、r=1であれば、制御部50は、第2逆計算部340に指示を与え、これを受けた第2逆計算部340は、NOT演算操作部341において、キュービットQ2に対するNOT演算操作を行う(ステップS148)。次に、トフォリ演算操作部342において、キュービットQ1,Q2,Q4に対するトフォリ演算操作を行い(ステップS149)、キュービットQ1,Q2,Q3に対するトフォリ演算操作を行う(ステップS150)。
次に、制御部50は、変数uに1を代入しメモリ51に格納する(ステップS151)。そして、制御部50は、第2否定演算部380に指示を与え、これを受けた第2否定演算部380は、NOT演算操作部381において、キュービットQ2u対するNOT演算操作を行う(ステップS152)。次に、制御部50は、メモリ51に格納された変数uを読み込み、この変数uがnであるか否かを判断する(ステップS153)。ここで、u=nでなければ、制御部50は、メモリ51の変数uに1を加えた値を新たなuとしてメモリ51に格納し、処理をステップS152に戻す(ステップS154)。一方、u=nであれば、制御部50は、第2否定演算部380に指示を与え、これを受けた第2否定演算部380は、NOT演算操作部381において、キュービットQ2n+1対するNOT演算操作を行う(ステップS155)。
なお、本発明は上述の実施の形態に限定されるものではない。例えば、本発明の趣旨を逸脱しない範囲で各処理の順序を入れ換えてもよく、複数の基本演算を同時に実行してもよい。例えば、第1の実施の形態において、ステップS17の操作を、p=1におけるステップS7の操作と同時に実行してもよい。また、第3の実施の形態におけるステップS81からS84の処理の代わりに、h=1からnに対応する全てのキュービットQ2hのNOT演算を同時に行うこととしてもよい。これにより、より演算ステップ数を低減させることができる。
その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
Claims (8)
- 2つの2進数a=an−1…a0〔ai∈{0,1},i∈{0,…,n−1}〕及びb=bn−1…b0〔bi∈{0,1}〕と、0または1のz〔z∈{0,1}〕とに対し、a+b=sn…s0〔sj∈{0,1},j∈{0,…,n}〕と、z(+)sn〔α(+)βはαとβとの排他的論理和を示す〕とを算出する量子演算装置であって、
それぞれの初期量子状態が|b0>,|a0>,…,|bn−1>,|an−1>,|z>である2n+1個のキュービットQ1,Q2,…,Q2n+1を対象とし、キュービットQ2n+1,Qk+2(k=1,…,2n−2)に対するCNOT演算操作を行う値分配部と、
キュービットQ1,Q2,Q2n+1に対するトフォリ演算操作を行い、その操作の後、キュービットQ2p+1,Q2p+2,Q2n+1に対するMAJ演算操作とキュービットQ2p+1,Q2p+2,Q1に対するトフォリ演算操作とをp=1からp=n−2までpを1ずつ増加させる順序で繰り返し、その繰り返しの後、キュービットQ2n−1,Q2n,Q2n+1に対するMAJ演算操作を行うMAJ計算部と、
キュービットQ1,Q2q+4に対するCNOT演算操作とキュービットQ2q+1,Q2q+2,Q1に対するトフォリ演算操作とをq=n−2からq=1までqを1ずつ減少させる順序で繰り返す第1逆計算部と、
キュービットQ2に対するNOT演算操作を行い、キュービットQ1,Q2,Q2r+4(r=1,…,n−2)に対するトフォリ演算操作を行い、その操作の後、キュービットQ2に対するNOT演算操作を行い、さらにキュービットQ1,Q2,Q4に対するトフォリ演算操作を行い、その操作の後、キュービットQ2t,Q2t−1(t=1,…,n)に対するCNOT演算操作を行う第2逆計算部と、
を有することを特徴とする量子演算装置。 - 2つの2進数a=an−1…a0〔ai∈{0,1},i∈{0,…,n−1}〕及びb=bn−1…b0〔bi∈{0,1}〕に対し、(a+b)mod2n=sn−1…s0〔si∈{0,1}〕を算出する量子演算装置であって、
それぞれの初期量子状態が|b0>,|a0>,…,|bn−1>,|an−1>である2n個のキュービットQ1,Q2,…,Q2nを対象とし、キュービットQ2n,Qk+2(k=1,…,2n−3)に対するCNOT演算操作を行う値分配部と、
キュービットQ1,Q2,Q2nに対するトフォリ演算操作を行い、その操作の後、キュービットQ2p+1,Q2p+2,Q2nに対するMAJ演算操作とキュービットQ2p+1,Q2p+2,Q1に対するトフォリ演算操作とをp=1からp=n−2までpを1ずつ増加させる順序で繰り返し、キュービットQ2n,Q2n−1に対するCNOT演算操作を行うMAJ計算部と、
キュービットQ1,Q2q+4に対するCNOT演算操作とキュービットQ2q+1,Q2q+2,Q1に対するトフォリ演算操作とをq=n−2からq=1までqを1ずつ減少させる順序で繰り返す第1逆計算部と、
キュービットQ2に対するNOT演算操作を行い、キュービットQ1,Q2,Q2r+4(r=1,…,n−2)に対するトフォリ演算操作を行い、その操作の後、キュービットQ2に対するNOT演算操作を行い、さらにキュービットQ1,Q2,Q4に対するトフォリ演算操作を行い、その操作の後、キュービットQ2t,Q2t−1(t=1,…,n)に対するCNOT演算操作を行う第2逆計算部と、
を有することを特徴とする量子演算装置。 - 2つの2進数a=an−1…a0〔ai∈{0,1},i∈{0,…,n−1}〕及びb=bn−1…b0〔bi∈{0,1}〕と、0または1のz〔z∈{0,1}〕とに対し、a−b=sn−1…s0〔si∈{0,1}〕とその符号sn〔sn∈{0,1}〕とを算出する量子演算装置であって、
それぞれの初期量子状態が|b0>,|a0>,…,|bn−1>,|an−1>,|z>である2n+1個のキュービットQ1,Q2,…,Q2n+1を対象とし、キュービットQ2h(h=1,…,n)に対するNOT演算操作を行う第1否定演算部と、
キュービットQ2n+1,Qk+2(k=1,…,2n−2)に対するCNOT演算操作を行う値分配部と、
キュービットQ1,Q2,Q2n+1に対するトフォリ演算操作を行い、その操作の後、キュービットQ2p+1,Q2p+2,Q2n+1に対するMAJ演算操作とキュービットQ2p+1,Q2p+2,Q1に対するトフォリ演算操作とをp=1からp=n−2までpを1ずつ増加させる順序で繰り返し、その繰り返しの後、キュービットQ2n−1,Q2n,Q2n+1に対するMAJ演算操作を行うMAJ計算部と、
キュービットQ1,Q2q+4に対するCNOT演算操作とキュービットQ2q+1,Q2q+2,Q1に対するトフォリ演算操作とをq=n−2からq=1までqを1ずつ減少させる順序で繰り返す第1逆計算部と、
キュービットQ2に対するNOT演算操作を行い、キュービットQ1,Q2,Q2r+4(r=1,…,n−2)に対するトフォリ演算操作を行い、その操作の後、キュービットQ2に対するNOT演算操作を行い、さらにキュービットQ1,Q2,Q4に対するトフォリ演算操作を行い、その操作の後、キュービットQ2t,Q2t−1(t=1,…,n)に対するCNOT演算操作を行う第2逆計算部と、
キュービットQu(u=1,…,2n+1)に対するNOT演算操作を行う第2否定演算部と、
を有することを特徴とする量子演算装置。 - 2つの2進数a=an−1…a0〔ai∈{0,1},i∈{0,…,n−1}〕及びb=bn−1…b0〔bi∈{0,1}〕と、0または1のz〔z∈{0,1}〕とに対し、a−bの符号yを算出する量子演算装置であって、
それぞれの初期量子状態が|b0>,|a0>,…,|bn−1>,|an−1>,|z>である2n+1個のキュービットQ1,Q2,…,Q2n+1を対象とし、キュービットQ2k(k=1,…,n)に対するNOT演算操作を行う第1否定演算部と、
キュービットQ2n+1,Qk+2(k=1,…,2n−2)に対するCNOT演算操作を行う値分配部と、
キュービットQ1,Q2,Q2n+1に対するトフォリ演算操作を行い、その操作の後、キュービットQ2p+1,Q2p+2,Q2n+1に対するMAJ演算操作とキュービットQ2p+1,Q2p+2,Q1に対するトフォリ演算操作とをp=1からp=n−2までpを1ずつ増加させる順序で繰り返し、その繰り返しの後、キュービットQ2n−1,Q2n,Q2n+1に対するMAJ演算操作を行うMAJ計算部と、
キュービットQ1,Q2q+4に対するCNOT演算操作とキュービットQ1,Q2q+3に対するCNOT演算操作とキュービットQ2q+1,Q2q+2,Q1に対するトフォリ演算操作とをq=n−2からq=1までqを1ずつ減少させる順序で繰り返す第1逆計算部と、
キュービットQ2に対するNOT演算操作を行い、その操作の後、キュービットQ1,Q2,Q2r+4に対するトフォリ演算操作とキュービットQ1,Q2,Q2r+3に対するトフォリ演算操作とをr=n−2からr=1までrを1ずつ減少させる順序で繰り返し、その繰り返しの後、キュービットQ2に対するNOT演算操作を行い、キュービットQ1,Q2,Q4に対するトフォリ演算操作を行い、キュービットQ1,Q2,Q3に対するトフォリ演算操作を行う第2逆計算部と、
キュービットQ2u(u=1,…,n)に対するNOT演算操作とキュービットQ2n+1に対するNOT演算操作とを行う第2否定演算部と、
を有することを特徴とする量子演算装置。 - 2つの2進数a=an−1…a0〔ai∈{0,1},i∈{0,…,n−1}〕及びb=bn−1…b0〔bi∈{0,1}〕と、0または1のz〔z∈{0,1}〕とに対し、a+b=sn…s0〔sj∈{0,1},j∈{0,…,n}〕と、z(+)sn〔α(+)βはαとβとの排他的論理和を示す〕とを算出する量子回路を用いた量子演算方法であって、
それぞれの初期量子状態が|b0>,|a0>,…,|bn−1>,|an−1>,|z>である2n+1個のキュービットQ1,Q2,…,Q2n+1を対象とし、値分配部において、キュービットQ2n+1,Qk+2(k=1,…,2n−2)に対するCNOT演算操作を行うステップと、
MAJ計算部において、キュービットQ1,Q2,Q2n+1に対するトフォリ演算操作を行い、その操作の後、キュービットQ2p+1,Q2p+2,Q2n+1に対するMAJ演算操作とキュービットQ2p+1,Q2p+2,Q1に対するトフォリ演算操作とをp=1からp=n−2までpを1ずつ増加させる順序で繰り返し、その繰り返しの後、キュービットQ2n−1,Q2n,Q2n+1に対するMAJ演算操作を行うステップと、
第1逆計算部において、キュービットQ1,Q2q+4に対するCNOT演算操作とキュービットQ2q+1,Q2q+2,Q1に対するトフォリ演算操作とをq=n−2からq=1までqを1ずつ減少させる順序で繰り返すステップと、
第2逆計算部において、キュービットQ2に対するNOT演算操作を行い、キュービットQ1,Q2,Q2r+4(r=1,…,n−2)に対するトフォリ演算操作を行い、その操作の後、キュービットQ2に対するNOT演算操作を行い、さらにキュービットQ1,Q2,Q4に対するトフォリ演算操作を行い、その操作の後、キュービットQ2t,Q2t−1(t=1,…,n)に対するCNOT演算操作を行うステップと、
を有することを特徴とする量子回路を用いた量子演算方法。 - 2つの2進数a=an−1…a0〔ai∈{0,1},i∈{0,…,n−1}〕及びb=bn−1…b0〔bi∈{0,1}〕に対し、(a+b)mod2n=sn−1…s0〔si∈{0,1}〕を算出する量子回路を用いた量子演算方法であって、
それぞれの初期量子状態が|b0>,|a0>,…,|bn−1>,|an−1>である2n個のキュービットQ1,Q2,…,Q2nを対象とし、値分配部において、キュービットQ2n,Qk+2(k=1,…,2n−3)に対するCNOT演算操作を行うステップと、
MAJ計算部において、キュービットQ1,Q2,Q2nに対するトフォリ演算操作を行い、その操作の後、キュービットQ2p+1,Q2p+2,Q2nに対するMAJ演算操作とキュービットQ2p+1,Q2p+2,Q1に対するトフォリ演算操作とをp=1からp=n−2までpを1ずつ増加させる順序で繰り返し、キュービットQ2n,Q2n−1に対するCNOT演算操作を行うステップと、
第1逆計算部において、キュービットQ1,Q2q+4に対するCNOT演算操作とキュービットQ2q+1,Q2q+2,Q1に対するトフォリ演算操作とをq=n−2からq=1までqを1ずつ減少させる順序で繰り返すステップと、
第2逆計算部において、キュービットQ2に対するNOT演算操作を行い、キュービットQ1,Q2,Q2r+4(r=1,…,n−2)に対するトフォリ演算操作を行い、その操作の後、キュービットQ2に対するNOT演算操作を行い、さらにキュービットQ1,Q2,Q4に対するトフォリ演算操作を行い、その操作の後、キュービットQ2t,Q2t−1(t=1,…,n)に対するCNOT演算操作を行うステップと、
を有することを特徴とする量子回路を用いた量子演算方法。 - 2つの2進数a=an−1…a0〔ai∈{0,1},i∈{0,…,n−1}〕及びb=bn−1…b0〔bi∈{0,1}〕と、0または1のz〔z∈{0,1}〕とに対し、a−b=sn−1…s0〔si∈{0,1}〕とその符号sn〔sn∈{0,1}〕とを算出する量子回路を用いた量子演算方法であって、
それぞれの初期量子状態が|b0>,|a0>,…,|bn−1>,|an−1>,|z>である2n+1個のキュービットQ1,Q2,…,Q2n+1を対象とし、第1否定演算部において、キュービットQ2h(h=1,…,n)に対するNOT演算操作を行うステップと、
値分配部において、キュービットQ2n+1,Qk+2(k=1,…,2n−2)に対するCNOT演算操作を行うステップと、
MAJ計算部において、キュービットQ1,Q2,Q2n+1に対するトフォリ演算操作を行い、その操作の後、キュービットQ2p+1,Q2p+2,Q2n+1に対するMAJ演算操作とキュービットQ2p+1,Q2p+2,Q1に対するトフォリ演算操作とをp=1からp=n−2までpを1ずつ増加させる順序で繰り返し、その繰り返しの後、キュービットQ2n−1,Q2n,Q2n+1に対するMAJ演算操作を行うステップと、
第1逆計算部において、キュービットQ1,Q2q+4に対するCNOT演算操作とキュービットQ2q+1,Q2q+2,Q1に対するトフォリ演算操作とをq=n−2からq=1までqを1ずつ減少させる順序で繰り返すステップと、
第2逆計算部において、キュービットQ2に対するNOT演算操作を行い、キュービットQ1,Q2,Q2r+4(r=1,…,n−2)に対するトフォリ演算操作を行い、その操作の後、キュービットQ2に対するNOT演算操作を行い、さらにキュービットQ1,Q2,Q4に対するトフォリ演算操作を行い、その操作の後、キュービットQ2t,Q2t−1(t=1,…,n)に対するCNOT演算操作を行うステップと、
第2否定演算部において、キュービットQu(u=1,…,2n+1)に対するNOT演算操作を行うステップと、
を有することを特徴とする量子回路を用いた量子演算方法。 - 2つの2進数a=an−1…a0〔ai∈{0,1},i∈{0,…,n−1}〕及びb=bn−1…b0〔bi∈{0,1}〕と、0または1のz〔z∈{0,1}〕とに対し、a−bの符号yを算出する量子回路を用いた量子演算方法であって、
それぞれの初期量子状態が|b0>,|a0>,…,|bn−1>,|an−1>,|z>である2n+1個のキュービットQ1,Q2,…,Q2n+1を対象とし、第1否定演算部において、キュービットQ2k(k=1,…,n)に対するNOT演算操作を行うステップと、
値分配部において、キュービットQ2n+1,Qk+2(k=1,…,2n−2)に対するCNOT演算操作を行うステップと、
MAJ計算部において、キュービットQ1,Q2,Q2n+1に対するトフォリ演算操作を行い、その操作の後、キュービットQ2p+1,Q2p+2,Q2n+1に対するMAJ演算操作とキュービットQ2p+1,Q2p+2,Q1に対するトフォリ演算操作とをp=1からp=n−2までpを1ずつ増加させる順序で繰り返し、その繰り返しの後、キュービットQ2n−1,Q2n,Q2n+1に対するMAJ演算操作を行うステップと、
第1逆計算部において、キュービットQ1,Q2q+4に対するCNOT演算操作とキュービットQ1,Q2q+3に対するCNOT演算操作とキュービットQ2q+1,Q2q+2,Q1に対するトフォリ演算操作とをq=n−2からq=1までqを1ずつ減少させる順序で繰り返すステップと、
第2逆計算部において、キュービットQ2に対するNOT演算操作を行い、その操作の後、キュービットQ1,Q2,Q2r+4に対するトフォリ演算操作とキュービットQ1,Q2,Q2r+3に対するトフォリ演算操作とをr=n−2からr=1までrを1ずつ減少させる順序で繰り返し、その繰り返しの後、キュービットQ2に対するNOT演算操作を行い、キュービットQ1,Q2,Q4に対するトフォリ演算操作を行い、キュービットQ1,Q2,Q3に対するトフォリ演算操作を行うステップと、
第2否定演算部において、キュービットQ2u(u=1,…,n)に対するNOT演算操作とキュービットQ2n+1に対するNOT演算操作とを行うステップと、
を有することを特徴とする量子回路を用いた量子演算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005160200A JP4700413B2 (ja) | 2005-05-31 | 2005-05-31 | 量子演算装置及び量子回路を用いた量子演算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005160200A JP4700413B2 (ja) | 2005-05-31 | 2005-05-31 | 量子演算装置及び量子回路を用いた量子演算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006338185A JP2006338185A (ja) | 2006-12-14 |
JP4700413B2 true JP4700413B2 (ja) | 2011-06-15 |
Family
ID=37558709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005160200A Active JP4700413B2 (ja) | 2005-05-31 | 2005-05-31 | 量子演算装置及び量子回路を用いた量子演算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4700413B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019204678A1 (en) * | 2018-04-20 | 2019-10-24 | Google Llc | Performing unitary iteration and indexed operations |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4829623B2 (ja) * | 2006-01-27 | 2011-12-07 | 日本電信電話株式会社 | 量子演算方法及び量子演算装置 |
US8957699B2 (en) * | 2012-10-26 | 2015-02-17 | Northrop Grumman Systems Corporation | Efficient Toffoli state generation from low-fidelity single qubit magic states |
US10922457B2 (en) * | 2017-10-19 | 2021-02-16 | University Of Maryland | Automated optimization of large-scale quantum circuits with continuous parameters |
US10803215B2 (en) * | 2018-12-18 | 2020-10-13 | International Business Machines Corporation | Incremental generation of quantum circuits |
US20230316121A1 (en) * | 2020-07-24 | 2023-10-05 | Industry-University Cooperation Foundation Hanyang University Erica Campus | Efficient quantum modular multiplier and quantum modular multiplication method |
KR102214836B1 (ko) * | 2020-07-24 | 2021-02-09 | 한양대학교 에리카산학협력단 | 효율적인 양자 모듈러 곱셈기 및 양자 모듈러 곱셈 방법 |
KR102204081B1 (ko) * | 2020-07-24 | 2021-01-15 | 한양대학교 에리카산학협력단 | 효율적인 양자 모듈러 곱셈기 및 양자 모듈러 곱셈 방법 |
CN112214200B (zh) * | 2020-09-30 | 2023-12-15 | 本源量子计算科技(合肥)股份有限公司 | 一种量子减法运算方法、装置、电子装置及存储介质 |
-
2005
- 2005-05-31 JP JP2005160200A patent/JP4700413B2/ja active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019204678A1 (en) * | 2018-04-20 | 2019-10-24 | Google Llc | Performing unitary iteration and indexed operations |
US11675763B2 (en) | 2018-04-20 | 2023-06-13 | Google Llc | Performing unitary iteration and indexed operations |
Also Published As
Publication number | Publication date |
---|---|
JP2006338185A (ja) | 2006-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4700413B2 (ja) | 量子演算装置及び量子回路を用いた量子演算方法 | |
García-Álvarez et al. | Digital quantum simulation of minimal AdS/CFT | |
Wang et al. | Qudits and high-dimensional quantum computing | |
JP4847914B2 (ja) | 量子加算演算方法及び量子加算演算装置 | |
Khan et al. | Quantum ternary parallel adder/subtractor with partially-look-ahead carry | |
JP5227942B2 (ja) | 量子誤り推定装置、量子誤り推定方法、そのプログラム、量子誤り訂正装置、量子誤り訂正方法 | |
Herrman et al. | Continuous-time quantum walks on dynamic graphs | |
JP5204698B2 (ja) | 量子演算方法、量子演算装置、量子回路 | |
Hegade et al. | Digitized adiabatic quantum factorization | |
JP5129646B2 (ja) | 量子回路、量子演算装置及び量子演算方法 | |
JP4332167B2 (ja) | 近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換演算方法および装置 | |
André et al. | Dark path holonomic qudit computation | |
JP6182123B2 (ja) | 量子演算方法 | |
Liu | Comparisons of Conventional Computing and Quantum Computing Approaches | |
Fujiwara et al. | General method for realizing the conditional phase-shift gate and a simulation of Grover’s algorithm in an ion-trap system | |
JP4366348B2 (ja) | 量子計算方法及び量子計算装置 | |
Chen et al. | Quantum-hpc framework with multi-gpu-enabled hybrid quantum-classical workflow: Applications in quantum simulations | |
Delgado | Generation of Control by SU (2) Reduction for the Anisotropic Ising Model | |
JP5351862B2 (ja) | 量子演算方法、量子演算装置 | |
JP4829623B2 (ja) | 量子演算方法及び量子演算装置 | |
Agrell et al. | Gradient-Based Optimization of Lattice Quantizers | |
Dejen et al. | A Review of Quantum Computing | |
Tutul et al. | Shallow Depth Factoring Based on Quantum Feasibility Labeling and Variational Quantum Search | |
Tame et al. | Scalable method for demonstrating the Deutsch-Jozsa and Bernstein-Vazirani algorithms using cluster states | |
Kundu et al. | QCA based Majority Voter Design using IBMQ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070810 |
|
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: 20110222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110304 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4700413 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |