JP4847914B2 - 量子加算演算方法及び量子加算演算装置 - Google Patents
量子加算演算方法及び量子加算演算装置 Download PDFInfo
- Publication number
- JP4847914B2 JP4847914B2 JP2007107238A JP2007107238A JP4847914B2 JP 4847914 B2 JP4847914 B2 JP 4847914B2 JP 2007107238 A JP2007107238 A JP 2007107238A JP 2007107238 A JP2007107238 A JP 2007107238A JP 4847914 B2 JP4847914 B2 JP 4847914B2
- Authority
- JP
- Japan
- Prior art keywords
- qubits
- qubit
- quantum
- auxiliary
- toffoli
- 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
Description
T. G. Draper, S. A. Kutin, E. M. Rains, and K. M. Svore, A logarithmic-depth quantum carry-lookahead adder, Quantum Infomation and Computation, Vol. 6 No. 4&5, pp. 351-369, 2006
本発明はこのような点に鑑みてなされたものであり、従来よりも少ない数の補助量子ビットで量子加算演算が可能な技術を提供することを目的とする。
補助量子ビットQzi−1,1を制御ビットとし、量子ビットQxi・kを目標ビットとしたCNOT演算を実行する過程と、量子ビットQxi・k+wを制御ビットとし、量子ビットQyi・k+wを目標ビットとしたCNOT演算を、それぞれ、0≦w≦k−1(wは整数)について実行する過程と、を実行する演算を実行する過程と、を実行する演算である。
図1は、本形態の量子加算演算装置1の構成を例示した図である。
次に、本形態の量子加算演算装置1の処理について説明する。
まず、本形態の処理の全体を説明する。なお、本形態の各処理は、制御部110の制御のもと実行される。
次に、本形態で用いた各演算内容の詳細について説明する。
まず、NOT演算、CNOT演算、Toffoli演算及びMAJ演算について説明する。
次に、量子ビットQx(i+1)・k−1,…,Qxi・kと量子ビットQy(i+1)・k−1,…,Qyi・kと補助量子ビットQzi,1とに対するHIGHBIT演算について説明する。
次に、量子ビットQxk−1,…,Qx0と量子ビットQyk−1,…,Qy0とに対するSUM演算について説明する。
次に、量子ビットQx(i+1)・k−1,…,Qxi・kと量子ビットQy(i+1)・k−1,…,Qyi・kと補助量子ビットQzi−1,1とに対する繰上げSUM演算〔1≦i≦(n/k)−1(iは整数)〕について説明する。
次に本形態の量子加算演算装置1のハードウェア構成を例示する。
イオントラップ量子コンピュータでは、例えば、イオンの基底状態と励起状態を利用して量子ビットを実現し、イオンを直線上に並べて演算処理を行う。また、核スピンを量子ビットとして用いる場合には、例えば、「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)基板等に各量子ビットを生成して演算処理を行う。
イオントラップ量子コンピュータでは、例えば、イオンを直線上に並べ、各イオンに狙いを定めたレーザービーム照射によって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演算を実現できる。
Toffoli演算は、CNOT演算と量子ビット単体へのユニタリ変換との組み合わせによって実現できる。なお、この演算にも補助ビットとなる量子ビットが必要となる。k-Toffoli演算についても同様である。
イオントラップ量子コンピュータでは、例えば、イオンを直線上に並べ、各イオンに狙いを定めたレーザービーム照射によって量子ビット単体の操作を実現する。核スピンを量子ビットとして用いる場合には、電磁波パルスやレーザービーム照射によって各処理を実現する。また、量子ビットとして光子の偏光を用いる場合には、例えば、偏光回転素子等によって実現する。
以上のように、本形態では、量子ビット毎に加算処置と繰上げ処理とを行うのではなく、複数の量子ビットからなる加算処理ブロック単位で加算処理と繰上げ処理とを行う。その結果、繰上げ処理に必要となる補助量子ビット数を削減できる。具体的には、O(n/log2n)個の補助量子ビットを用い、O(n)個の基本演算をO(log2n)個の計算ステップで実行することにより、2進n桁の加算演算を行うことができる。以下に、本形態の処理でO(n/log2n)個の補助量子ビットしか使用されないことを示す。
各iのHIGHBIT演算において補助量子ビットを1個ずつ使用するため、全体としてO(n/k)個の補助量子ビットを用いる。
各k-Toffoli演算がそれぞれ1個の補助量子ビットを使用するため、全体としてO(n/k)個の補助量子ビットを用いる(なお、正確には、各k-Toffoli演算は基本演算と1つの補助量子ビットによって実現されるため、全体としてk-Toffoli演算数の2倍の補助量子ビットを用いることになるが、オーダーの評価ではO(n/k)個と示して問題ない)。
新たに補助量子ビットを必要としない。
ここで、k=O(log2n)であるから、O(n/k)=O(n/log2n)である。また、Lの定め方からL=O{log2(log2n)}である。これを用いて式(1)を展開するとO(n/log2n)となる。したがって、上記の各ステップで必要となる補助量子ビットの数の合計はO(n/log2n)個となる。
10 量子ビット
20 補助量子ビット
Claims (10)
- 2つの2進数a=an−1…a0〔ap∈{0,1},p∈{0,…,n−1},n≧4〕及びb=bn−1…b0〔bp∈{0,1}〕に対し、a+b=sn…s0〔sq∈{0,1},q∈{0,…,n}〕を算出する量子加算演算方法であって、
初期量子状態がそれぞれ|a0>,…,|an−1>であるn個の量子ビットQx0,…,Qxn−1と、初期量子状態がそれぞれ|b0>,…,|bn−1>であるn個の量子ビットQy0,…,Qyn−1と、初期量子状態が|0>である1個の補助量子ビットQz0,1と、初期量子状態がそれぞれ|0>である2・{(n/k)−1}〔kはnを割り切る2以上n未満の整数の定数である〕個の補助量子ビットQz1,1,Qz1,2,Qz2,1,Qz2,2,…,Qz(n/k)−1,1,Qz(n/k)−1,2と、初期量子状態がそれぞれ|0>である
量子ビットQx(i+1)・k−1,…,Qxi・kと量子ビットQy(i+1)・k−1,…,Qyi・kとをi番目〔0≦i≦(n/k)−1(iは整数)〕の加算処理ブロックAiとし、当該加算処理ブロックAiに属する初期量子状態の量子ビットQx(i+1)・k−1,…,Qxi・k及び量子ビットQy(i+1)・k−1,…,Qyi・kと、初期量子状態の補助量子ビットQzi,1とに対してHIGHBIT演算を施し、量子ビットQx(i+1)・k−1,…,Qxi・kの量子状態をそれぞれ|a(i+1)・k−1>,…,|ai・k>とし、量子ビットQy(i+1)・k−1,…,Qyi・kの量子状態をそれぞれ|b(i+1)・k−1>,…,|bi・k>とし、補助量子ビットQzi,1の量子状態を|ci>〔ciは、2つの2進数a(i+1)・k−1…ai・kとb(i+1)・k−1…bi・kの和を2進表記した場合の最上位ビット値〕とする処理を、各加算処理ブロックAiについてそれぞれ実行するHIGHBIT演算過程と、
補助量子ビットQz0,1,Qz1,1,Qz1,2,Qz2,1,Qz2,2,…,Qz(n/k)−1,1,Qz(n/k)−1,2,Qz(n/k),…,Qz(n/k)+m−1を用い、補助量子ビットQzw,1の量子状態を|dw>〔dw∈{0,1}は、加算処理ブロックAwから加算処理ブロックAw+1への繰上げ値〕とする処理を、0≦w≦(n/k)−2(wは整数)についてそれぞれ実行し、さらに補助量子ビットQz(n/k)−1,1の量子状態を|sn>とする処理を実行する繰上げ値演算過程と、
加算処理ブロックA0に属する量子ビットQxk−1,…,Qx0と量子ビットQyk−1,…,Qy0とに対してSUM演算を施し、量子ビットQxk−1,…,Qx0の量子状態をそれぞれ|ak−1>,…,|a0>とし、量子ビットQyk−1,…,Qy0の量子状態をそれぞれ|sk−1>,…,|s0>とする第1のSUM演算過程と、
加算処理ブロックAiに属する量子ビットQx(i+1)・k−1,…,Qxi・k及び量子ビットQy(i+1)・k−1,…,Qyi・kと、補助量子ビットQzi−1,1とに対して繰上げSUM演算を施し、量子ビットQx(i+1)・k−1,…,Qxi・kの量子状態をそれぞれ|a(i+1)・k−1>,…,|ai・k>とし、量子ビットQy(i+1)・k−1,…,Qyi・kの量子状態をそれぞれ|s(i+1)・k−1>,…,|si・k>とし、補助量子ビットQzi−1,1の量子状態を維持する処理を、1≦i≦(n/k)−1(iは整数)についてそれぞれ実行する第2のSUM演算過程と、
を実行することを特徴とする量子加算演算方法。 - 請求項1に記載の量子加算演算方法であって、
上記繰上げ値演算過程は、
量子ビットQxi・k+jを制御ビットとし、量子ビットQyi・k+jを目標ビットとしたCNOT演算を0≦j≦k−1(jは整数)についてそれぞれ実行する処理を、1≦i≦(n/k)−1(iは整数)についてそれぞれ実行する第1のCNOT演算過程と、
上記第1のCNOT演算過程による処理がなされたk個の量子ビットQyi・k,…,Qyi・k+k−1を制御ビットとし、補助量子ビットQzi,2を目標ビットとしたk-Toffoli演算を、1≦i≦(n/k)−1(iは整数)についてそれぞれ実行する第1のk-Toffoli演算過程と、
第1のk-Toffoli演算過程によるk-Toffoli演算が施された補助量子ビットQzi,2を補助量子ビットQpL−1(i)と表現した場合における、補助量子ビットQpt−1(2i),Qpt−1(2i+1)を制御ビットとし、補助量子ビットQz(n/k),…,Qz(n/k)+m−1うちの1つの補助量子ビットである補助量子ビットQpt(i)を目標ビットとしたToffoli演算を、目標ビットを重複させることなく、i=1からiを1ずつ増加させながら
HIGHBIT演算過程による処理が施された補助量子ビットQzi,1を補助量子ビットQgL−1(i)と表現した場合における、補助量子ビットQgt−1(2i),Qpt−1(2i+1)を制御ビットとし、補助量子ビットQgt−1(2i+1)を目標ビットとしたToffoli演算〔当該Toffoli演算後の補助量子ビットQgt−1(2i+1)を補助量子ビットQgt(i)と表現〕を、i=0からiを1ずつ増加させながら
u=2t・i/k−1とした場合における補助量子ビットQzu,1,Qpt−1(2i)を制御ビットとし、補助量子ビットQgt−1(2i)を目標ビットとしたToffoli演算を、i=1からiを1ずつ増加させながら
補助量子ビットQpt−1(2i),Qpt−1(2i+1)を制御ビットとし、補助量子ビットQpt(i)を目標ビットとしたToffoli演算を、
第4のToffoli演算過程による処理の後、k個の量子ビットQyi・k,…,Qyi・k+k−1を制御ビットとし、補助量子ビットQzi,2を目標ビットとしたk-Toffoli演算を、1≦i≦(n/k)−1(iは整数)についてそれぞれ実行する第2のk-Toffoli演算過程と、
第2のk-Toffoli演算過程による処理の後、量子ビットQxi・k+jを制御ビットとし、量子ビットQyi・k+jを目標ビットとしたCNOT演算を0≦j≦k−1(jは整数)についてそれぞれ実行する処理を、1≦i≦(n/k)−1(iは整数)についてそれぞれ実行する第2のCNOT演算過程と、を有する、
ことを特徴とする量子加算演算方法。 - 請求項1に記載の量子加算演算方法であって、
第1のSUM演算過程及び第2のSUM演算過程による処理の後、量子ビットQy(i+1)・k−1,…,Qyi・kに対してNOT演算を施す処理を0≦i≦(n/k)−2(iは整数)についてそれぞれ実行する第1のNOT演算過程と、
上記繰上げ値演算過程が具備する、補助量子ビットQzw,1の量子状態を|dw>とする処理の逆演算を、0≦w≦(n/k)−2(wは整数)についてそれぞれ実行し、さらに、量子ビットQx(w+1)・k−1,…,Qxw・kと量子ビットQy(w+1)・k−1,…,Qyw・kと補助量子ビットQzw,1とに対する上記HIGHBIT演算の逆演算であるHIGHBIT-REV演算を0≦w≦(n/k)−2(wは整数)についてそれぞれ実行する逆演算過程と、
逆演算過程による処理の後、量子ビットQy(i+1)・k−1,…,Qyi・kに対してNOT演算を施す処理を0≦i≦(n/k)−2(iは整数)についてそれぞれ実行する第2のNOT演算過程と、
をさらに実行することを特徴とする量子加算演算方法。 - 請求項2に記載の量子加算演算方法であって、
第1のSUM演算過程及び第2のSUM演算過程による処理の後、量子ビットQy(i+1)・k−1,…,Qyi・kに対してNOT演算を施す処理を0≦i≦(n/k)−2(iは整数)についてそれぞれ実行する第1のNOT演算過程と、
第1のNOT演算過程による処理の後、nをn−kとおいた場合における、上記のHIGHBIT演算過程、第1のCNOT演算過程、第1のk-Toffoli演算過程、第1のToffoli演算過程、第2のToffoli演算過程、第3のToffoli演算過程、第4のToffoli演算過程、第2のk-Toffoli演算過程及び第2のCNOT演算過程によって順次行われる処理からなる演算の逆演算を実行し、
量子ビットQx0,…,Qxn−k−1の量子状態をそれぞれ|a0>,…,|an−k−1>とし、量子ビットQy0,…,Qyn−k−1の量子状態をそれぞれ|s0>,…,|sn−k−1>の反転状態とし、補助量子ビットQz0,1の量子状態を|0>とし、補助量子ビットQz1,1,Qz1,2,Qz2,1,Qz2,2,…,Qz(n/k)−2,1,Qz(n/k)−2,2の量子状態をそれぞれ|0>にする逆演算過程と、
逆演算過程による処理の後、量子ビットQy(i+1)・k−1,…,Qyi・kに対してNOT演算を施す処理を0≦i≦(n/k)−2(iは整数)についてそれぞれ実行する第2のNOT演算過程と、
をさらに実行することを特徴とする量子加算演算方法。 - 請求項1又は4に記載の量子加算演算方法であって、
量子ビットQx(i+1)・k−1,…,Qxi・kと量子ビットQy(i+1)・k−1,…,Qyi・kと補助量子ビットQzi,1とに対する上記HIGHBIT演算は、
量子ビットQxi・k,Qyi・kを制御ビットとし、補助量子ビットQzi,1を目標ビットとするToffoli演算を行う過程と、
k≧3である場合にのみ行われる、量子ビットQxi・k+wを第1量子ビットとし、量子ビットQyi・k+wを第2量子ビットとし、補助量子ビットQzi,1を第3量子ビットとしたMAJ演算と、量子ビットQxi・k+w,Qyi・k+wを制御ビットとし、量子ビットQxi・kを目標ビットとしたToffoli演算とを、それぞれ、wをw=1から1ずつ増加させてw=k−2まで実行する過程と、
量子ビットQx(i+1)・k−1を第1量子ビットとし、量子ビットQy(i+1)・k−1を第2量子ビットとし、補助量子ビットQzi,1を第3量子ビットとしたMAJ演算を実行する過程と、
k≧3である場合にのみ行われる、量子ビットQxi・kを制御ビットとし、量子ビットQyi・k+wを目標ビットとしたCNOT演算と、量子ビットQxi・kを制御ビットとし、量子ビットQxi・k+wを目標ビットとしたCNOT演算と、量子ビットQxi・k+w−1,Qyi・k+w−1を制御ビットとし、量子ビットQxi・kを目標ビットとしたToffoli演算とを、それぞれ、wをw=k−1から1ずつ減少させてw=2まで実行する過程と、
量子ビットQyi・kにNOT演算を施す過程と、
k≧3である場合にのみ行われる、量子ビットQxi・k,Qyi・kを制御ビットとし、量子ビットQyi・k+wを目標ビットとしたToffoli演算と、量子ビットQxi・k,Qyi・kを制御ビットとし、量子ビットQxi・k+wを目標ビットとしたToffoli演算とを、それぞれ、2≦w≦k−1(wは整数)について実行する過程と、
量子ビットQyi・kにNOT演算を施す過程と、
量子ビットQxi・k,Qyi・kを制御ビットとし、量子ビットQyi・k+1を目標ビットとしたToffoli演算と、量子ビットQxi・k,Qyi・kを制御ビットとし、量子ビットQxi・k+1を目標ビットとしたToffoli演算とを、それぞれ実行する過程と、を実行する演算であり、
上記MAJ演算は、
第3量子ビットを制御ビットとし、第2量子ビットを目標ビットとしたCNOT演算を行う第1過程と、
第3量子ビットを制御ビットとし、第1量子ビットを目標ビットとしたCNOT演算を行う第2過程と、
上記第1過程及び上記第2過程の後に行われる、第1量子ビット及び第2量子ビットを制御ビットとし、第3量子ビットを目標ビットとしたToffoli演算を行うMAJ第3過程と、を実行する演算である、
ことを特徴とする量子加算演算方法。 - 請求項1から4の何れかに記載の量子加算演算方法であって、
量子ビットQxk−1,…,Qx0と量子ビットQyk−1,…,Qy0とに対する上記SUM演算は、
量子ビットQyk−1を制御ビットとし、量子ビットQxwを目標ビットとしたCNOT演算と、量子ビットQyk−1を制御ビットとし、量子ビットQywを目標ビットとしたCNOT演算とを、それぞれ、0≦w≦k−2(wは整数)について実行する過程と、
量子ビットQxwを第1量子ビットとし、量子ビットQywを第2量子ビットとし、量子ビットQyk−1を第3量子ビットとしたMAJ演算を、それぞれ、wをw=0から1ずつ増加させてw=k−2まで実行する過程と、
量子ビットQxwを制御ビットとし、量子ビットQywを目標ビットとしたCNOT演算を、それぞれ、0≦w≦k−1(wは整数)について実行する過程と、を実行する演算であり、
量子ビットQx(i+1)・k−1,…,Qxi・kと量子ビットQy(i+1)・k−1,…,Qyi・kと補助量子ビットQzi−1,1とに対する上記繰上げSUM演算〔1≦i≦(n/k)−1(iは整数)〕は、
量子ビットQy(i+1)・k−1を制御ビットとし、量子ビットQxi・k+wを目標ビットとしたCNOT演算と、量子ビットQy(i+1)・k−1を制御ビットとし、量子ビットQyi・k+wを目標ビットとしたCNOT演算とを、それぞれ、0≦w≦k−2(wは整数)について実行する過程と、
補助量子ビットQzi−1,1を制御ビットとし、量子ビットQy(i+1)・k−1を目標ビットとしてCNOT演算を実行する過程と、
k≧3である場合にのみ行われる、量子ビットQxi・k+wを第1量子ビットとし、量子ビットQyi・k+wを第2量子ビットとし、量子ビットQy(i+1)・k−1を第3量子ビットとしたMAJ演算と、量子ビットQxi・k+w,Qyi・k+wを制御ビットとし、補助量子ビットQzi−1,1を目標ビットとしたToffoli演算とを、それぞれ、wをw=0から1ずつ増加させてw=k−3まで実行する過程と、
量子ビットQx(i+1)・k−2を第1量子ビットとし、量子ビットQy(i+1)・k−2を第2量子ビットとし、量子ビットQy(i+1)・k−1を第3量子ビットとしたMAJ演算を実行する過程と、
k≧3である場合にのみ行われる、補助量子ビットQzi−1,1を制御ビットとし、量子ビットQxi・k+wを目標ビットとしたCNOT演算と、量子ビットQxi・k+w−1,Qyi・k+w−1を制御ビットとし、補助量子ビットQzi−1,1を目標ビットとしたToffoli演算とを、それぞれ、wをw=k−2から1ずつ減少させてw=1まで実行する過程と、
補助量子ビットQzi−1,1を制御ビットとし、量子ビットQxi・kを目標ビットとしたCNOT演算を実行する過程と、
量子ビットQxi・k+wを制御ビットとし、量子ビットQyi・k+wを目標ビットとしたCNOT演算を、それぞれ、0≦w≦k−1(wは整数)について実行する過程と、を実行する演算を実行する過程と、を実行する演算であり、
上記MAJ演算は、
第3量子ビットを制御ビットとし、第2量子ビットを目標ビットとしたCNOT演算を行う第1過程と、
第3量子ビットを制御ビットとし、第1量子ビットを目標ビットとしたCNOT演算を行う第2過程と、
上記第1過程及び上記第2過程の後に行われる、第1量子ビット及び第2量子ビットを制御ビットとし、第3量子ビットを目標ビットとしたToffoli演算を行うMAJ第3過程と、を実行する演算である、
ことを特徴とする量子加算演算方法。 - 請求項1から6の何れかに記載の量子加算演算方法であって、
定数kは、log2(log2n)以下の最大の整数である、
ことを特徴とする量子加算演算方法。 - 2つの2進数a=an−1…a0〔ap∈{0,1},p∈{0,…,n−1},n≧4〕及びb=bn−1…b0〔bp∈{0,1}〕に対し、a+b=sn…s0〔sq∈{0,1},q∈{0,…,n}〕を算出する量子加算演算装置であって、
初期量子状態がそれぞれ|a0>,…,|an−1>であるn個の量子ビットQx0,…,Qxn−1と、
初期量子状態がそれぞれ|b0>,…,|bn−1>であるn個の量子ビットQy0,…,Qyn−1と、
初期量子状態が|0>である1個の補助量子ビットQz0,1と、初期量子状態がそれぞれ|0>である2・{(n/k)−1}〔kはnを割り切る2以上n未満の整数の定数である〕個の補助量子ビットQz1,1,Qz1,2,Qz2,1,Qz2,2,…,Qz(n/k)−1,1,Qz(n/k)−1,2と、
初期量子状態がそれぞれ|0>である
量子ビットQx(i+1)・k−1,…,Qxi・kと量子ビットQy(i+1)・k−1,…,Qyi・kとをi番目〔0≦i≦(n/k)−1(iは整数)〕の加算処理ブロックAiとし、当該加算処理ブロックAiに属する初期量子状態の量子ビットQx(i+1)・k−1,…,Qxi・k及び量子ビットQy(i+1)・k−1,…,Qyi・kと、初期量子状態の補助量子ビットQzi,1とに対してHIGHBIT演算を施し、量子ビットQx(i+1)・k−1,…,Qxi・kの量子状態をそれぞれ|a(i+1)・k−1>,…,|ai・k>とし、量子ビットQy(i+1)・k−1,…,Qyi・kの量子状態をそれぞれ|b(i+1)・k−1>,…,|bi・k>とし、補助量子ビットQzi,1の量子状態を|ci>〔ciは、2つの2進数a(i+1)・k−1…ai・kとb(i+1)・k−1…bi・kの和を2進表記した場合の最上位ビット値〕とする処理を、各加算処理ブロックAiについてそれぞれ実行するHIGHBIT演算部と、
補助量子ビットQz0,1,Qz1,1,Qz1,2,Qz2,1,Qz2,2,…,Qz(n/k)−1,1,Qz(n/k)−1,2,Qz(n/k),…,Qz(n/k)+m−1を用い、補助量子ビットQzw,1の量子状態を|dw>〔dw∈{0,1}は、加算処理ブロックAwから加算処理ブロックAw+1への繰上げ値〕とする処理を、0≦w≦(n/k)−2(wは整数)についてそれぞれ実行し、さらに補助量子ビットQz(n/k)−1,1の量子状態を|sn>とする処理を実行する繰上げ値演算部と、
加算処理ブロックA0に属する量子ビットQxk−1,…,Qx0と量子ビットQyk−1,…,Qy0とに対してSUM演算を施し、量子ビットQxk−1,…,Qx0の量子状態をそれぞれ|ak−1>,…,|a0>とし、量子ビットQyk−1,…,Qy0の量子状態をそれぞれ|sk−1>,…,|s0>とする第1のSUM演算部と、
加算処理ブロックAiに属する量子ビットQx(i+1)・k−1,…,Qxi・k及び量子ビットQy(i+1)・k−1,…,Qyi・kと、補助量子ビットQzi−1,1とに対して繰上げSUM演算を施し、量子ビットQx(i+1)・k−1,…,Qxi・kの量子状態をそれぞれ|a(i+1)・k−1>,…,|ai・k>とし、量子ビットQy(i+1)・k−1,…,Qyi・kの量子状態をそれぞれ|s(i+1)・k−1>,…,|si・k>とし、補助量子ビットQzi−1,1の量子状態を維持する処理を、1≦i≦(n/k)−1(iは整数)についてそれぞれ実行する第2のSUM演算部と、
を有することを特徴とする量子加算演算装置。 - 請求項8に記載の量子加算演算装置であって、
上記繰上げ値演算部は、
量子ビットQxi・k+jを制御ビットとし、量子ビットQyi・k+jを目標ビットとしたCNOT演算を0≦j≦k−1(jは整数)についてそれぞれ実行する処理を、1≦i≦(n/k)−1(iは整数)についてそれぞれ実行する第1のCNOT演算部と、
上記第1のCNOT演算部による処理がなされたk個の量子ビットQyi・k,…,Qyi・k+k−1を制御ビットとし、補助量子ビットQzi,2を目標ビットとしたk-Toffoli演算を、1≦i≦(n/k)−1(iは整数)についてそれぞれ実行する第1のk-Toffoli演算部と、
第1のk-Toffoli演算部によるk-Toffoli演算が施された補助量子ビットQzi,2を補助量子ビットQpL−1(i)と表現した場合における、補助量子ビットQpt−1(2i),Qpt−1(2i+1)を制御ビットとし、補助量子ビットQz(n/k),…,Qz(n/k)+m−1うちの1つの補助量子ビットである補助量子ビットQpt(i)を目標ビットとしたToffoli演算を、目標ビットを重複させることなく、i=1からiを1ずつ増加させながら
HIGHBIT演算部による処理が施された補助量子ビットQzi,1を補助量子ビットQgL−1(i)と表現した場合における、補助量子ビットQgt−1(2i),Qpt−1(2i+1)を制御ビットとし、補助量子ビットQgt−1(2i+1)を目標ビットとしたToffoli演算〔当該Toffoli演算後の補助量子ビットQgt−1(2i+1)を補助量子ビットQgt(i)と表現〕を、i=0からiを1ずつ増加させながら
u=2t・i/k−1とした場合における補助量子ビットQzu,1,Qpt−1(2i)を制御ビットとし、補助量子ビットQgt−1(2i)を目標ビットとしたToffoli演算を、i=1からiを1ずつ増加させながら
補助量子ビットQpt−1(2i),Qpt−1(2i+1)を制御ビットとし、補助量子ビットQpt(i)を目標ビットとしたToffoli演算を、
第4のToffoli演算部による処理の後、k個の量子ビットQyi・k,…,Qyi・k+k−1を制御ビットとし、補助量子ビットQzi,2を目標ビットとしたk-Toffoli演算を、1≦i≦(n/k)−1(iは整数)についてそれぞれ実行する第2のk-Toffoli演算部と、
第2のk-Toffoli演算部による処理の後、量子ビットQxi・k+jを制御ビットとし、量子ビットQyi・k+jを目標ビットとしたCNOT演算を0≦j≦k−1(jは整数)についてそれぞれ実行する処理を、1≦i≦(n/k)−1(iは整数)についてそれぞれ実行する第2のCNOT演算部と、
HIGHBIT演算部による処理の後、加算処理ブロックA0に属する量子ビットQxk−1,…,Qx0及び量子ビットQyk−1,…,Qy0とに対してSUM演算を施し、量子ビットQxk−1,…,Qx0の量子状態をそれぞれ|ak−1>,…,|a0>とし、量子ビットQyk−1,…,Qy0の量子状態をそれぞれ|sk−1>,…,|s0>とする第1のSUM演算部と、
第2のCNOT演算部による処理の後、加算処理ブロックAiに属する量子ビットQx(i+1)・k−1,…,Qxi・k及び量子ビットQy(i+1)・k−1,…,Qyi・kと、補助量子ビットQzi−1,1とに対してSUM演算を施し、量子ビットQx(i+1)・k−1,…,Qxi・kの量子状態をそれぞれ|a(i+1)・k−1>,…,|ai・k>とし、量子ビットQy(i+1)・k−1,…,Qyi・kの量子状態をそれぞれ|s(i+1)・k−1>,…,|si・k>とし、補助量子ビットQzi−1,1の量子状態を維持する処理を、1≦i≦(n/k)−1(iは整数)についてそれぞれ実行する第2のSUM演算部と、
を有することを特徴とする量子加算演算装置。 - 請求項8に記載の量子加算演算装置であって、
第1のSUM演算部及び第2のSUM演算部による処理の後、量子ビットQy(i+1)・k−1,…,Qyi・kに対してNOT演算を施す処理を0≦i≦(n/k)−2(iは整数)についてそれぞれ実行する第1のNOT演算部と、
上記繰上げ値演算部による補助量子ビットQzw,1の量子状態を|dw>とする処理の逆演算を、0≦w≦(n/k)−2(wは整数)についてそれぞれ実行し、さらに、量子ビットQx(w+1)・k−1,…,Qxw・kと量子ビットQy(w+1)・k−1,…,Qyw・kと補助量子ビットQzw,1とに対する上記HIGHBIT演算の逆演算であるHIGHBIT-REV演算を0≦w≦(n/k)−2(wは整数)についてそれぞれ実行する逆演算部と、
逆演算部による処理の後、量子ビットQy(i+1)・k−1,…,Qyi・kに対してNOT演算を施す処理を0≦i≦(n/k)−2(iは整数)についてそれぞれ実行する第2のNOT演算部と、
をさらに実行することを特徴とする量子加算演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007107238A JP4847914B2 (ja) | 2007-04-16 | 2007-04-16 | 量子加算演算方法及び量子加算演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007107238A JP4847914B2 (ja) | 2007-04-16 | 2007-04-16 | 量子加算演算方法及び量子加算演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008269012A JP2008269012A (ja) | 2008-11-06 |
JP4847914B2 true JP4847914B2 (ja) | 2011-12-28 |
Family
ID=40048471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007107238A Active JP4847914B2 (ja) | 2007-04-16 | 2007-04-16 | 量子加算演算方法及び量子加算演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4847914B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5204698B2 (ja) * | 2009-03-19 | 2013-06-05 | 日本電信電話株式会社 | 量子演算方法、量子演算装置、量子回路 |
JP6445487B2 (ja) * | 2016-05-31 | 2018-12-26 | 日本電信電話株式会社 | 論理和演算装置および論理和演算方法 |
CA3074557A1 (en) | 2017-09-08 | 2019-03-14 | Google Llc | Quantum circuits with reduced t gate count |
CN111582210B (zh) * | 2019-07-09 | 2022-02-15 | 沈阳工业大学 | 基于量子神经网络的人体行为识别方法 |
CN116702913A (zh) * | 2020-01-21 | 2023-09-05 | 本源量子计算科技(合肥)股份有限公司 | 一种待执行操作的量子模拟方法、装置 |
CN115809706B (zh) * | 2021-09-14 | 2024-06-14 | 本源量子计算科技(合肥)股份有限公司 | 量子模数倍增运算方法、装置、电子装置及模数算术组件 |
CN115809042B (zh) * | 2021-09-14 | 2024-06-14 | 本源量子计算科技(合肥)股份有限公司 | 量子模数加法运算方法、装置、电子装置及模数算术组件 |
CN115809707B (zh) * | 2021-09-14 | 2024-06-14 | 本源量子计算科技(合肥)股份有限公司 | 量子比较运算方法、装置、电子装置及基础算术组件 |
CN115879554B (zh) * | 2021-09-28 | 2024-06-14 | 本源量子计算科技(合肥)股份有限公司 | 量子模数平方运算方法、装置、电子装置及模数算术组件 |
CN115879552B (zh) * | 2021-09-28 | 2024-06-14 | 本源量子计算科技(合肥)股份有限公司 | 量子模数乘逆运算方法、装置、电子装置及模数算术组件 |
-
2007
- 2007-04-16 JP JP2007107238A patent/JP4847914B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2008269012A (ja) | 2008-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4847914B2 (ja) | 量子加算演算方法及び量子加算演算装置 | |
Wu et al. | Polynomial-time simulation of pairing models on a quantum computer | |
CN107066234B (zh) | 一种量子乘法器的设计方法 | |
JP5227942B2 (ja) | 量子誤り推定装置、量子誤り推定方法、そのプログラム、量子誤り訂正装置、量子誤り訂正方法 | |
Saki et al. | Study of decoherence in quantum computers: A circuit-design perspective | |
Li et al. | Application of distributed semi-quantum computing model in phase estimation | |
JP5204698B2 (ja) | 量子演算方法、量子演算装置、量子回路 | |
Caraiman et al. | Image representation and processing using ternary quantum computing | |
JP4332167B2 (ja) | 近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換演算方法および装置 | |
JP5129646B2 (ja) | 量子回路、量子演算装置及び量子演算方法 | |
Rahman et al. | An algorithm to find quantum templates | |
JP4700413B2 (ja) | 量子演算装置及び量子回路を用いた量子演算方法 | |
Khan | A recursive method for synthesizing quantum/reversible quaternary parallel adder/subtractor with look-ahead carry | |
JP5351862B2 (ja) | 量子演算方法、量子演算装置 | |
JP6182123B2 (ja) | 量子演算方法 | |
Fujiwara et al. | General method for realizing the conditional phase-shift gate and a simulation of Grover’s algorithm in an ion-trap system | |
Gnanasekaran et al. | Efficient variational quantum linear solver for structured sparse matrices | |
JP4366348B2 (ja) | 量子計算方法及び量子計算装置 | |
JP4829623B2 (ja) | 量子演算方法及び量子演算装置 | |
JP5496921B2 (ja) | 量子演算方法、量子演算装置 | |
Joshi et al. | Cavity-QED-based unconventional geometric phase gates with bichromatic field modes | |
JP5722187B2 (ja) | 量子計算方法、量子計算装置及び量子回路 | |
Patti et al. | Quantum semidefinite programming with the hadamard test and approximate amplitude constraints | |
Ali et al. | New two-qubit gate library with entanglement | |
Torosov et al. | Optimization of Two-Qubit Gates in Tunable-Coupler Architectures Using Single Flux Quantum Control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090729 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110810 |
|
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: 20111004 |
|
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: 20111014 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141021 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4847914 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |