JP4829623B2 - 量子演算方法及び量子演算装置 - Google Patents
量子演算方法及び量子演算装置 Download PDFInfo
- Publication number
- JP4829623B2 JP4829623B2 JP2006018718A JP2006018718A JP4829623B2 JP 4829623 B2 JP4829623 B2 JP 4829623B2 JP 2006018718 A JP2006018718 A JP 2006018718A JP 2006018718 A JP2006018718 A JP 2006018718A JP 4829623 B2 JP4829623 B2 JP 4829623B2
- Authority
- JP
- Japan
- Prior art keywords
- quantum
- qubit
- bit
- control
- 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.)
- 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)
- Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
Description
従来技術1の量子回路は、pよりも小さい2つの2進数a=an−1…a0(ai∈{0,1},i∈{0,…,n−1})及びb=bn−1…b0(bi∈{0,1})が入力として与えられたとき、GF(p)上の加算(a+b)mod p=un−1…u0(ui∈{0,1})を行い、un−1…u0とaとを出力する。
図35は、n=5の場合における従来技術1の量子回路図である。なお、図35では、n=5の場合の量子回路を示すが、これをnに一般化することは容易である。また、量子回路の基本単位は上述の基本演算であるが、図が複雑になるのを防ぐため、以下では基本演算以外の演算をも用いて量子回路を表現する。すなわち、図35に示す全ての演算は、1量子ビットに対する演算とCNOT演算とに分解できる。
図41は、n=5の場合における従来技術2の量子回路図である。この量子回路もGF(p)上の加算(a+b)mod pの演算を行うための量子回路である。なお、図41では、n=5の場合の量子回路を示すが、これをnに一般化することは容易である。
図41の量子回路は、QFT(量子フーリエ変換)演算と、QFT−1演算と、ΦADD演算と、ΦADD−1演算と、ΦADD(p)演算と、ΦADD(p)−1演算と、CNOT演算と、NOT演算とによって構成される。なお、QFT−1演算は、QFT演算の逆演算を表し、ΦADD−1演算は、ΦADD演算の逆演算を表し、ΦADD(p)−1演算は、ΦADD(p)演算の逆演算を表す。また、QAi,QBi(i={0,...,n−1})及びQC0,QC1は量子ビットであり、これらのうちQC0,QC1は補助ビットである。また、ΦADD(p)演算は、量子ビットQC1を制御ビットとした制御演算である。
S. Beauregard, G. Brassard, and J. M. Fernandez, Quantum Arithmetic on Galois Fields, quant-ph/0301163, 2003. Y. Takahashi, A LINEAR-SIZE QUANTUM CIRCUIT FOR ADDITION WITH NO ANCILLARY QUBITS, Quantum Information and Computation, Vol. 5, No. 6 (2005) 440-448.
しかし、従来技術1の量子回路(図35)は、まず、ADD1演算においてa+bの加算値を求め、次のADD1(p)−1演算でa+b−pの正負を求め(a+bとpとの大小比較)、a+b−pが正である場合には、a+b−pを(a+b)mod pの演算結果とし、負である場合にはADD1(p)演算によって(a+b−p)+pの演算を行い、それを(a+b)mod pの演算結果とする構成である。なお、ADD1−1以降の処理は、量子ビットQC0,QC6の量子状態をそれぞれ|0>にするための処理である。この構成の場合、ADD1(p)−1演算でa+b−pの正負を求めるためにQC0…QC5(n+1個)の補助ビットが必要となる。そのため、さらに必要な1つの補助ビットと併せて合計n+2個もの補助ビットが必要となる。
本発明はこのような点に鑑みてなされたものであり、(a+b)mod pの演算を行う量子演算技術において、補助ビット数の削減と基本演算数の低減とを同時に行い、演算誤り率を低減させることが可能な技術を提供することを目的とする。
また、本発明において好ましくは、第1比較演算過程は、加算演算過程で量子操作された量子ビットQB0,…,QBn−1,QC0の量子状態をそれぞれ反転させ、各量子状態を|s0’>,…,|sn−1’>,|sn’>とする第1NOT演算過程と、第1NOT演算過程で量子操作された量子ビットQB0,…,QBn−1,QC0と、加算演算過程で量子操作された量子ビットQA0,…,QAn−1,QC1とに対する量子操作を行い、当該量子ビットQB0,…,QBn−1,QC0の量子状態をそれぞれ、|s0’>,…,|sn−1’>,|sn’>とし、当該量子ビットQA0,…,QAn−1の量子状態をそれぞれ|a0>,…,|an−1>とし、当該量子ビットQC1の量子状態を|x>(xはs’+p(s’=sn’sn−1’…s0’)を2進n+2桁表記した際の最上位桁の値)とする最上位ビット演算過程と、最上位ビット演算過程で量子操作された量子ビットQB0,…,QBn−1,QC0,QC1の量子状態をそれぞれ反転させ、各量子状態を|s0>,…,|sn−1>,|sn>,|y>とする第2NOT演算過程とを有する。
また、本発明において好ましくは、最上位ビット演算過程は、量子ビットQAn−1を制御ビットとし、量子ビットQC1を目標ビットとした制御NOT演算を行う第1制御NOT演算過程と、第1制御NOT演算過程による処理の後、量子ビットQAn−2,QC0を制御ビットとし、量子ビットQAn−1を目標ビットとしたトフォリ演算を施す第1トフォリ演算過程と、第1トフォリ演算過程による処理の後、降順で各j∈{2,…,n−1}に対して、pj=1である場合にのみ量子ビットQBjにNOT演算を施し、pjの値に拘らず量子ビットQAj−2,QBjとを制御ビットとして量子ビットQAj−1を目標ビットとしたトフォリ演算を施し、pj=1である場合にのみ量子ビットQBjにNOT演算を施す量子操作を実行する第1量子操作過程と、第1量子操作過程による処理の後、p1=1である場合にのみ、量子ビットQB1を制御ビットとし、量子ビットQA0を目標ビットとした制御NOT演算を施し、さらにその後、量子ビットQB1にNOT演算を施す第2量子操作過程と、第2量子操作過程による処理の後、p0=1である場合にのみ、量子ビットQB0,QB1を制御ビットとし、量子ビットQA0を目標ビットとしたトフォリ演算を施す第3量子演算過程と、第3量子操作過程による処理の後、昇順で各jに対して、pj=1である場合にのみ量子ビットQBjを制御ビットとして量子ビットQAj−1を目標ビットとした制御NOT演算を施し、pj=1である場合にのみ量子ビットQBjにNOT演算を施し、pjの値に拘らず量子ビットQAj−2,QBjとを制御ビットとし、量子ビットQAj−1を目標ビットとしたトフォリ演算を施す量子操作を実行する第4量子操作過程と、第4量子操作過程による処理の後、量子ビットQAn−2,QC0を制御ビットとし、量子ビットQAn−1を目標ビットとしたトフォリ演算を施す第2トフォリ演算過程と、第2トフォリ演算過程による処理の後、量子ビットQAn−1を制御ビットとし、量子ビットQC1を目標ビットとした制御NOT演算を行う第2制御NOT演算過程と、第2制御NOT演算による処理の後、量子ビットQAn−2,QC0を制御ビットとし、量子ビットQAn−1を目標ビットとしたトフォリ演算を施す第3トフォリ演算過程と、第3トフォリ演算過程による処理の後、降順で各jに対し、第4量子操作過程の操作の逆演算操作を、量子ビットQAj−2,QBj,QAj−1に対して施す第5量子操作過程と、第5量子操作過程による処理の後、p0=1である場合にのみ、量子ビットQB0,QB1を制御ビットとし、量子ビットQA0を目標ビットとしたトフォリ演算を施す第6量子演算過程と、第6量子操作過程による処理の後、p1=1である場合にのみ、量子ビットQB1にNOT演算を施し、さらにその後、量子ビットQB1を制御ビットとし、量子ビットQA0を目標ビットとした制御NOT演算を施す第7量子操作過程と、第7量子操作過程による処理の後、昇順で各jに対して、第1量子操作過程の演算操作を量子ビットQAj−2,QBj,QAj−1に対して施す第8量子操作過程と、第8量子操作過程による処理の後、量子ビットQAn−2,QC0を制御ビットとし、量子ビットQAn−1を目標ビットとしたトフォリ演算を施す第4トフォリ演算過程とを有する。なお、p0,…,pn−1は、古典ビット情報でもよいし、量子ビット情報でもよいし、これらの混合でもよい。
また、本発明において好ましくは、制御減算演算過程による処理の後、量子ビットQC0と量子ビットQC1との量子状態を交換する交換演算過程と、交換演算過程による処理の後、量子ビットQA0,…,QAn−1,QB0,…,QBn−1,QC0に対する量子操作を行い、量子ビットQA0,…,QAn−1,QB0,…,QBn−1の量子状態を当該量子操作前のものとし、量子ビットQC0の量子状態を|γ(+)δ>(γ(+)δはγとδとの排他的論理和を示し、γは当該量子操作前の量子ビットQC0の量子状態が示す値であり、量子ビットQBiの各量子状態が示す値をi+1桁目の値とした2進n桁の数βが、量子ビットQAiの各量子状態が示す値をi+1桁目の値とした2進n桁の数α以上である場合δ=1であり、βがα未満である場合δ=0である)とする第2比較演算過程と、第2比較演算過程による処理の後、量子ビットQC0にNOT演算を施す第3NOT演算過程とを有する。
〔第1の実施の形態〕
まず、本発明における第1の実施の形態について説明する。
<構成>
図1は、第1の実施の形態における量子演算装置1の構成を示したブロック図である。
図1に示すように、本形態の量子演算装置1は、量子ビット10と、メモリ20と、演算制御部30と、量子演算部40とを有している。ここで、量子ビット10は、n個の量子ビットQA0,…,QAn−1と、n個の量子ビットQB0,…,QBn−1と、2個の量子ビットQC0,QC1とによって構成される。また、メモリ20にはpn−1,…,p0の値が格納されている。また、量子演算部40は、初期量子状態生成過程を実行する初期量子状態生成部41と、加算演算過程を実行する加算演算部42と、第1比較演算過程を実行する比較演算部43と、制御減算演算過程を実行する制御減算演算部44と、交換演算過程を実行する交換演算部45と、第2比較演算過程を実行する比較演算部46と、NOT演算過程を実行するNOT演算部47とを有している。これらの加算演算部42と、比較演算部43と、制御減算演算部44と、交換演算部45と、比較演算部46と、NOT演算部47との各機能は、基本演算単体或いは基本演算の組合せによって実現される。
図2(a)は、1量子ビットに対するNOT演算を表す。図2(a)に示すように、NOT演算は、1量子ビットの量子状態を|d>(d∈{0,1})から|d(+)1>に変換する量子操作である。なお、(+)は排他的論理和を示す演算子である。
図2(b)は、1量子ビットに対するアダマール変換を表す。図2(b)に示すように、アダマール変換は、1量子ビットの量子状態を|d>(d∈{0,1})から、{1/(√2)}|0>+{(−1)d/(√2)}|1>に変換する量子操作である。
図2(d)は、2量子ビットに対するCNOT(制御NOT)演算を表す。図2(c)に示すように、CNOT演算は、量子状態|d>(d∈{0,1})の制御ビットと、量子状態|f>(f∈{0,1})の目標ビットとに対する量子操作であり、制御ビットの量子状態を|d>に、目標ビットの量子状態を|f(+)d>にするものである。
本形態では、2つの2進数a=an−1…a0(ai∈{0,1},i∈{0,…,n−1},nは自然数)及びb=bn−1…b0(bi∈{0,1})に対し、(a+b)mod p(p=pn−1…p0,pi∈{0,1},a+bはpの2倍未満)の演算を行う。また、本形態では、pを素数とし、a,bをp未満の値とする。すなわち、本形態では、位数pの有限体GF(p)上でaとbとの加算を行う。
[処理の全体]
図3は、第1の実施の形態の処理の全体を説明するためのフローチャートである。また、図12は、第1の実施の形態の量子操作全体を説明するための量子回路図(n=5の例)である。なお、図12における横軸は時間の流れを示し、「入力」から「出力」に向けて時間が経過することを表している(以下同様な図についても同じ)。また、以下の各処理は、制御演算部30の制御のもと実行される。
次に、加算演算部42が、量子ビットQA0,…,QAn−1,QB0,…,QBn−1,QC0に対する量子操作を行い、量子ビットQA0,…,QAn−1の量子状態をそれぞれ|a0>,…,|an−1>とし、量子ビットQB0,…,QBn−1の量子状態をそれぞれ、|s0>,…,|sn−1>(a+b=sn…s0(sk∈{0,1},k∈{0,…,n}))とし、量子ビットQC0の量子状態を|sn>とする(加算演算過程〔ADD〕/ステップS2)。
次に、交換演算部45が、量子ビットQC0と量子ビットQC1との量子状態を交換する(交換演算過程〔SWAP〕/ステップS5)。
以上の量子操作により、n個の量子ビットQA0,…,QAn−1の量子状態がそれぞれ|a0>,…,|an−1>となり、n個の量子ビットQB0,…,QBn−1の量子状態をそれぞれ|u0>,…,|un−1>となり、2個の量子ビットQC0,QC1の量子状態をそれぞれ|0>,|0>となる。
[加算演算過程〔ADD〕/ステップS2の詳細]
次に、加算演算過程〔ADD〕/ステップS2の詳細を説明する。
加算演算過程〔ADD〕は、量子状態が|a0>,…,|an−1>のn個の量子ビットQA0,…,QAn−1と、量子状態が|b0>,…,|bn−1>のn個の量子ビットQB0,…,QBn−1と、量子状態が|0>の量子ビットQC0とに対する量子操作であり、以下のW1〜W4の量子操作が実行される。
まず、演算制御部30は、変数θに1を代入し、これをメモリ20に格納する(ステップS11)。次に、演算制御部30はメモリ20に格納された変数θを読み込み、この変数θに応じた命令を加算演算部42に与える。これに対し、加算演算部42は、QAθ,QC0に対するCNOT演算操作と、QBθ,QC0に対するCNOT演算操作とを実行(制御ビットQC0,目標ビットQAθ,QBθ)する(ステップS12)。
次に、演算制御部30は、メモリ20に格納された変数θを読み込み、この変数θがn−1であるか否かを判断する(ステップS13)。なお、nは事前に設定された値である。ここで、θ=n−1でなければ、演算制御部30は、メモリ20の変数θに1を加えた値を新たなθとしてメモリ20に格納し、処理をステップS12に戻す(ステップS14)。一方、θ=n−1であれば、以下のW2の量子操作に移る。
まず、加算演算部42が、量子ビットQA0,QB0,QC0に対するトフォリ演算操作(制御ビットQA0,QB0,目標ビットQC0)を行う(ステップS15)。
次に、演算制御部30が、変数θに1を代入し、これをメモリ20に格納する(ステップS16)。そして、演算制御部30はメモリ20に格納された変数θを読み込み、この変数θに応じた命令を加算演算部42に与える。加算演算部42は、量子ビットQBθ,QAθ,QC0に対するMAJ演算操作を行う(ステップS17)。なお、図18(a)に示すように、MAJ演算操作は3量子ビットに対する量子操作である。図18(a)の入力(1),(2),(3)に対応する各量子ビットの量子状態を|v1>,|v2>,|v3>とした場合、MAJ演算操作後の各量子ビットの量子状態は、|v1(+)v3>,|v2(+)v3>,|v1v2(+)v2v3(+)v3v1>となる。また、ステップS17のMAJ演算操作は、量子ビットQBθ,QAθ,QC0を、それぞれ、図18(a)の入力(1),(2),(3)として行う。次に、加算演算部42は、量子ビットQB0,QBθ,QAθに対するトフォリ演算操作(制御ビットQBθ,QAθ、目標ビットQB0)を行う(ステップS18)。
次に、演算制御部30は、変数θにn−1を代入し、これをメモリ20に格納する(ステップS22)。次に、演算制御部30はメモリ20に格納された変数θを読み込み、この変数θに応じた命令を加算演算部42に与える。これを受けた加算演算部42は、量子ビットQB0,QAθに対するCNOT演算操作(制御ビットQB0、目標ビットQAθ)を行う(ステップS23)。次に、加算演算部42において、量子ビットQB0,QBθ−1,QAθ−1に対するトフォリ演算操作(制御ビットQBθ−1,QAθ−1、目標ビットQB0)を行う(ステップS24)。
[W4の量子操作]
まず、加算演算部42が、量子ビットQA0に対するNOT演算操作を行う(ステップS27)。次に、演算制御部30は、変数θにn−1を代入し、これをメモリ20に格納する(ステップS28)。次に、演算制御部30は、メモリ20に格納された変数θを読み込み、この変数θに応じた命令を加算演算部42に与える。これを受けた加算演算部42は、量子ビットQB0,QA0,QAθに対するトフォリ演算操作(制御ビットQB0,QA0、目標ビットQAθ)を行う(ステップS29)。
[第1比較演算過程〔COMPARISON(p)〕/ステップS3の詳細]
次に、第1比較演算過程〔COMPARISON(p)〕/ステップS3の詳細について説明する。
まず、演算制御部30は、変数θに1を代入し、これをメモリ20に格納する(ステップS41)。次に、演算制御部30はメモリ20に格納された変数θを読み込み、この変数θに応じた命令を比較演算部43に与える。これに対し、比較演算部43は、QBθに対するNOT演算操作を行う(ステップS42)。次に、演算制御部30は、メモリ20に格納された変数θを読み込み、この変数θがn−1であるか否かを判断する(ステップS43)。ここで、θ=n−1でなければ、演算制御部30は、メモリ20の変数θに1を加算した値を新たなθとしてメモリ20に格納し、処理をステップS42に戻す(ステップS44)。一方、θ=n−1であれば、演算制御部30は、比較演算部43に指示を与え、これを受けた比較演算部43は、QC0に対するNOT演算操作を行う(ステップS45)。これにより、量子ビットQB0,…,QBn−1,QC0の量子状態は、それぞれ|s0’>,…,|sn−1’>,|sn’>(|s0>,…,|sn−1>,|sn>の反転ビット〔si’=si(+)1〕)となる。なお、ステップS41〜S45は、「第1NOT演算過程」に相当する。
次に、ステップS46のHIGHBIT(p)演算操作の詳細を説明する。
HIGHBIT(p)演算操作は、量子状態が|a0>,…,|an−1>のn個の量子ビットQA0,…,QAn−1と、量子状態が|s0’>,…,|sn−1’>のn個の量子ビットQB0,…,QBn−1と、量子状態が|sn’>の量子ビットQC0と、量子状態が|0>の量子ビットQC1とに対する量子操作である。
まず、比較演算部43が、量子ビットQAn−1,QC1に対するCNOT演算操作(制御ビットQAn−1,目的ビットQC1)を行う(第1制御NOT演算過程/ステップS61)。次に、比較演算部43が、量子ビットQAn−1,QAn−2,QC0に対するトフォリ演算操作(制御ビットQAn−2,QC0,目的ビットQAn−1)を行う(第1トフォリ演算過程/ステップS62)。
図22(a)に示すように、A(pθ)演算は、3つの量子ビットQAθ−2,QBθ,QAθ−1に対する量子操作である(入力時の各量子状態がv1,v2,v3∈{0,1}を示すものとする)。A(pθ)演算では、まず、pθ=1の場合にのみ量子ビットQBθにNOT演算を適用する。次に、量子ビットQAθ−2,QBθを制御ビットとし、量子ビットQAθ−1を目標ビットとしたトフォリ演算を適用し、さらに、pθ=1の場合にのみ量子ビットQBθにNOT演算を適用する。これらの操作により、3つの量子ビットQAθ−2,QBθ,QAθ−1の量子状態は、それぞれv1,v2,v3(+)(pθ(+)v2)・v1を示すものとなる。以上がA(pθ)演算である。
図22(b)に示すように、C(pθ)演算は、3つの量子ビットQAθ−2,QBθ,QAθ−1に対する量子操作である(入力時の各量子状態がv1,v2,v3∈{0,1}を示すものとする)。C(pθ)演算では、まず、pθ=1の場合にのみ、量子ビットQBθを制御ビットとし、量子ビットQAθ−1を目標ビットとしたCNOT演算を適用し、さらに、量子ビットQBθにNOT演算を適用する。その後、量子ビットQAθ−2,QBθを制御ビットとし、量子ビットQAθ−1を目標ビットとしたトフォリ演算を適用する。これらの操作により、3つの量子ビットQAθ−2,QBθ,QAθ−1の量子状態は、それぞれv1,pθ(+)v2,v3(+)v1pθ(+)v2v1を示すものとなる。以上がC(pθ)演算である。
次に、演算制御部30は、変数θにn−1を代入し、これをメモリ20に格納する(ステップS83)。次に、演算制御部30はメモリ20に格納された変数θとpθとを読み込み、これらの変数θとpθとに応じた命令を比較演算部43に与える。これを受けた比較演算部43は、量子ビットQAθ−1,QAθ−2,QBθに対するC(pθ)−1演算操作を行う(第5量子操作過程/ステップS84)。なお、C(pθ)−1演算は、C(pθ)演算の逆演算である。
次に、演算制御部30が、メモリ20に格納された変数θを読み込み、この変数θがn−1であるか否かを判断する(ステップS90)。ここで、θ=n−1でなければ、演算制御部30は、メモリ20の変数θに1を加算した値を新たなθとしてメモリ20に格納し、処理をステップS89に戻す(ステップS91)。一方、θ=n−1であれば、演算制御部30は、比較演算部43に、量子ビットQAn−1,QAn−2,QC0に対するトフォリ演算操作(制御ビットQAn−2,QC0,目的ビットQAn−1)を実行させる(第4トフォリ演算過程/ステップS92/第1比較演算過程〔COMPARISON(p)〕/ステップS3の詳細の説明終わり)。
次に、制御減算演算過程〔QFT,ΦADD(p)−1,QFT−1〕/ステップS4の詳細について説明する。
図9は、制御減算演算過程〔QFT,ΦADD(p)−1,QFT−1〕を説明するためのフローチャートである。
まず、制御減算演算部44は、量子状態が、それぞれ|s0>,…,|sn−1>,|sn>である量子ビットQB0,・・・,QBn−1,QC0に対し、QFT演算操作を実行する(ステップS101)。QFT演算操作の内容は、図42に示した通りである(なお、図42は、n=5の例であり、d0,…,d5がs0,…,s5に対応する。)。この量子操作により、量子ビットQB0,・・・,QBn−1,QC0の量子状態は、それぞれ、|Φ0(s)>,…,|Φn−1(s)>,|Φn(s)>となる。ただし、s=snsn−1…s0であり、
次に、制御減算演算部44は、量子ビットQC1を制御ビットとした量子ビットQB0,・・・,QBn−1,QC0,QC1に対する制御ΦADD(p)−1演算操作を実行する(ステップS102)。すなわち、量子ビットQC1の量子状態が|1>の場合(s≧pの場合)にのみ、量子ビットQB0,・・・,QBn−1,QC0に対するΦADD(p)−1演算操作が行われる。なお、ΦADD(p)−1演算はΦADD(p)演算の逆演算であり、ΦADD(p)演算の内容は、図45及び図46に示した通りである(図45及び図46は、n=5の例であり、d,fがそれぞれs,pに対応する。)。この量子操作により、量子ビットQC1の量子状態が|1>の場合、量子ビットQB0,・・・,QBn−1,QC0の量子状態は、それぞれ|Φ0(s−p)>,…,|Φn−1(s−p)>,|Φn(s−p)>となり、量子ビットQC1の量子状態が|0>の場合、量子ビットQB0,・・・,QBn−1,QC0の量子状態は、それぞれ|Φ0(s)>,…,|Φn−1(s)>,|Φn(s)>となる。
次に、交換演算過程〔SWAP〕/ステップS5)の詳細を説明する。
図9(b)は、交換演算過程〔SWAP〕の詳細を説明するためのフローチャートである。また、図18(b)は、交換演算過程〔SWAP〕を説明するための量子回路図である。
まず、交換演算部45が、量子ビットQC1を制御ビットとし、量子ビットQC0を目標ビットとするCNOT演算操作を実行する(ステップS111)。次に、交換演算部45が、量子ビットQC0を制御ビットとし、量子ビットQC1を目標ビットとするCNOT演算操作を実行する(ステップS112)。さらに、交換演算部45が、量子ビットQC1を制御ビットとし、量子ビットQC0を目標ビットとするCNOT演算操作を実行する(ステップS113)。
次に、第2比較演算過程〔COMP〕/ステップS6の詳細について説明する。
図10及び図11は、第2比較演算過程〔COMP〕/ステップS6の詳細を説明するためのフローチャートである。また、図23は、第2比較演算過程〔COMP〕の量子操作全体を説明するための量子回路図(n=5の例)である。また、図24〜図27は、図23のT1〜T4の各量子操作を説明するための量子回路図である。
第2比較演算過程は、量子状態が|a0>,…,|an−1>のn個の量子ビットQA0,…,QAn−1と、量子状態が|u0>,…,|un−1>のn個の量子ビットQB0,…,QBn−1と、量子状態が|γ>(γ∈{0,1})の量子ビットQC0とに対する量子操作であり、以下のT1〜T4の量子操作が実行される。
まず、比較演算部46は、量子ビットQB0,・・・,QBn−1に対するNOT演算操作を行う(ステップS121)。次に、演算制御部30は、変数θに1を代入し、これをメモリ20に格納する(ステップS122)。次に、演算制御部30はメモリ20に格納された変数θを読み込み、この変数θに応じた命令を比較演算部46に与える。これに対し、比較演算部46は、QAθ,QC0に対するCNOT演算操作と、QBθ,QC0に対するCNOT演算操作とを実行(制御ビットQC0,目標ビットQAθ,QBθ)する(ステップS123)。
[T2の量子操作]
まず、比較演算部46が、量子ビットQA0,QB0,QC0に対するトフォリ演算操作(制御ビットQA0,QB0,目標ビットQC0)を行う(ステップS126)。
次に、演算制御部30は、変数θにn−1を代入し、これをメモリ20に格納する(ステップS141)。次に、演算制御部30はメモリ20に格納された変数θを読み込み、この変数θに応じた命令を比較演算部46に与える。これを受けた比較演算部46は、量子ビットQAθ,QB0に対するCNOT演算操作(制御ビットQB0、目標ビットQAθ)と、量子ビットQBθ,QB0に対するCNOT演算操作(制御ビットQB0、目標ビットQBθ)とを行う(ステップS142)。さらに、比較演算部46は、量子ビットQB0,QAθ−1,QBθ−1に対するトフォリ演算操作(制御ビットQAθ−1,QBθ−1、目標ビットQB0)を行う(ステップS143)。
[T4の量子操作]
まず、比較演算部46が、QA0に対するNOT演算操作を行う(ステップS146)。次に、演算制御部30は、変数θにn−1を代入し、これをメモリ20に格納する(ステップS147)。次に、演算制御部30は、メモリ20に格納された変数θを読み込み、この変数θに応じた命令を比較演算部46に与える。これを受けた比較演算部46は、量子ビットQB0,QA0,QAθに対するトフォリ演算操作(制御ビットQB0,QA0、目標ビットQAθ)と、量子ビットQB0,QA0,QBθに対するトフォリ演算操作(制御ビットQB0,QA0、目標ビットQBθ)とを行う(ステップS148)。
以上のように、本形態では、2個の補助ビットを用い、量子フーリエ変換とその逆変換それぞれ1個とO(n)個(具体的には、n≧5で9n2+221n-187個)の基本演算とを、O(n)個の計算ステップで実行し、有限体GF(p)上の加算を行うことができる。このように、本形態では、従来構成に比べ、補助ビット数の削減と基本演算数の低減とを同時に行うことができ、演算誤り率を低減させることができる。
〔第2の実施の形態〕
次に、本発明における第2の実施の形態について説明する。
図28は、第2の実施の形態における量子演算装置100の構成を示したブロック図である。
図28に示すように、本形態の量子演算装置100は、量子ビット110と、メモリ20と、演算制御部130と、量子演算部140とを有している。ここで、量子ビット110は、n個の量子ビットQA0,…,QAn−1と、n個の量子ビットQB0,…,QBn−1と、2個の量子ビットQC0,QC1と、n個の量子ビットQP0,…,QPn−1とによって構成される。また、量子演算部140は、初期量子状態生成過程を実行する初期量子状態生成部141と、加算演算過程を実行する加算演算部42と、第1比較演算過程を実行する比較演算部143と、制御減算演算過程を実行する制御減算演算部144と、交換演算過程を実行する交換演算部45と、第2比較演算過程を実行する比較演算部46と、NOT演算過程を実行するNOT演算部47とを有している。なお、これらの加算演算部42と、比較演算部143と、制御減算演算部144と、交換演算部45と、比較演算部46と、NOT演算部47との各機能は、基本演算単体或いは基本演算の組合せによって実現される。
以下では、初期量子状態生成過程と、HIGHBIT(p)演算操作やΦADD(p)−1演算操作の代わりに行われるHIGHBIT演算操作やΦADD−1演算操作とを説明する。その他処理については、第1の実施の形態と同じであるため説明を省略する。
[初期量子状態生成過程]
本形態の初期量子状態生成過程では、初期量子状態生成部141が、n個の量子ビットQA0,…,QAn−1の量子状態をそれぞれ|a0>,…,|an−1>とし、n個の量子ビットQB0,…,QBn−1の量子状態をそれぞれ|b0>,…,|bn−1>とし、2個の量子ビットQC0,QC1の量子状態をそれぞれ|0>,|0>し、n個の量子ビットQP0,…,QPn−1の量子状態をそれぞれ|p0>,…,|pn−1>とする。
次に、本形態のHIGHBIT演算操作について説明する。
図29及び図30は、第2の実施の形態のHIGHBIT演算操作を説明するためのフローチャートである。また、図31及び図32は、第2の実施の形態のHIGHBIT演算操作を説明するための量子回路図である。さらに、図33(a)は、図31及び図32のA演算操作を説明するための量子回路図であり、図33(b)は、C演算操作を説明するための量子回路図である。また、図34は、図31及び図32の3トフォリ演算操作を説明するための量子回路である。
まず、比較演算部143が、量子ビットQAn−1,QC1に対するCNOT演算操作(制御ビットQAn−1,目的ビットQC1)を行う(第1制御NOT演算過程/ステップS201)。次に、比較演算部143が、量子ビットQAn−1,QAn−2,QC0に対するトフォリ演算操作(制御ビットQAn−2,QC0,目的ビットQAn−1)を行う(第1トフォリ演算過程/ステップS202)。
図33(a)に示すように、A演算は、4つの量子ビットQAθ−2,QPθ,QBθ,QAθ−1に対する量子操作である(入力時の各量子状態がv1, pθ,v2,v3∈{0,1}を示すものとする)。A演算では、まず、量子ビットQPθを制御ビットとし、量子ビットQBθを目標ビットとしたCNOT演算を適用する。次に、量子ビットQAθ−2,QBθを制御ビットとし、量子ビットQAθ−1を目標ビットとしたトフォリ演算を適用し、さらに、量子ビットQPθを制御ビットとし、量子ビットQBθを目標ビットとしたCNOT演算を適用する。これらの操作により、4つの量子ビットQAθ−2,QPθ,QBθ,QAθ−1の量子状態は、それぞれv1,pθ,v2,v3(+)(pθ(+)v2)・v1を示すものとなる。以上がA演算である。
次に、比較演算部143は、量子ビットQAθ−1,QAθ−2,QBθ,QPθに対するC演算操作
を行う(第4量子操作過程/ステップS209)。
次に、演算制御部130は、変数θにn−1を代入し、これをメモリ20に格納する(ステップS223)。次に、演算制御部130はメモリ20に格納された変数θとpθとを読み込み、これらの変数θとpθとに応じた命令を比較演算部143に与える。これを受けた比較演算部143は、量子ビットQAθ−1,QAθ−2,QBθ,QPθに対するC−1演算操作を行う(第5量子操作過程/ステップS224)。なお、C−1演算は、C演算の逆演算である。
次に、演算制御部230が、メモリ20に格納された変数θを読み込み、この変数θがn−1であるか否かを判断する(ステップS230)。ここで、θ=n−1でなければ、演算制御部130は、メモリ20の変数θに1を加算した値を新たなθとしてメモリ20に格納し、処理をステップS229に戻す(ステップS231)。一方、θ=n−1であれば、演算制御部130は、比較演算部143に、量子ビットQAn−1,QAn−2,QC0に対するトフォリ演算操作(制御ビットQAn−2,QC0,目的ビットQAn−1)を実行させる(第4トフォリ演算過程/ステップS232/HIGHBIT演算操作の説明終わり)。
次に、本形態のΦADD−1演算操作について説明する。
本形態のΦADD−1演算操作は、量子ビットQC1を制御ビットとした制御演算操作である。また、量子ビットQC1を制御ビットとして制御されるΦADD−1演算操作は、量子状態がそれぞれ|a0>,…,|an−1>,|s0>,…,|sn−1>,|sn>である量子ビットQA0,…,QAn−1,QB0,…,QBn−1,QC0に対する量子操作であり、ΦADD演算操作の逆演算である。また、ΦADD演算操作の内容は、図44に示した通りである(なお、図44は、n=5の例であり、d0,…,d5がa0,…,a4に対応し、f0,…,f4,gがs0,…,s4,s5に対応する)。
以上のような構成としても、量子ビットQA0,…,QAn−1,QB0,…,QBn−1,QC0,QC1に対して第1の実施の形態と同じ量子操作を施すことができる。そのため、本形態でも、2個の補助ビットを用い、量子フーリエ変換とその逆変換それぞれ1個とO(n)個(具体的には、n≧5で9n2+221n-187個)の基本演算とを、O(n)個の計算ステップで実行し、有限体GF(p)上の加算を行うことができる。その結果、本形態でも、従来構成に比べ、補助ビット数の削減と基本演算数の低減とを同時に行うことができ、演算誤り率を低減させることができる。
次に各実施の形態の量子演算装置1,100のハードウェア構成を例示する。
本形態の量子演算装置1,100は、量子コンピュータと古典コンユータとの組合せ、或いは量子コンピュータ単体で実現できる。量子コンピュータの実現する物理系としては、例えば、イオントラップを用いる方法(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)基板等に各量子ビットを生成する。
また、演算前後や演算途中において量子ビットの量子状態を保存する必要がある場合には、例えば、量子ドット内の電子準位、核スピン、あるいは超伝導体内部の電荷(クーパー対)量を量子ビットとして用いてデータを保存する量子メモリ等を用いてもよい(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)、
1138326796062_1
、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演算を実現できる。
<量子ビット単体の操作(NOT演算,アダマール変換,k回転演算)>
イオントラップ量子コンピュータでは、例えば、イオンを直線上に並べ、各イオンに狙いを定めたレーザービーム照射によって量子ビット単体の操作を実現する。核スピンを量子ビットとして用いる場合には、電磁波パルスやレーザービーム照射によって各処理を実現する。また、量子ビットとして光子の偏光を用いる場合には、例えば、偏光回転素子等によって実現する。
演算制御部30,130は、例えば公知のコンピュータに所定のプログラムを実行させて実現してもよいし、上述の量子コンピュータによって実現してもよい。また、メモリ20は、DRAM、SRAM、フラッシュメモリ、NV(Nonvolatile)RAM等の読書き可能な半導体メモリであってもよいし、上述の量子メモリであってもよい。
なお、本発明は上述の実施の形態に限定されるものではない。例えば、第1の実施の形態では、pが素数であることとしたが、a+b<2pであるならばpは素数でなくてもよい。また、量子操作後の各量子ビットを他の量子計算に用いる必要がないならば、ステップS5からS7の処理は行わなくてもよい。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
Claims (6)
- 2つの2進数a=an−1…a0(ai∈{0,1},i∈{0,…,n−1})及びb=bn−1…b0(bi∈{0,1})に対し、(a+b)mod p(p=pn−1…p0,pi∈{0,1},a+bはpの2倍未満)を算出する量子演算方法であって、
n個の量子ビットQA0,…,QAn−1の量子状態をそれぞれ|a0>,…,|an−1>とし、n個の量子ビットQB0,…,QBn−1の量子状態をそれぞれ|b0>,…,|bn−1>とし、2個の量子ビットQC0,QC1の量子状態をそれぞれ|0>,|0>としておき、
上記量子ビットQA0,…,QAn−1,QB0,…,QBn−1,QC0に対する加算量子操作を行い、上記量子ビットQA0,…,QAn−1の量子状態をそれぞれ|a0>,…,|an−1>とし、上記量子ビットQB0,…,QBn−1の量子状態をそれぞれ、|s0>,…,|sn−1>(a+b=sn…s0(sk∈{0,1},k∈{0,…,n}))とし、上記量子ビットQC0の量子状態を|sn>とする加算演算過程と、
上記加算演算過程で上記加算量子操作された上記量子ビットQA0,…,QAn−1,QB0,…,QBn−1,QC0と、上記量子ビットQC1とに対する比較量子操作を行い、上記量子ビットQA0,…,QAn−1の量子状態をそれぞれ|a0>,…,|an−1>とし、上記量子ビットQB0,…,QBn−1の量子状態をそれぞれ|s0>,…,|sn−1>とし、上記量子ビットQC0の量子状態を|sn>とし、上記量子ビットQC1の量子状態を|y>(p≦a+bの場合y=1、p>a+bの場合y=0)とする第1比較演算過程と、
上記第1比較演算過程で上記比較量子操作された上記量子ビットQC1の量子状態が|1>であった場合にのみ、上記第1比較演算過程で上記比較量子操作された上記量子ビットQB0,…,QBn−1の量子状態をそれぞれ|t0>,…,|tn−1>(a+b−p=tn−1…t0(ti∈{0,1}))とし、上記量子ビットQC0の量子状態を|0>とする制御減算演算過程と、
を実行し、
上記加算演算過程で行われる上記加算量子操作は、
θ=1,…,n−1のそれぞれについて昇順で、上記量子ビットQC 0 を制御ビットとし、上記量子ビットQA θ を目標ビットとしたCNOT演算操作と、上記量子ビットQC 0 を制御ビットとし、上記量子ビットQB θ を目標ビットとしたCNOT演算操作とを行うW1量子操作過程と、
上記量子ビットQA 0 ,QB 0 を制御ビットとし,上記量子ビットQC 0 を目標ビットとしたトフォリ演算操作を行い、θ=1,…,n−2のそれぞれについて昇順で、上記量子ビットQB θ ,QA θ ,QC 0 に対するMAJ演算操作と、上記量子ビットQB θ ,QA θ を制御ビットとし、上記量子ビットQB 0 を目標ビットとしたトフォリ演算操作とを行い、さらに上記量子ビットQB n−1 ,QA n−1 ,QC 0 に対するMAJ演算操作を行うW2量子操作過程と、
θ=2,…,n−1のそれぞれについて降順で、上記量子ビットQB 0 を制御ビットとし、上記量子ビットQA θ を目標ビットとしたCNOT演算操作と、上記量子ビットQB θ−1 ,QA θ−1 を制御ビットとし,上記量子ビットQB 0 を目標ビットとしたトフォリ演算操作とを行うW3量子操作過程と、
上記量子ビットQA 0 に対するNOT演算操作を行い、θ=2,…,n−1のそれぞれについて降順で、上記量子ビットQB 0 ,QA 0 を制御ビットとし、上記量子ビットQA θ を目標ビットとしたトフォリ演算操作を行い、さらに、上記量子ビットQA 0 に対するNOT演算操作を行い、上記量子ビットQB 0 ,QA 0 を制御ビットとし,上記量子ビットQA 1 を目標ビットとしたトフォリ演算操作を行い、さらに、θ=0,…,n−1のそれぞれについて昇順で、上記量子ビットQA θ を制御ビットとし、上記量子ビットQB θ を目標ビットとしたCNOT演算操作を行うW4量子操作過程と、を含む操作であり、
上記第1比較演算過程で行われる上記比較量子操作は、
上記加算演算過程で上記加算量子操作された上記量子ビットQB0,…,QBn−1,QC0の量子状態をそれぞれ反転させ、各量子状態を|s0’>,…,|sn−1’>,|sn’>とする第1NOT演算過程と、
上記第1NOT演算過程で得られた各量子状態が|s 0 ’>,…,|s n−1 ’>,|s n ’>の上記量子ビットQB0,…,QBn−1,QC0と、上記加算演算過程で上記加算量子操作された上記量子ビットQA0,…,QAn−1,QC1とに対する最上位ビット演算量子操作を行い、当該量子ビットQB0,…,QBn−1,QC0の量子状態をそれぞれ、|s0’>,…,|sn−1’>,|sn’>とし、当該量子ビットQA0,…,QAn−1の量子状態をそれぞれ|a0>,…,|an−1>とし、当該量子ビットQC1の量子状態を|x>(xはs’+p(s’=sn’sn−1’…s0’)を2進n+2桁表記した際の最上位桁の値)とする最上位ビット演算過程と、
上記最上位ビット演算過程で上記最上位ビット演算量子操作された上記量子ビットQB0,…,QBn−1,QC0,QC1の量子状態をそれぞれ反転させ、各量子状態を|s0>,…,|sn−1>,|sn>,|y>とする第2NOT演算過程と、を含む操作であり、
上記最上位ビット演算過程で行われる上記最上位ビット演算量子操作は、
上記量子ビットQAn−1を制御ビットとし、上記量子ビットQC1を目標ビットとした制御NOT演算を行う第1制御NOT演算過程と、
上記第1制御NOT演算過程による処理の後、上記量子ビットQAn−2,QC0を制御ビットとし、上記量子ビットQAn−1を目標ビットとしたトフォリ演算を施す第1トフォリ演算過程と、
上記第1トフォリ演算過程による処理の後、降順で各j∈{2,…,n−1}に対して、pj=1である場合にのみ上記量子ビットQBjにNOT演算を施し、pjの値に拘らず上記量子ビットQAj−2,QBjとを制御ビットとして上記量子ビットQAj−1を目標ビットとしたトフォリ演算を施し、pj=1である場合にのみ上記量子ビットQBjにNOT演算を施す量子操作を実行する第1量子操作過程と、
上記第1量子操作過程による処理の後、p1=1である場合にのみ、上記量子ビットQB1を制御ビットとし、上記量子ビットQA0を目標ビットとした制御NOT演算を施し、さらにその後、上記量子ビットQB1にNOT演算を施す第2量子操作過程と、
上記第2量子操作過程による処理の後、p0=1である場合にのみ、上記量子ビットQB0,QB1を制御ビットとし、上記量子ビットQA0を目標ビットとしたトフォリ演算を施す第3量子演算過程と、
上記第3量子操作過程による処理の後、昇順で各jに対して、pj=1である場合にのみ上記量子ビットQBjを制御ビットとして上記量子ビットQAj−1を目標ビットとした制御NOT演算を施し、pj=1である場合にのみ上記量子ビットQBjにNOT演算を施し、pjの値に拘らず上記量子ビットQAj−2,QBjとを制御ビットとし、上記量子ビットQAj−1を目標ビットとしたトフォリ演算を施す量子操作を実行する第4量子操作過程と、
上記第4量子操作過程による処理の後、上記量子ビットQAn−2,QC0を制御ビットとし、上記量子ビットQAn−1を目標ビットとしたトフォリ演算を施す第2トフォリ演算過程と、
上記第2トフォリ演算過程による処理の後、上記量子ビットQAn−1を制御ビットとし、上記量子ビットQC1を目標ビットとした制御NOT演算を行う第2制御NOT演算過程と、
上記第2制御NOT演算による処理の後、上記量子ビットQAn−2,QC0を制御ビットとし、上記量子ビットQAn−1を目標ビットとしたトフォリ演算を施す第3トフォリ演算過程と、
上記第3トフォリ演算過程による処理の後、降順で各jに対し、上記第4量子操作過程の操作の逆演算操作を、上記量子ビットQAj−2,QBj,QAj−1に対して施す第5量子操作過程と、
上記第5量子操作過程による処理の後、p0=1である場合にのみ、上記量子ビットQB0,QB1を制御ビットとし、上記量子ビットQA0を目標ビットとしたトフォリ演算を施す第6量子演算過程と、
上記第6量子操作過程による処理の後、p1=1である場合にのみ、上記量子ビットQB1にNOT演算を施し、さらにその後、上記量子ビットQB1を制御ビットとし、上記量子ビットQA0を目標ビットとした制御NOT演算を施す第7量子操作過程と、
上記第7量子操作過程による処理の後、昇順で各jに対して、上記第1量子操作過程の演算操作を上記量子ビットQAj−2,QBj,QAj−1に対して施す第8量子操作過程と、
上記第8量子操作過程による処理の後、上記量子ビットQAn−2,QC0を制御ビットとし、上記量子ビットQAn−1を目標ビットとしたトフォリ演算を施す第4トフォリ演算過程と、を含む操作であり、
上記制御減算演算過程は、
量子状態がそれぞれ|s 0 >,…,|s n−1 >,|s n >である上記量子ビットQB 0 ,・・・,QB n−1 ,QC 0 に対して量子フーリエ変換を行い、上記量子ビットQB 0 ,・・・,QB n−1 ,QC 0 の量子状態を|Φ 0 (s)>,…,|Φ n−1 (s)>,|Φ n (s)>にするQFT演算過程と、
上記量子ビットQC 1 を制御ビットとし、上記量子ビットQB 0 ,・・・,QB n−1 ,QC 0 ,QC 0 を目標ビットとした制御ΦADD(p) −1 演算操作を行う制御ΦADD(p) −1 演算過程と、
上記量子ビットQB 0 ,・・・,QB n−1 ,QC 0 に対して上記量子フーリエ変換の逆演算を行うQFT −1 演算過程と、を含み、
s=s n s n−1 …s 0 、k=0,…,n、eは自然対数であり、
前記制御ΦADD(p) −1 演算操作は、
上記量子ビットQC 1 の量子状態が|1>の場合にのみ、上記量子ビットQB 0 ,・・・,QB n−1 ,QC 0 に対するΦADD(p) −1 演算操作を行う操作であり、
上記ΦADD(p) −1 演算操作は、ΦADD(p)演算の逆演算であり、
上記ΦADD(p)演算は、
量子ビットQB k の量子状態|g k >(k=0,…,n)のそれぞれを
ことを特徴とする量子演算方法。 - 請求項1に記載の量子演算方法であって、
上記pは素数であり、
上記a,bは上記p未満である、
ことを特徴とする量子演算方法。 - 請求項1に記載の量子演算方法であって、
上記制御減算演算過程による処理の後、上記量子ビットQC0と上記量子ビットQC1との量子状態を交換する交換演算過程と、
上記交換演算過程による処理の後、上記量子ビットQA0,…,QAn−1,QB0,…,QBn−1,QC0に対する第2比較量子操作を行い、上記量子ビットQA0,…,QAn−1,QB0,…,QBn−1の量子状態を当該量子操作前のものとし、上記量子ビットQC0の量子状態を|γ(+)δ>(γ(+)δはγとδとの排他的論理和を示し、γは当該量子操作前の上記量子ビットQC0の量子状態が示す値であり、上記量子ビットQBiの各量子状態が示す値をi+1桁目の値とした2進n桁の数βが、上記量子ビットQAiの各量子状態が示す値をi+1桁目の値とした2進n桁の数α以上である場合δ=1であり、βがα未満である場合δ=0である)とする第2比較演算過程と、
上記第2比較演算過程による処理の後、上記量子ビットQC0にNOT演算を施す第3NOT演算過程と、
を有し、
上記第2比較演算過程で行われる上記第2比較量子操作は、
上記量子ビットQB 0 ,・・・,QB n−1 に対するNOT演算操作を行い、θ=1,…,n−1のそれぞれについて昇順で、上記量子ビットQC 0 を制御ビットとし、上記量子ビットQA θ を目標ビットとしたCNOT演算操作と、上記量子ビットQC 0 を制御ビットとし、上記量子ビットQB θ を目標ビットとしたCNOT演算操作とを行うT1量子操作過程と、
上記量子ビットQA 0 ,QB 0 を制御ビットとし,上記量子ビットQC 0 を目標ビットとしたトフォリ演算操作を行い、θ=1,…,n−2のそれぞれについて昇順で、上記量子ビットQB θ ,QA θ ,QC 0 に対するMAJ演算操作と、上記量子ビットQB θ ,QA θ を制御ビットとし、上記量子ビットQB 0 を目標ビットとしたトフォリ演算操作とを行い、さらに上記量子ビットQB n−1 ,QA n−1 ,QC 0 に対するMAJ演算操作を行うT2量子操作過程と、
θ=2,…,n−1のそれぞれについて降順で、上記量子ビットQB 0 を制御ビットとし、上記量子ビットQA θ を目標ビットとしたCNOT演算操作と、上記量子ビットQB 0 を制御ビットとし、上記量子ビットQB θ を目標ビットとしたCNOT演算操作と、上記量子ビットQA θ−1 ,QB θ−1 を制御ビットとし,上記量子ビットQB 0 を目標ビットとしたトフォリ演算操作とを行うT3量子操作過程と、
上記量子ビットQA 0 に対するNOT演算操作を行い、θ=2,…,n−1のそれぞれについて降順で、上記量子ビットQB 0 ,QA 0 を制御ビットとし、上記量子ビットQA θ を目標ビットとしたトフォリ演算操作を行い、上記量子ビットQB 0 ,QA 0 を制御ビットとし、上記量子ビットQB θ を目標ビットとしたトフォリ演算操作を行い、さらに、上記量子ビットQA 0 に対するNOT演算操作を行い、上記量子ビットQB 0 ,QA 0 を制御ビットとし、上記量子ビットQA 1 を目標ビットとしたトフォリ演算操作を行い、上記量子ビットQB 0 ,QA 0 を制御ビットとし、上記量子ビットQB 1 を目標ビットとしたトフォリ演算操作を行い、上記量子ビットQB 0 ,…,QB n−1 ,QC 0 に対するNOT演算操作を行うT4量子操作過程と、を含む操作である、
ことを特徴とする量子演算方法。 - 2つの2進数a=an−1…a0(ai∈{0,1},i∈{0,…,n−1})及びb=bn−1…b0(bi∈{0,1})に対し、(a+b)mod p(p=pn−1…p0,pi∈{0,1},a+bはpの2倍未満)を算出する量子演算装置であって、
初期量子状態がそれぞれ|a0>,…,|an−1>であるn個の量子ビットQA0,…,QAn−1と、初期量子状態をそれぞれ|b0>,…,|bn−1>であるn個の量子ビットQB0,…,QBn−1と、初期量子状態がそれぞれ|0>,|0>である2個の量子ビットQC0,QC1と、
上記量子ビットQA0,…,QAn−1,QB0,…,QBn−1,QC0に対する加算量子操作を行い、上記量子ビットQA0,…,QAn−1の量子状態をそれぞれ|a0>,…,|an−1>とし、上記量子ビットQB0,…,QBn−1の量子状態をそれぞれ、|s0>,…,|sn−1>(a+b=sn…s0(sk∈{0,1},k∈{0,…,n}))とし、上記量子ビットQC0の量子状態を|sn>とする加算演算部と、
上記加算演算部で上記加算量子操作された上記量子ビットQA0,…,QAn−1,QB0,…,QBn−1,QC0と、上記量子ビットQC1とに対する比較量子操作を行い、上記量子ビットQA0,…,QAn−1の量子状態をそれぞれ|a0>,…,|an−1>とし、上記量子ビットQB0,…,QBn−1の量子状態をそれぞれ|s0>,…,|sn−1>とし、上記量子ビットQC0の量子状態を|sn>とし、上記量子ビットQC1の量子状態を|y>(p≦a+bの場合y=1、p>a+bの場合y=0)とする比較演算部と、
上記第1比較演算部で上記比較量子操作された上記量子ビットQC1の量子状態が|1>であった場合にのみ、上記第1比較演算部で上記比較量子操作された上記量子ビットQB0,…,QBn−1の量子状態をそれぞれ|t0>,…,|tn−1>(a+b−p=tn−1…t0(ti∈{0,1}))とし、上記量子ビットQC0の量子状態を|0>とする制御減算演算部と、
を有し、
上記加算演算部で行われる上記加算量子操作は、
θ=1,…,n−1のそれぞれについて昇順で、上記量子ビットQC 0 を制御ビットとし、上記量子ビットQA θ を目標ビットとしたCNOT演算操作と、上記量子ビットQC 0 を制御ビットとし、上記量子ビットQB θ を目標ビットとしたCNOT演算操作とを行うW1量子操作過程と、
上記量子ビットQA 0 ,QB 0 を制御ビットとし,上記量子ビットQC 0 を目標ビットとしたトフォリ演算操作を行い、θ=1,…,n−2のそれぞれについて昇順で、上記量子ビットQB θ ,QA θ ,QC 0 に対するMAJ演算操作と、上記量子ビットQB θ ,QA θ を制御ビットとし、上記量子ビットQB 0 を目標ビットとしたトフォリ演算操作とを行い、さらに上記量子ビットQB n−1 ,QA n−1 ,QC 0 に対するMAJ演算操作を行うW2量子操作過程と、
θ=2,…,n−1のそれぞれについて降順で、上記量子ビットQB 0 を制御ビットとし、上記量子ビットQA θ を目標ビットとしたCNOT演算操作と、上記量子ビットQB θ−1 ,QA θ−1 を制御ビットとし,上記量子ビットQB 0 を目標ビットとしたトフォリ演算操作とを行うW3量子操作過程と、
上記量子ビットQA 0 に対するNOT演算操作を行い、θ=2,…,n−1のそれぞれについて降順で、上記量子ビットQB 0 ,QA 0 を制御ビットとし,上記量子ビットQA θ を目標ビットとしたトフォリ演算操作を行い、さらに、上記量子ビットQA 0 に対するNOT演算操作を行い、上記量子ビットQB 0 ,QA 0 を制御ビットとし,上記量子ビットQA 1 を目標ビットとしたトフォリ演算操作を行い、さらに、θ=0,…,n−1のそれぞれについて昇順で、上記量子ビットQA θ を制御ビットとし、上記量子ビットQB θ を目標ビットとしたCNOT演算操作を行うW4量子操作過程と、を含む操作であり、
上記第1比較演算部で行われる上記比較量子操作は、
上記加算演算部で上記加算量子操作された上記量子ビットQB 0 ,…,QB n−1 ,QC 0 の量子状態をそれぞれ反転させ、各量子状態を|s 0 ’>,…,|s n−1 ’>,|s n ’>とする第1NOT演算過程と、
上記第1NOT演算過程で得られた各量子状態が|s 0 ’>,…,|s n−1 ’>,|s n ’>の上記量子ビットQB 0 ,…,QB n−1 ,QC 0 と、上記加算演算部で上記加算量子操作された上記量子ビットQA 0 ,…,QA n−1 ,QC 1 とに対する最上位ビット演算量子操作を行い、当該量子ビットQB 0 ,…,QB n−1 ,QC 0 の量子状態をそれぞれ、|s 0 ’>,…,|s n−1 ’>,|s n ’>とし、当該量子ビットQA 0 ,…,QA n−1 の量子状態をそれぞれ|a 0 >,…,|a n−1 >とし、当該量子ビットQC 1 の量子状態を|x>(xはs’+p(s’=s n ’s n−1 ’…s 0 ’)を2進n+2桁表記した際の最上位桁の値)とする最上位ビット演算過程と、
上記最上位ビット演算過程で上記最上位ビット演算量子操作された上記量子ビットQB 0 ,…,QB n−1 ,QC 0 ,QC 1 の量子状態をそれぞれ反転させ、各量子状態を|s 0 >,…,|s n−1 >,|s n >,|y>とする第2NOT演算過程と、を含む操作であり、
上記最上位ビット演算過程で行われる上記最上位ビット演算量子操作は、
上記量子ビットQA n−1 を制御ビットとし、上記量子ビットQC 1 を目標ビットとした制御NOT演算を行う第1制御NOT演算過程と、
上記第1制御NOT演算過程による処理の後、上記量子ビットQA n−2 ,QC 0 を制御ビットとし、上記量子ビットQA n−1 を目標ビットとしたトフォリ演算を施す第1トフォリ演算過程と、
上記第1トフォリ演算過程による処理の後、降順で各j∈{2,…,n−1}に対して、p j =1である場合にのみ上記量子ビットQB j にNOT演算を施し、p j の値に拘らず上記量子ビットQA j−2 ,QB j とを制御ビットとして上記量子ビットQA j−1 を目標ビットとしたトフォリ演算を施し、p j =1である場合にのみ上記量子ビットQB j にNOT演算を施す量子操作を実行する第1量子操作過程と、
上記第1量子操作過程による処理の後、p 1 =1である場合にのみ、上記量子ビットQB 1 を制御ビットとし、上記量子ビットQA 0 を目標ビットとした制御NOT演算を施し、さらにその後、上記量子ビットQB 1 にNOT演算を施す第2量子操作過程と、
上記第2量子操作過程による処理の後、p 0 =1である場合にのみ、上記量子ビットQB 0 ,QB 1 を制御ビットとし、上記量子ビットQA 0 を目標ビットとしたトフォリ演算を施す第3量子演算過程と、
上記第3量子操作過程による処理の後、昇順で各jに対して、p j =1である場合にのみ上記量子ビットQB j を制御ビットとして上記量子ビットQA j−1 を目標ビットとした制御NOT演算を施し、p j =1である場合にのみ上記量子ビットQB j にNOT演算を施し、p j の値に拘らず上記量子ビットQA j−2 ,QB j とを制御ビットとし、上記量子ビットQA j−1 を目標ビットとしたトフォリ演算を施す量子操作を実行する第4量子操作過程と、
上記第4量子操作過程による処理の後、上記量子ビットQA n−2 ,QC 0 を制御ビットとし、上記量子ビットQA n−1 を目標ビットとしたトフォリ演算を施す第2トフォリ演算過程と、
上記第2トフォリ演算過程による処理の後、上記量子ビットQA n−1 を制御ビットとし、上記量子ビットQC 1 を目標ビットとした制御NOT演算を行う第2制御NOT演算過程と、
上記第2制御NOT演算による処理の後、上記量子ビットQA n−2 ,QC 0 を制御ビットとし、上記量子ビットQA n−1 を目標ビットとしたトフォリ演算を施す第3トフォリ演算過程と、
上記第3トフォリ演算過程による処理の後、降順で各jに対し、上記第4量子操作過程の操作の逆演算操作を、上記量子ビットQA j−2 ,QB j ,QA j−1 に対して施す第5量子操作過程と、
上記第5量子操作過程による処理の後、p 0 =1である場合にのみ、上記量子ビットQB 0 ,QB 1 を制御ビットとし、上記量子ビットQA 0 を目標ビットとしたトフォリ演算を施す第6量子演算過程と、
上記第6量子操作過程による処理の後、p 1 =1である場合にのみ、上記量子ビットQB 1 にNOT演算を施し、さらにその後、上記量子ビットQB 1 を制御ビットとし、上記量子ビットQA 0 を目標ビットとした制御NOT演算を施す第7量子操作過程と、
上記第7量子操作過程による処理の後、昇順で各jに対して、上記第1量子操作過程の演算操作を上記量子ビットQA j−2 ,QB j ,QA j−1 に対して施す第8量子操作過程と、
上記第8量子操作過程による処理の後、上記量子ビットQA n−2 ,QC 0 を制御ビットとし、上記量子ビットQA n−1 を目標ビットとしたトフォリ演算を施す第4トフォリ演算過程と、を含む操作であり、
上記制御減算演算部は、
量子状態がそれぞれ|s 0 >,…,|s n−1 >,|s n >である上記量子ビットQB 0 ,・・・,QB n−1 ,QC 0 に対して量子フーリエ変換を行い、上記量子ビットQB 0 ,・・・,QB n−1 ,QC 0 の量子状態を|Φ 0 (s)>,…,|Φ n−1 (s)>,|Φ n (s)>にするQFT演算過程と、
上記量子ビットQC 1 を制御ビットとし、上記量子ビットQB 0 ,・・・,QB n−1 ,QC 0 ,QC 0 を目標ビットとした制御ΦADD(p) −1 演算操作を行う制御ΦADD(p) −1 演算過程と、
上記量子ビットQB 0 ,・・・,QB n−1 ,QC 0 に対して上記量子フーリエ変換の逆演算を行うQFT −1 演算過程と、を実行し、
s=s n s n−1 …s 0 、k=0,…,n、eは自然対数であり、
前記制御ΦADD(p) −1 演算操作は、
上記量子ビットQC 1 の量子状態が|1>の場合にのみ、上記量子ビットQB 0 ,・・・,QB n−1 ,QC 0 に対するΦADD(p) −1 演算操作を行う操作であり、
上記ΦADD(p) −1 演算操作は、ΦADD(p)演算の逆演算であり、
上記ΦADD(p)演算は、
量子ビットQB k の量子状態|g k >(k=0,…,n)のそれぞれを
ことを特徴とする量子演算装置。 - 請求項4に記載の量子演算装置であって、
上記pは素数であり、
上記a,bは上記p未満である、
ことを特徴とする量子演算装置。 - 請求項4に記載の量子演算装置であって、
上記制御減算演算部による処理の後、上記量子ビットQC 0 と上記量子ビットQC 1 との量子状態を交換する交換演算部と、
上記交換演算部による処理の後、上記量子ビットQA 0 ,…,QA n−1 ,QB 0 ,…,QB n−1 ,QC 0 に対する第2比較量子操作を行い、上記量子ビットQA 0 ,…,QA n−1 ,QB 0 ,…,QB n−1 の量子状態を当該量子操作前のものとし、上記量子ビットQC 0 の量子状態を|γ(+)δ>(γ(+)δはγとδとの排他的論理和を示し、γは当該量子操作前の上記量子ビットQC 0 の量子状態が示す値であり、上記量子ビットQB i の各量子状態が示す値をi+1桁目の値とした2進n桁の数βが、上記量子ビットQA i の各量子状態が示す値をi+1桁目の値とした2進n桁の数α以上である場合δ=1であり、βがα未満である場合δ=0である)とする第2比較演算部と、
上記第2比較演算部による処理の後、上記量子ビットQC 0 にNOT演算を施す第3NOT演算部と、
を有し、
上記第2比較演算部で行われる上記第2比較量子操作は、
上記量子ビットQB 0 ,・・・,QB n−1 に対するNOT演算操作を行い、θ=1,…,n−1のそれぞれについて昇順で、上記量子ビットQC 0 を制御ビットとし、上記量子ビットQA θ を目標ビットとしたCNOT演算操作と、上記量子ビットQC 0 を制御ビットとし、上記量子ビットQB θ を目標ビットとしたCNOT演算操作とを行うT1量子操作過程と、
上記量子ビットQA 0 ,QB 0 を制御ビットとし,上記量子ビットQC 0 を目標ビットとしたトフォリ演算操作を行い、θ=1,…,n−2のそれぞれについて昇順で、上記量子ビットQB θ ,QA θ ,QC 0 に対するMAJ演算操作と、上記量子ビットQB θ ,QA θ を制御ビットとし、上記量子ビットQB 0 を目標ビットとしたトフォリ演算操作とを行い、さらに上記量子ビットQB n−1 ,QA n−1 ,QC 0 に対するMAJ演算操作を行うT2量子操作過程と、
θ=2,…,n−1のそれぞれについて降順で、上記量子ビットQB 0 を制御ビットとし、上記量子ビットQA θ を目標ビットとしたCNOT演算操作と、上記量子ビットQB 0 を制御ビットとし、上記量子ビットQB θ を目標ビットとしたCNOT演算操作と、上記量子ビットQA θ−1 ,QB θ−1 を制御ビットとし,上記量子ビットQB 0 を目標ビットとしたトフォリ演算操作とを行うT3量子操作過程と、
上記量子ビットQA 0 に対するNOT演算操作を行い、θ=2,…,n−1のそれぞれについて降順で、上記量子ビットQB 0 ,QA 0 を制御ビットとし、上記量子ビットQA θ を目標ビットとしたトフォリ演算操作を行い、上記量子ビットQB 0 ,QA 0 を制御ビットとし、上記量子ビットQB θ を目標ビットとしたトフォリ演算操作を行い、さらに、上記量子ビットQA 0 に対するNOT演算操作を行い、上記量子ビットQB 0 ,QA 0 を制御ビットとし、上記量子ビットQA 1 を目標ビットとしたトフォリ演算操作を行い、上記量子ビットQB 0 ,QA 0 を制御ビットとし、上記量子ビットQB 1 を目標ビットとしたトフォリ演算操作を行い、上記量子ビットQB 0 ,…,QB n−1 ,QC 0 に対するNOT演算操作を行うT4量子操作過程と、を含む操作である、
ことを特徴とする量子演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006018718A JP4829623B2 (ja) | 2006-01-27 | 2006-01-27 | 量子演算方法及び量子演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006018718A JP4829623B2 (ja) | 2006-01-27 | 2006-01-27 | 量子演算方法及び量子演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007200087A JP2007200087A (ja) | 2007-08-09 |
JP4829623B2 true JP4829623B2 (ja) | 2011-12-07 |
Family
ID=38454636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006018718A Active JP4829623B2 (ja) | 2006-01-27 | 2006-01-27 | 量子演算方法及び量子演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4829623B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5204698B2 (ja) * | 2009-03-19 | 2013-06-05 | 日本電信電話株式会社 | 量子演算方法、量子演算装置、量子回路 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4700413B2 (ja) * | 2005-05-31 | 2011-06-15 | 日本電信電話株式会社 | 量子演算装置及び量子回路を用いた量子演算方法 |
-
2006
- 2006-01-27 JP JP2006018718A patent/JP4829623B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2007200087A (ja) | 2007-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bhatia et al. | An efficient quantum computing technique for cracking RSA using Shor’s algorithm | |
Hey | Quantum computing: an introduction | |
JP4847914B2 (ja) | 量子加算演算方法及び量子加算演算装置 | |
Khan et al. | Quantum ternary parallel adder/subtractor with partially-look-ahead carry | |
JP4700413B2 (ja) | 量子演算装置及び量子回路を用いた量子演算方法 | |
JP5227942B2 (ja) | 量子誤り推定装置、量子誤り推定方法、そのプログラム、量子誤り訂正装置、量子誤り訂正方法 | |
JP5204698B2 (ja) | 量子演算方法、量子演算装置、量子回路 | |
JP5614658B2 (ja) | バタフライネットワーク上でのマルチキャスト量子ネットワーク符号化方法 | |
JP4332167B2 (ja) | 近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換演算方法および装置 | |
JP5129646B2 (ja) | 量子回路、量子演算装置及び量子演算方法 | |
Hughes | Quantum computation | |
Mondal et al. | Synthesis of balanced ternary reversible logic circuit | |
JP4829623B2 (ja) | 量子演算方法及び量子演算装置 | |
Liu | Comparisons of Conventional Computing and Quantum Computing Approaches | |
Jia | Comparison of performances for quantum and conventional algorithms: Shor’s algorithm and boson sampling | |
JP5351862B2 (ja) | 量子演算方法、量子演算装置 | |
Kunihiro | Quantum factoring algorithm: Resource estimation and survey of experiments | |
JP4366348B2 (ja) | 量子計算方法及び量子計算装置 | |
Galadima et al. | QCA Based Design of Reversible Parity Generator and Parity Checker Circuits for Telecommunication | |
Bhoi et al. | A novel vedic divider based crypto-hardware for nanocomputing paradigm: An extended perspective | |
Kunihiro | Exact analyses of computational time for factoring in quantum computers | |
Tutul et al. | Shallow Depth Factoring Based on Quantum Feasibility Labeling and Variational Quantum Search | |
Dejen et al. | A Review of Quantum Computing | |
JP5496921B2 (ja) | 量子演算方法、量子演算装置 | |
Biswas et al. | Some basic ternary operations using toffoli gates along with the cost of implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110628 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110801 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110818 |
|
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: 20110906 |
|
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: 20110916 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140922 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4829623 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 |