JP2012145972A - 量子演算方法、量子演算装置 - Google Patents

量子演算方法、量子演算装置 Download PDF

Info

Publication number
JP2012145972A
JP2012145972A JP2011001394A JP2011001394A JP2012145972A JP 2012145972 A JP2012145972 A JP 2012145972A JP 2011001394 A JP2011001394 A JP 2011001394A JP 2011001394 A JP2011001394 A JP 2011001394A JP 2012145972 A JP2012145972 A JP 2012145972A
Authority
JP
Japan
Prior art keywords
quantum
oracle
variable
qubits
registers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011001394A
Other languages
English (en)
Other versions
JP5496921B2 (ja
Inventor
Yasuhito Kono
泰人 河野
Yasuhiro Takahashi
康博 高橋
Takeshi Kato
豪 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011001394A priority Critical patent/JP5496921B2/ja
Publication of JP2012145972A publication Critical patent/JP2012145972A/ja
Application granted granted Critical
Publication of JP5496921B2 publication Critical patent/JP5496921B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

【課題】所与の2次関数の隠れシフト問題を解く量子演算技術を提供する。
【解決手段】2次関数の隠れシフト問題を解くために拡張Clifford群の性質を或る特別な場合に限定することで得られる関係を、量子コンピュータ上で演算可能な2n次元複素ベクトル空間上の演算に置換することによって、所与の2次関数の隠れシフト問題を量子コンピュータ上で解く。具体的には、拡張Clifford群の性質を或る特別な場合に限定することで得られる関係
Figure 2012145972

を利用する。
【選択図】図3

Description

本発明は、量子演算方法、量子演算装置に関する。より詳しくは、所与の2次関数の隠れシフト問題を解く量子演算方法、量子演算装置に関する。
1994年、Shorは量子コンピュータ上で動作する高速な素因数分解アルゴリズムと離散対数問題を解くアルゴリズムを提案した(非特許文献1)。Shorの量子アルゴリズムは拡張され、さまざまな問題に応用される。
Shorの量子アルゴリズムが応用される最も代表的な問題は、隠れ部分群問題である。隠れ部分群問題とは部分群のコセット上で同じ値を持つ関数が与えられたときに元の部分群を効率的に特定する問題であり、対称群の隠れ部分群問題が解けるとグラフ同型性判定問題が高速に解けることが知られている。
この他、Shorの量子アルゴリズムが応用される問題として隠れシフト問題が知られている。隠れシフト問題は、与えられた関数の空間上でのシフト量を計算する問題であり、非特許文献2で初めて提案された。隠れシフト問題の難しさは、与えられた関数のクラスによって決まる。非特許文献2ではMultiplicative character関数の隠れシフト問題が多項式時間で解けることが示されている。Multiplicative character関数は、ラビン暗号などと関係することで知られるルジャンドル関数(与えられた数が平方剰余であるかどうかを表す関数)を含む。
非特許文献2に触発され、さまざまな隠れシフト問題が研究されている。例えば、非特許文献3には2次ブール関数の隠れシフト問題を解くアルゴリズムが提案されている。ここで2次ブール関数とは、0または1の値をとる2次関数である。
隠れシフト問題は、与えられた形状の図形が空間内部に隠されているとき、その図形の位置を高速に決定する問題であると考えることができる。このため、隠れシフト問題の解決は図形のパターンマッチングへの応用など応用範囲が広く、種々の関数に対する隠れシフト問題を高速で解決することが望まれる。
なお、量子計算や量子アルゴリズムなどについては、非特許文献4に詳しい。
P. Shor, "Algorithms for Quantum Computation: Discrete Logarithms and Factoring," Proc. of the 35th FOCS, pp. 124-134, 1994. W. van Dam, S. Hallgren, and L. Ip, "Quantum algorithms for some hidden shift problems," In Proc. SODA'03, pp. 489-498, 2003. Martin Roetteler, "Quantum algorithms for highly non-linear Boolean functions," Proceedings of SODA 2010, arXiv:quant-ph/0811.3208 M. A. Nielsen and I.L. Chuang, "Quantum Computation and Quantum Information", Cambridge University Press, 2000.
非特許文献3では、量子アルゴリズムの適用対象が2次ブール関数に限定されているため、この量子アルゴリズムの応用範囲は狭い。例えば、2次関数f(x1,x2)=(x1-2)2+(x2-1)2mod 2n+1は(2,1)の位置に中心を持ち、f(x1,x2)の値が中心からの距離の2乗の2n+1を法とする剰余で表される同心円関数であるが、f(x1,x2)の値がブール値ではないため、非特許文献3で提案された量子アルゴリズムを用いても2次関数f(x1,x2)の中心を特定することができない。
本発明は、このような実情に鑑みて、所与の2次関数の隠れシフト問題を解く量子演算技術を提供することを目的とする。
本発明は、m,nをそれぞれ予め定められた1以上の整数として、2n×2n×…×2nのm次元空間における環Z2^(n+1)上のm変数多項式関数である予め与えられた2次関数f(x1,x2,…,xm)=a1x1 2+a2x2 2+…+amxm 2mod 2n+1と、シフト量s1,s2,…,smによってg(x1,x2,…,xm)=f(x1-s1,x2-s2,…,xm-sm)と表される2次関数g(x1,x2,…,xm)に関するオラクル
Figure 2012145972

が予め与えられているとき、シフト量s1,s2,…,smを求めるための量子演算技術であり、下記のような処理を行う。
n個の量子ビットからなる変数用レジスタがm個、n個の量子ビットからなる補助レジスタが1個であり、各変数用レジスタ並びに補助レジスタに含まれる(m+1)n個の量子ビットの初期状態を|0〉とし、
Figure 2012145972

とする。
各変数用レジスタに含まれるmn個の量子ビットのそれぞれにアダマール変換を適用する(アダマール演算処理)。
補助レジスタに対して、2次関数g(x1,x2,…,xm)に関するオラクルを実行する(オラクル演算処理)。
補助レジスタに対して、
Figure 2012145972

で表される量子回転操作を実行する(回転演算処理)。
補助レジスタに対して、オラクルの量子逆操作を実行する(オラクル逆演算処理)。
m個の変数用レジスタに対して、
Figure 2012145972

を実行する。
本発明によると、2次関数の隠れシフト問題を解くために拡張Clifford群の性質を或る特別な場合に限定することで得られる関係を、量子コンピュータ上で演算可能な2n次元複素ベクトル空間上の演算に置換することによって、所与の2次関数の隠れシフト問題を量子コンピュータ上で解くことができる。
回転角度τdの位相演算子を2乗する演算Vd,SPを表す量子回路。 図1に示される量子回路に含まれる量子演算の記法について図解した量子回路。 本発明である量子演算装置の実施形態の機能構成例を示す図。 2次関数の変数の個数を2として4を法とする演算の場合の実施形態を表す量子回路。 図4に示される量子回路に含まれる量子演算VF[1]を実現する量子回路。 図4に示される量子回路に含まれる量子演算VF[2]を実現する量子回路。
本発明は、拡張Clifford群の性質を利用することによって、量子コンピュータ上で所与の2次関数の隠れシフト問題を解く。そこでまず、本発明の原理の説明に先立ち、拡張Clifford群の性質について概説する。
<本発明の原理を理解するために資する従来技術>
以下、本発明の原理を理解するために資する従来技術として、下記参考文献Aに開示された成果の一部を概説する。証明等の詳細は参考文献Aを参照されたい。
(参考文献A)D. Appleby, "SIC-POVM and the Extended Clifford Group", J. Math. Phys. 46, 052107 (2005). arXiv:quant-ph/0412001
まず、U(d)を全てのd次元ユニタリ演算子からなる群とする。dは正整数である。また、Zを整数環とし、Zdを整数環ZのイデアルdZによる剰余環とする。すなわち、Zd={0,1,・・・,d−2,d−1}である。Z2は各要素が整数である2次元ベクトルの集合を表す。p=(p1,p2T∈Z2q=(q1,q2T∈Z2としたとき(記号Tは転置を表す)、ブラケット記号〈・,・〉を式(1)の如く定義する。また、記号"→"は、記号"→"の次の文字の頭上に附されることを意味し、例えばAは文字Aの頭上に記号"→"が附された組み合わせ文字を表す。
Figure 2012145972
|0>,|1>,・・・,|d-1>をd次元複素ベクトル空間Cdにおける正規直交基底とし、演算子T、S、D→pを式(2)−(4)のように定義する。記号iは虚数単位(imaginary unit)であり、ネピア数(Napier's constant;自然対数の底)eのp乗をexp(p)の如く表す。
Figure 2012145972
このとき、全てのp=(p1,p2T∈Z2q=(q1,q2T∈Z2に対して、式(5)−(7)が成り立つ。記号†はエルミート共役を表す。
Figure 2012145972
式(4)に定義される演算子D→pに関して、式(8)の定義を満たすd×dの行列を要素(元)とする群GP(d)を一般化Pauli群(Weyl-Heisenberg群)と呼ぶ。Rは実数体を表す。
Figure 2012145972
また、一般化Pauli群GP(d)に対する拡張Clifford群C(d)は、式(9)の定義を満たすd×dの行列を元とする群である。Uは、行列Uの共役転置行列である。
Figure 2012145972
また、dに関して、~dを式(10)のように定義する。また、記号"~"は、記号"~"の次の文字の頭上に附されることを意味し、例えば~Aは文字Aの頭上に記号"~"が附された組み合わせ文字を表す。
Figure 2012145972
このとき、環Z~d上の特殊線形群SL(2,Z~d)は、行列式が1になる2×2行列全体の集合として与えられる(式(11)参照)。
Figure 2012145972
式(11)で与えられる特殊線形群SL(2,Z~d)の元のうち、βが0以外の値であり且つβが~dと互いに素である(ゆえに逆元β-1∈Z~dが存在する)行列を、prime matrixという。なお、βが与えられているときに逆元β-1の算出は一次合同式β-1β≡1(mod ~d)の解法として古典的知識であるから説明を省略する。
〔補題1〕
拡張Clifford群C(d)に属する任意のユニタリ演算子U∈C(d)について、全てのp∈Z2に対して式(12)を満たすF∈SL(2,Z~d),Ω∈(Zd2が存在する。
Figure 2012145972
〔補題2〕
Fをprime matrix((α,γ)T,(β,δ)T)∈SL(2,Z~d)とし、演算子VFを式(13)のように定義する。このとき、演算子VFは、全てのp∈Z2に対して式(14)を満たす拡張Clifford群C(d)に属するユニタリ演算子である。
Figure 2012145972
〔補題3〕
Fをprime matrixではない2×2行列((α,γ)T,(β,δ)T)∈SL(2,Z~d)とする。このとき、δ+xβが0以外の値であり且つδ+xβが~dと互いに素である整数xが存在し、F1=((0,1)T,(-1,x)T),F2=((γ+xα,−α)T,(δ+xβ,−β)T)とすると、F1とF2はそれぞれprime matrix∈SL(2,Z~d)であり、F=F12を満たす。
〔補題4〕
F∈SL(2,Z~d),Ω∈(Zd2とせよ。Uを、拡張Clifford群C(d)に属する任意のユニタリ演算子U∈C(d)とする。もしFがprime matrixならば式(15)が成立し、もしFがprime matrixでないならばF=F12を満たすprime matrix F1とprime matrix F2を選択する(補題3参照)ことにより式(16)が成立する。しからば、全てのp∈Z2に対して式(17)が成立する。VF,VF1,VF2については式(13)を参照せよ。
Figure 2012145972
補題4から、拡張Clifford群の任意の要素(ユニタリ演算子)Uは、せいぜい2つのVFと1つのD→Ωを使って表現できることが分かる。
<本発明の原理>
本発明では、既述の拡張Clifford群の性質を、隠れシフト問題の解を求めるために応用する。隠れシフト問題は、前述の通り、与えられた関数の空間上でのシフト量を計算する問題であり、ここでは具体的に、m,nを予め定められた1以上の整数として、2n×2n×…×2nのm次元空間における環Z~d上のm変数多項式関数である2次関数f(x1,x2,…,xm)と、適当なs1,s2,…,smに対してg(x1,x2,…,xm)=f(x1-s1,x2-s2,…,xm-sm)と表される2次関数g(x1,x2,…,xm)に関するオラクルが与えられているとき、シフト量s1,s2,…,smを求める問題とする。2n×2n×…×2nのm次元空間における環Z~d上のm変数多項式関数である2次関数f(x1,x2,…,xm)の多重指数は2であり、このようなf(x1,x2,…,xm)として、ここではf(x1,x2,…,xm)=a1x1 2+a2x2 2+…+amxm 2mod 2n+1を考えることにする。2次関数g(x1,x2,…,xm)に関するオラクルとは式(18)で表される量子操作である。ただし、式(18)において、○と+との組合せ記号は、2を法とする加算(排他的論理和)を表す。
Figure 2012145972
本発明では、補題2におけるprime matrix Fを式(19)に示すFとし、d=2nとすることが主要な特徴の一つである。つまり、補題2のF=((α,γ)T,(β,δ)T)において、α=1,γ=0,δ=1とおいたものが式(19)のFであり、式(2)においてd=2nとおいたものが式(20)のτdである。このとき、式(13)で表されるVFは式(21)のように表すことができる。なお、式(21)のVFは2n次元複素ベクトル空間上のユニタリ演算である。
Figure 2012145972
〔量子コンピュータ上の演算の基本的な性質〕
ここで、量子コンピュータにおける演算の基本的な事項について説明する。通常、量子コンピュータにおける情報の基本単位を「量子ビット」と呼ぶ。現在のコンピュータにおける「ビット」に相当するものである。第j量子ビットの状態|xj>は、|0>,|1>の二値の重ね合わせ状態で表わされる(式(22)参照)。
Figure 2012145972
0とp1は確率振幅と呼ばれ、|p0|2+|p1|2=1を満たす複素数であり、この量子状態を観測すると確率|p0|2で|0>、確率|p1|2で|1>の状態が得られる。量子状態は、式(22)の右辺に示されるように、確率振幅を要素に持つ2次元複素ベクトルで表わされる。或る量子状態p0|0>+p1|1>から別の量子状態p0'|0>+p1'|1>に変換する量子コンピュータ上の演算Uは、式(23)で表される。
Figure 2012145972
|p0|2+|p1|2=1かつ|p0'|2+|p1'|2=1なので、この演算Uは、2次元複素ベクトル空間C2上で全てのベクトルの位置関係を保ったまま同じように回転させる演算(ユニタリ演算)となる。
n量子ビットの量子状態|x>は、式(24)のようなテンソル積で表わされ、2n次元複素ベクトルとなる。よって、n量子ビットに対する演算は2n次元複素ベクトル空間上のユニタリ演算となる。
Figure 2012145972
このように、量子コンピュータ上の演算は、2n次元複素ベクトル空間上のユニタリ演算である。したがって、d=2nであるから、2n次元複素ベクトル空間上のユニタリ演算である式(21)のVFを量子コンピュータで実行することができる。そこで、式(21)のVFを量子コンピュータ上で実現する方法について説明する。最初に、以下の演算を定義する。ここで、|x>は式(24)で表されるn量子ビットからなる量子状態を表す。式(25)は、周知のn量子ビットの量子フーリエ変換(Quantum Fourier Transfrom)である。また、式(26)は、角度τd(ただしd=2n)の位相演算子を2乗する(Square Phase)演算である。
Figure 2012145972
<βが奇数の場合>
式(25)(26)を用いると、式(19)においてβが奇数の場合、式(21)で表されるVFは式(27)のように変形される。詳しくは後述するが、βには所与の2次関数f(x1,x2,…,xm)=a1x1 2+a2x2 2+…+amxm 2mod 2n+1の係数ai(i=1,2,…,m)の逆元が入る。係数aiが与えられているときに逆元ai -1の算出は一次合同式ai -1ai≡1(mod ~d)の解法として古典的知識であるから説明を省略する。
Figure 2012145972
既述のように、QFT2^(n)は周知の量子フーリエ変換であり、量子コンピュータ上で効率的に実行できることが知られている〔非特許文献3の5.1節〕。なお、2^(n)は2nを表す。(QFT2^(n))β^(-1)は量子コンピュータ上で演算QFT2^(n)をβ-1回繰り返すことを意味する。
次にV(^x)2^(n),SPについて考える。^xの2進数表現を^x 1^x 2…^x nとする。10進数表現では式(28)が成り立つ。ここで記号"^"は、記号"^"の次の文字の頭上に附されることを意味し、例えばAは文字Aの頭上に記号"^"が附された組み合わせ文字を表す。この記号はべき乗を表す記号"^"と同じであるが、文脈よりその区別は可能である。
Figure 2012145972
すると、式(29)および式(30)が成立する。
Figure 2012145972
ゆえに、入力状態|^x>=|^x1^x2…^xn>に対して、図1に示される量子回路に従った演算系列を施せば、V(^x)2^(n),SPの演算を実現できることが分かる。なお、図1では、一つの変数用レジスタに含まれるn個の量子ビットを単にxk(k=1,2,…,n)と表記しているが、このxkが^xkに対応すると思えばよい。
ここで、図1に表れる単一量子ビットゲートないし制御ゲートに現れる記号R2^(n) jは、式(31)で定義されるユニタリ変換R2^(n)をj回繰り返すことを表している。
Figure 2012145972
また、図1において、第3列目以降の演算は、図2に示すようなcontrolled-R2^(n) jの演算系列を省略表記したものである。よって、図1に示す演算は、controlled-R2^(n) jの系列で表わされることが分かる。
式(27)における演算(V(^x)2^(n),SP)β^(-1)は、演算V(^x)2^(n),SPをβ-1回繰り返すことを意味する。ここで、演算V(^x)2^(n),SPを実現する各演算(図1のR2^(n) jおよびcontrolled-R2^(n) j)が可換であることを考慮すると(このことは、R2^(n) jおよびcontrolled-R2^(n) jが対角行列で表せる演算であることから容易に分かる)、V(^x)2^(n),SPをβ-1回繰り返すことは、図1に示される各演算をβ-1回繰り返すこと、つまり、図1のR2^(n) jおよびcontrolled-R2^(n) jをR2^(n) j・β^(-1)およびcontrolled-R2^(n) j・β^(-1)に置き換えることと等価である。演算(V(x)2^(n),SP)β^(-1)についても同様である。
<βが偶数の場合>
式(19)においてβが偶数の場合、補題3に従い、2つのprime matrix F1, F2∈SL(2,Z~d)を用いて式(19)のFをF=F12と表すことができるので、βが奇数の場合に帰着される。つまり、βが偶数の場合は、βが奇数の場合のVFを実行する量子回路を二つ直列に並べた量子回路によって実行できる。以下、このことを具体的に説明する。
補題3によると、式(19)のFは式(31a)の2つのprime matrix F1, F2∈SL(2,Z~d)を用いてF=F12と表すことができる。式(31a)においてtは、「1+tβ≠0且つ1+tβが~d(ただしd=2n)と互いに素である」を満たす整数tである。詳しくは後述するが、βには所与の2次関数f(x1,x2,…,xm)=a1x1 2+a2x2 2+…+amxm 2mod 2n+1の係数ai(i=1,2,…,m)の逆元が入る。係数aiが与えられているときに逆元ai -1の算出は一次合同式ai -1ai≡1(mod ~d)の解法として古典的知識であるから説明を省略する。2次関数f(x1,x2,…,xm)が既知であるため、本発明の実施の前にtを求めておくことができる。このtの計算方法は古典的知識であるから説明を省略する。
Figure 2012145972
このとき、F1について式(31b)が成立し、F2について式(31c)が成立する。
Figure 2012145972
式(31b)は、式(25)(26)を用いると、式(31d)のように変形され、式(31c)は、式(25)(26)を用いると、式(31e)のように変形される。
Figure 2012145972
式(31d)にて、(QFT2^(n))(-1)^(-1)は、量子コンピュータ上で演算QFT2^(n)を(-1)-1回繰り返すことを意味する。元-1が与えられているときに逆元(-1)−1の算出は一次合同式(-1)−1(-1)≡1(mod ~d)の解法として古典的知識であるから説明を省略する。
式(31d)にて、(V(x)2^(n),SP)(-1)^(-1)は、演算V(x)2^(n),SPを(-1)-1回繰り返すことを意味する。ここで、演算V(x)2^(n),SPを実現する各演算(図1のR2^(n) jおよびcontrolled-R2^(n) j)が可換であることを考慮すると(このことは、R2^(n) jおよびcontrolled-R2^(n) jが対角行列で表せる演算であることから容易に分かる)、V(x)2^(n),SPを(-1)-1回繰り返すことは、図1に示される各演算を(-1)-1回繰り返すこと、つまり、図1のR2^(n) jおよびcontrolled-R2^(n) jをR2^(n) j・(-1)^(-1)およびcontrolled-R2^(n) j・(-1)^(-1)に置き換えることと等価である。
式(31e)にて、(QFT2^(n))(1+tβ)^(-1)は、量子コンピュータ上で演算QFT2^(n)を(1+tβ)-1回繰り返すことを意味する。元1+tβが与えられているときに逆元(1+tβ)−1の算出は一次合同式(1+tβ)−1(1+tβ)≡1(mod ~d)の解法として古典的知識であるから説明を省略する。
式(31e)にて、(V(x)2^(n),SP)(1+tβ)^(-1)・(-β)は、演算V(x)2^(n),SPを(1+tβ)-1・(-β)回繰り返すことを意味する。ここで、演算V(x)2^(n),SPを実現する各演算(図1のR2^(n) jおよびcontrolled-R2^(n) j)が可換であることを考慮すると、V(x)2^(n),SPを(1+tβ)-1・(-β)回繰り返すことは、図1に示される各演算を(1+tβ)-1・(-β)回繰り返すこと、つまり、図1のR2^(n) jおよびcontrolled-R2^(n) jをR2^(n) j・(1+tβ)^(-1)・(-β)およびcontrolled-R2^(n) j・(1+tβ)^(-1)・(-β)に置き換えることと等価である。
式(31e)にて、(V(^x)2^(n),SP)(1+tβ)^(-1)・tは、演算V(^x)2^(n),SPを(1+tβ)-1・t回繰り返すことを意味する。ここで、演算V(^x)2^(n),SPを実現する各演算(図1のR2^(n) jおよびcontrolled-R2^(n) j)が可換であることを考慮すると、V(^x)2^(n),SPを(1+tβ)-1・t回繰り返すことは、図1に示される各演算を(1+tβ)-1・t回繰り返すこと、つまり、図1のR2^(n) jおよびcontrolled-R2^(n) jをR2^(n) j・(1+tβ)^(-1)・tおよびcontrolled-R2^(n) j・(1+tβ)^(-1)・tに置き換えることと等価である。
〔装置構成〕
本発明の実施形態に係る量子演算装置1の機能構成図を図3に示す。この装置は、m個の変数(2次関数fの変数)用レジスタと1個の補助レジスタを用いる。各変数用レジスタと補助レジスタはそれぞれn個の量子ビットで構成される。従って、使用される量子ビットの数は(m+1)n個である。
まず、初期化部100が、全ての量子ビットを|0>に初期化する。
次に、アダマール演算部200が、各変数用レジスタにおいて、各量子ビットにアダマール変換を適用する。アダマール変換は式(32)で表される単一量子ビットに対する量子操作である。
Figure 2012145972
m個の変数用レジスタに含まれるmn個の量子ビットのそれぞれに対するアダマール変換によって、全レジスタに含まれる(m+1)n個の量子ビットの重ね合わせ状態は式(33)で表される量子状態となる。|xi>は第iレジスタの量子状態を表す。
Figure 2012145972
次に、オラクル演算部300が、補助レジスタに対して、2次関数g(x1,x2,…,xm)に関するオラクルを実行し〔式(18)参照〕、補助レジスタの状態|0>を|g(x1,x2,…,xm)>に変える。既述のとおり、2次関数g(x1,x2,…,xm)に関するオラクルは事前に与えられているものである。2次関数g(x1,x2,…,xm)に関するオラクルを実行したのち、全レジスタに含まれる(m+1)n個の量子ビットの重ね合わせ状態は式(34)で表される量子状態となる。
Figure 2012145972
次に、回転演算部400が、補助レジスタに対して、式(35)で表される量子回転操作を実行する。式(35)でτ2^(n)はτ2^(n)の複素共役を表す。Z(τ)は式(36)で定義される。ここで記号""は、記号""の次の文字の頭上に附されることを意味し、例えばAは文字Aの頭上に記号""が附された組み合わせ文字を表す。式(35)において、○と×との組合せ記号はテンソル積を表す。
Figure 2012145972
量子回転操作を実行したのち、全レジスタに含まれる(m+1)n個の量子ビットの重ね合わせ状態は式(37)で表わされる量子状態となる。
Figure 2012145972
次に、オラクル逆演算部500が、補助レジスタに対して、オラクル演算部300が実行したオラクルの逆操作を行い(予め与えられたオラクルを実現する演算を量子回路上で逆順に実行すればよい)、補助レジスタの状態を|0>にする。このため、各変数用レジスタと補助レジスタとのエンタングルメントがなくなるため、補助レジスタを無視してよいことになる。
さらに、VF演算部600が、各変数用レジスタに対して、式(21)の演算VFを実行する。ただし、β-1には各変数用レジスタに対応する2次関数f(x1,x2,…,xm)の係数a1,a2,…,amが入るので、具体的には、VF演算部600は、m個の変数用レジスタに対して式(38)で表される演算を実行する。
Figure 2012145972
所与の2次関数f(x1,x2,…,xm)=a1x1 2+a2x2 2+…+amxm 2mod 2n+1の係数ai(i=1,2,…,m)の逆元ai -1が奇数であるか偶数であるかは、事前に決定できているので、第i変数用レジスタについて係数ai(i=1,2,…,m)の逆元ai -1が奇数である場合には、VF演算部600は、第i変数用レジスタに対して式(27)に従ったユニタリ演算を実行する(ただし、β=ai -1である)。このユニタリ演算の量子回路は既に説明したとおりである。第i変数用レジスタについて係数ai(i=1,2,…,m)の逆元ai -1が偶数である場合には、VF演算部600は、第i変数用レジスタに対して、まず式(31e)に従ったユニタリ演算を実行し、次いで式(31d)に従ったユニタリ演算を実行する(ただし、β=ai -1である)。式(31e)に従ったユニタリ演算の量子回路と式(31d)に従ったユニタリ演算の量子回路は既に説明したとおりである。
つまり、m個の変数用レジスタに対して適用される式(38)の演算として、VF演算部600は、iを1からmまでの各整数を表すとして、i番目の変数用レジスタについて、2次関数f(x1,x2,…,xm)=a1x1 2+a2x2 2+…+amxm 2mod 2n+1の係数aiの逆元ai -1が奇数である場合、i番目の変数用レジスタに対して、式(38a)で表される演算を実行し、逆元ai -1が偶数である場合、i番目の変数用レジスタに対して、tを「1+tβ≠0且つ1+tβが2n+1と互いに素である」を満たす整数として、式(38b)で表される演算を実行する。
Figure 2012145972
続いて、観測部700が全ての変数用レジスタを観測することによって、シフト量が得られる。
〔具体例〕
具体例として、f(x1,x2)=x1 2-3x2 2mod 22+1, g(x1,x2)=f(x1-2,x2-1)とする。このときg(x1,x2)は、双曲線f(x1,x2)を(2,1)だけ平行移動(シフト)した形状をしている。もし、空間上のシフト量(2,1)を古典計算機によって求める場合には、複数の(x1,x2)に対するg(x1,x2)の値を求め、その結果からシフト量を推定する必要がある。しかし、本発明によると、シフト量(2,1)を以下のようにして求めることができる。
量子演算装置1は、2個の変数用レジスタと1個の補助レジスタを用いる。22+1を法とする剰余を求めるから、各変数用レジスタと補助レジスタはそれぞれ2個の量子ビットで構成される。従って、使用される量子ビットの数は6個である。この具体例の量子回路を図4に示す。図4に示す量子回路にてHはアダマールゲートを表し、gはオラクル演算を表し、g-1はオラクル逆演算を表し、VF[1]は第1変数用レジスタに対するVF演算を表し、VF[2]は第2変数用レジスタに対するVF演算を表す。VF演算の詳細な量子回路は式(27)に従うので、VF[1]は例えば図5に示す量子回路で実行され(22+1を法とする1の逆元は1である)、VF[2]は例えば図6に示す量子回路で実行される(22+1を法とする-3の逆元は5である)。
まず、初期化部100が、全ての量子ビットを|0>に初期化する。
そして、アダマール演算部200が、各変数用レジスタの各量子ビットに対してアダマール変換を適用する。この結果、式(39)で表される量子状態が得られる。
Figure 2012145972
次に、オラクル演算部300が、2次関数g(x1,x2)のオラクルを実行する。この結果、式(40)で表される量子状態が得られる。
Figure 2012145972
次に、回転演算部400が、補助レジスタに対して、式(41)で表される量子回転操作を実行する。この結果、式(42)で表される量子状態が得られる。
Figure 2012145972
次に、オラクル逆演算部500が、2次関数g(x1,x2)のオラクルを逆順に実行して、補助レジスタの量子状態を|0>にする。この結果、式(43)で表される量子状態が得られる。第1変数用レジスタ並びに第2変数用レジスタと補助レジスタとの間のエンタングルメントはないので、補助レジスタを無視してよい。g(x1,x2)=(x1-2)2-3(x2-1)2 mod 22+1なので、全変数用レジスタの量子状態を正確に書くと式(44)である。
Figure 2012145972
次に、VF演算部600が、第1変数用レジスタと第2変数用レジスタのそれぞれに対して、式(45)、式(46)に対応する拡張Clifford群の変換、つまり、第1変数用レジスタに対して式(45)に対応する式(27)のユニタリ演算(つまり式(45a))を実行し、第2変数用レジスタに対して式(46)に対応する式(27)のユニタリ演算(つまり式(46a))を実行する。式(27)のユニタリ演算を実行する理由は、2次関数f(x1,x2)=x1 2-3x2 2mod 22+1の係数1,-3の逆元がそれぞれ奇数であるからである。
Figure 2012145972
既述のとおり、22+1を法とする-3の逆元は5であるから、式(46a)は式(46b)のように展開できる。なお、QFT4 5=QFT4であることは、式(25)から容易に確認できる。よって、VF[1]は図5の量子回路に示す演算系列によって、VF[2]は図6の量子回路に示す演算系列によって実行できることが分かる。なお、QFTを実行すると出力の量子ビットxは、^xの順序を逆にしたものとなるため、V(x)2^2,SPおよびV(x)2^2,SP 5に対応する量子回路は、図1に示す量子回路の構成と異なる(演算関係を反転したような形となる)ことに注意する。
Figure 2012145972
続いて、観測部700がVF演算部600による処理で得られた結果における第1変数用レジスタと第2変数用レジスタを観測する。この観測結果は|2>|1>になる。なぜなら、式(45)、式(46)の複素共役転置は式(47)、式(48)で表され、式(47)に状態|2>を、式(48)に状態|1>を代入すると、第1変数用レジスタは式(49)で表される量子状態となり、第2変数用レジスタは式(50)で表される量子状態となり、オラクル逆演算部500による処理で得られた量子状態〔式(44)参照〕と一致するからである。
Figure 2012145972
〔量子演算装置についての概説〕
次に、上述の量子回路に則って量子演算を行う量子演算装置について説明する。本発明の量子演算装置は、上述の量子回路から明らかなように、アダマール演算部、オラクル演算部、回転演算部、オラクル逆演算部、VF演算部を少なくとも含む。各演算部は、基本量子演算部(NOT演算部、制御NOT演算部、Toffoli演算部)により構成できる(上記非特許文献4参照)。なお、全ての演算は単一量子ビットに対する1量子ビット演算と制御NOT演算に分解できる(上記非特許文献4参照)。
量子演算装置は、量子コンピュータ単体で実現できる。量子コンピュータの実現する物理系としては、例えば、イオントラップを用いる方法(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 UniversityPress, Chapter 7 Physical Realization」に詳しい。
<量子ビット>
イオントラップ量子コンピュータでは、例えば、イオンの基底状態と励起状態を利用して量子ビットを実現する。また、核スピンを量子ビットとして用いる場合には、例えば、「T. D. Ladd, et al., "All-Silicon quantum computer," Phys. Rev. Lett., vol. 89, no. 1, 017901-1‐017901-4, July 1, 2002.」に記載されているようにSi(111)基板等に各量子ビットを生成する。なお、量子ビットの初期量子状態は、例えば、他の演算の量子回路による操作によって得られたものを用いてもよいし、各量子ビットが生成された基板をmK(ミリケルビン)オーダー以下に冷却してスピンの向きを揃えた後、所定の電磁波パルスを印加して生成してもよい。また、量子ビットとして光子の偏光を用いる場合には、例えば、パラメトリックダウンコンバージョン(PDC:parametric down conversion)(例えば、「P. G. Kwiat, K. Mattle, H. Weinfurter, A. Zeilinger, A. V. Sergienko, and Y. Shih, “New high-intensity source of polarization-entangled photon pairs,” Phys. Rev. Lett. ,75:4337-4341, 1995.」「P. G. Kwiat, E. Waks, A. G. White, I. Appelbaum, and P. H. Eberhard, “Ultrabright source of polarization-entangled photons,” Phys. Rev. A, 60:R773-R776, 1999.」等参照。)によって生成された複数個の単一光子を用いる。この場合、各量子ビットの初期量子状態は、例えば、他の演算の量子回路による操作によって得られたものを用いる。また、パラメトリックダウンコンバージョン等によって生成された単一光子に、ビームスプリッタや偏光回転素子等によって実現されるウォルシューアダマール変換、CNOT、回転等の操作を行い、既述の初期量子状態を生成することとしてもよい。
その他、上記の文献に記載された方法で量子ビットを用意することとしてもよい。
また、演算前後や演算途中において量子ビットの量子状態を保存する必要がある場合には、例えば、量子ドット内の電子準位、核スピン、あるいは超伝導体内部の電荷(クーパー対)量を量子ビットとして用いてデータを保存する量子メモリ等を用いてもよい(A.Barenco, D.Deutsch, and A.Ekert, Phys. Rev. Lett.74,4083(1995)、松枝秀明 電子情報通信学会誌 A Vol.J81-A No.12(1998)1978、T.H.Oosterkamp et.al., Nature 395,873(1998)、D.Loss and D.P. DiVincenzo, Phys. Rev. A57(1998) 120. T.Oshima, quant-ph/0002004, http://arxiv.org/abs/quant-ph/0002004、B.E.Kane, A silicon-based nuclear spin quantum computer, Nature, 393, 133(1998)、http://www.snf.unsw.edu.au/、Y.Nakamura, Yu. A. Pashkin and J.S.Tsai, Nature 398(1999)768)。
<CNOT演算>
イオントラップ量子コンピュータでは、例えば、イオンを直線上に並べ、各イオンに狙いを定めたレーザービーム照射によってCNOT演算を実現する。また、量子ビットとして光子の偏光を用いる場合には、例えば、偏光ビームスプリッタ等を用い、「T.B. Pittman, M.J. Fitch, B.C. Jacobs, J.D. Franson: “Experimental Controlled-NOT Logic Gate for Single Photons in the Coincidence Basis,” quant-ph/0303095, http://arxiv.org/abs/quant-ph/0303095」記載のPittman et al. 方式によってCNOT演算を実現する。また、核スピンを量子ビットとして用いる場合には、例えば、所定の電磁波パルスを量子ビットに印加することによってCNOT演算を実現できる。
その他、上記の文献に記載された方法でCNOT演算を実現してもよい。
<量子ビット単体操作>
イオントラップ量子コンピュータでは、例えば、イオンを直線上に並べ、各イオンに狙いを定めたレーザービーム照射によって量子ビット単体の操作を実現する。核スピンを量子ビットとして用いる場合には、電磁波パルスやレーザービーム照射によって各処理を実現する。また、量子ビットとして光子の偏光を用いる場合には、例えば、偏光回転素子等によって実現する。
なお、本発明は既述の実施の形態に限定されるものではなく、その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。例えば、既述の可換な演算については演算の順序に限定がない。また、量子回路に使われる全ての演算は単一量子ビットに対する1量子ビット演算と制御NOT演算に分解できるので(上記非特許文献4参照)、各変換部と各演算部の具体的構成についても種々等価な量子回路を構成できる。また、既述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
ところで、上述の量子回路に則って量子演算を行う手順自体は、古典コンピュータで決定することができる。上述の量子回路に則って量子演算を行う手順は、上述の量子回路を入力側から出力側に向かって順に行う各計算ステップである。
具体的には、例えば図4に示した量子回路の例から明らかなように、初期状態|0>に対する左からの各作用に対応する量子回路を作用の順番に従って量子回路の入力側から出力側に向かって並べることで、量子回路に則って量子演算を行う手順を決定できる。ただし、1計算ステップで並行演算可能であれば、これらの演算を並行するものを1手順とすればよい。換言すれば、この古典コンピュータは、図4に示した演算手順を決定して出力するものといえる。
このような古典コンピュータ、つまり、上述の量子回路における量子演算の手順を決定する量子演算手順決定装置は、いわゆる古典的な装置構成で実現される。例えばパーソナルコンピュータに例示されるように、記憶装置(例えばRAM、ROMやハードディスク)、演算処理装置(例えばCPU)、入力・出力装置(例えばキーボード、ディスプレイ)、これらの装置間でデータのやり取りが可能に接続するバスなどを備えた古典コンピュータによって実現することができる。
この場合、例えば図4の例のように、初期状態|0>に対する左からの各作用に対応する量子回路における量子演算の手順をそれぞれ決定するための各プログラム、決定された手順を上記作用の順番に従って量子回路の入力側から出力側へ並べるためのプログラムを記憶装置に記憶しておき、必要に応じて演算処理装置がプログラムを読み込んで解釈実行することで、初期状態|0>に対する左からの各作用に対応する量子回路における量子演算の手順をそれぞれ決定する各機能、決定された手順を上記作用の順番に従って量子回路の入力側から出力側へ並べる機能を実現する。また各プログラムは、コンピュータ読み取り可能な記録媒体(例えばCD−R、DVD−RAM、MO)に記録することもできる。

Claims (2)

  1. m,nをそれぞれ予め定められた1以上の整数として、2n×2n×…×2nのm次元空間における環Z2^(n+1)上のm変数多項式関数である予め与えられた2次関数f(x1,x2,…,xm)=a1x1 2+a2x2 2+…+amxm 2mod 2n+1と、シフト量s1,s2,…,smによってg(x1,x2,…,xm)=f(x1-s1,x2-s2,…,xm-sm)と表される2次関数g(x1,x2,…,xm)に関するオラクル
    Figure 2012145972

    が予め与えられているとき、上記シフト量s1,s2,…,smを求めるための量子演算方法であって、
    n個の量子ビットからなる変数用レジスタがm個、n個の量子ビットからなる補助レジスタが1個であり、各上記変数用レジスタ並びに上記補助レジスタに含まれる(m+1)n個の量子ビットの初期状態を|0〉とし、
    Figure 2012145972

    として、
    各上記変数用レジスタに含まれるmn個の量子ビットのそれぞれにアダマール変換を適用するアダマール演算ステップと、
    上記補助レジスタに対して、2次関数g(x1,x2,…,xm)に関する上記オラクルを実行するオラクル演算ステップと、
    上記補助レジスタに対して、
    Figure 2012145972

    で表される量子回転操作を実行する回転演算ステップと、
    上記補助レジスタに対して、上記オラクルの量子逆操作を実行するオラクル逆演算ステップと、
    m個の上記変数用レジスタに対して、
    Figure 2012145972

    を実行する演算ステップと
    を有する量子演算方法。
  2. m,nをそれぞれ予め定められた1以上の整数として、2n×2n×…×2nのm次元空間における環Z2^(n+1)上のm変数多項式関数である予め与えられた2次関数f(x1,x2,…,xm)=a1x1 2+a2x2 2+…+amxm 2mod 2n+1と、シフト量s1,s2,…,smによってg(x1,x2,…,xm)=f(x1-s1,x2-s2,…,xm-sm)と表される2次関数g(x1,x2,…,xm)に関するオラクル
    Figure 2012145972

    が予め与えられているとき、上記シフト量s1,s2,…,smを求めるための量子演算装置であって、
    n個の量子ビットからなる変数用レジスタがm個、n個の量子ビットからなる補助レジスタが1個であり、各上記変数用レジスタ並びに上記補助レジスタに含まれる(m+1)n個の量子ビットの初期状態を|0〉とし、
    Figure 2012145972

    として、
    各上記変数用レジスタに含まれるmn個の量子ビットのそれぞれにアダマール変換を適用するアダマール演算部と、
    上記補助レジスタに対して、2次関数g(x1,x2,…,xm)に関する上記オラクルを実行するオラクル演算部と、
    上記補助レジスタに対して、
    Figure 2012145972

    で表される量子回転操作を実行する回転演算部と、
    上記補助レジスタに対して、上記オラクルの量子逆操作を実行するオラクル逆演算部と、
    m個の上記変数用レジスタに対して、
    Figure 2012145972

    を実行する演算部と
    を含む量子演算装置。
JP2011001394A 2011-01-06 2011-01-06 量子演算方法、量子演算装置 Active JP5496921B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011001394A JP5496921B2 (ja) 2011-01-06 2011-01-06 量子演算方法、量子演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011001394A JP5496921B2 (ja) 2011-01-06 2011-01-06 量子演算方法、量子演算装置

Publications (2)

Publication Number Publication Date
JP2012145972A true JP2012145972A (ja) 2012-08-02
JP5496921B2 JP5496921B2 (ja) 2014-05-21

Family

ID=46789501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011001394A Active JP5496921B2 (ja) 2011-01-06 2011-01-06 量子演算方法、量子演算装置

Country Status (1)

Country Link
JP (1) JP5496921B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113222156A (zh) * 2020-01-21 2021-08-06 合肥本源量子计算科技有限责任公司 一种待执行操作的量子模拟方法、装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6014008119; Martin ROTTELER: Quantum algorithms to solve the hidden shift problem for quadratics and functions of large Gowers no , 20091124 *
JPN6014008123; D.M.APPLEBY: SIC-POVMs and the Extended Clifford Group , 20050117 *
JPN7014000646; Wim van Dam et al.: 'Quantum Algorithms for some Hidden Shift Problems' Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms (SODA'03) , 20030114, pp.489-498, ACM *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113222156A (zh) * 2020-01-21 2021-08-06 合肥本源量子计算科技有限责任公司 一种待执行操作的量子模拟方法、装置
CN113222156B (zh) * 2020-01-21 2023-08-08 本源量子计算科技(合肥)股份有限公司 一种待执行操作的量子模拟方法、装置

Also Published As

Publication number Publication date
JP5496921B2 (ja) 2014-05-21

Similar Documents

Publication Publication Date Title
JP4847914B2 (ja) 量子加算演算方法及び量子加算演算装置
JP4700413B2 (ja) 量子演算装置及び量子回路を用いた量子演算方法
JP5227942B2 (ja) 量子誤り推定装置、量子誤り推定方法、そのプログラム、量子誤り訂正装置、量子誤り訂正方法
Gard et al. Inefficiency of classically simulating linear optical quantum computing with Fock-state inputs
JP4332167B2 (ja) 近似量子フーリエ変換を行う量子回路、近似量子フーリエ変換演算方法および装置
JP5204698B2 (ja) 量子演算方法、量子演算装置、量子回路
JP5614658B2 (ja) バタフライネットワーク上でのマルチキャスト量子ネットワーク符号化方法
Xie et al. A quantum related-key attack based on the Bernstein–Vazirani algorithm
JP5351862B2 (ja) 量子演算方法、量子演算装置
Chi et al. High-dimensional quantum information processing on programmable integrated photonic chips
Liu Comparisons of Conventional Computing and Quantum Computing Approaches
Hughes Quantum computation
JP5496921B2 (ja) 量子演算方法、量子演算装置
Song et al. Grover on Caesar and Vigenere ciphers
JP5129646B2 (ja) 量子回路、量子演算装置及び量子演算方法
JP6182123B2 (ja) 量子演算方法
Austin et al. Continuous dynamical decoupling of spin chains: modulating the spin-environment and spin-spin interactions
Smith et al. Entangled state preparation for non-binary quantum computing
Irfan et al. Continuous dynamical decoupling of spin chains: Inducing two-qubit interactions to generate perfect entanglement
Dejen et al. A Review of Quantum Computing
Denisenko et al. Optimization of S-boxes GOST R 34.12-2015" Magma" quantum circuits without ancilla qubits
JP4829623B2 (ja) 量子演算方法及び量子演算装置
JP4366348B2 (ja) 量子計算方法及び量子計算装置
Wieśniak Heisenberg chains cannot mirror a state
Oh et al. Optimized Quantum Implementation of SEED

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130312

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: 20140225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140305

R150 Certificate of patent or registration of utility model

Ref document number: 5496921

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150