(57)【要約】【課題】Steaneコードの量子誤り訂正方式において２個以上の物理キュービットにエラーが生じている場合にエラーの推定を行う技術を提供する。【解決手段】７個の物理キュービットで構成される論理キュービットに対する６種類のユニタリー作用による観測の２種類の観測結果に古典ビット０と１を対応させて得られる６ビットについて、前半３ビットｊと後半３ビットｋがｊ≠ｋであり、且つ、ｊおよびｋが各物理キュービットにエラーが無い場合の観測結果に対応する古典ビットのビット列ではない場合に、各物理キュービットのエラー発生確率をp1,…,p7とし、ｊとｋに基づき、エラー発生確率pj×pk，pj×pj(+)k，pk×pj(+)kを計算し、pj×pk，pj×pj(+)k，pk×pj(+)kの大きさを比較し、最大のものを判定する。【選択図】図２
2011120096.tif 000002
【特許請求の範囲】
【請求項１】
Steaneコードの量子誤り訂正方式において、７個の物理キュービットで構成される論理キュービットに対する異なる６種類のユニタリー作用による観測の２種類の観測結果に古典ビット０と１を対応させて得られる６ビットについて、前半３ビットｊと後半３ビットｋがｊ≠ｋであり、且つ、ｊおよびｋが各上記物理キュービットにエラーが無い場合の上記観測結果に対応する古典ビットのビット列ではない場合に、
各上記物理キュービットのエラー発生確率をp1,…,p7とし、j(+)kをjとkの古典ビットごとの排他論理和として、上記ｊとｋに基づき、３種類のエラー発生確率pj×pk，pj×pj(+)k，pk×pj(+)kを計算するエラー発生確率計算部と、
上記pj×pk，pj×pj(+)k，pk×pj(+)kの大きさを比較し、最大のものを判定する比較部と
を含む量子誤り推定装置。
【請求項２】
請求項１に記載の量子誤り推定装置において、
上記エラー発生確率p1,…,p7は互いに異なる値である
ことを特徴とする量子誤り推定装置。
【請求項３】
Steaneコードの量子誤り訂正方式において、７個の物理キュービットで構成される論理キュービットに対する異なる６種類のユニタリー作用による観測の２種類の観測結果に古典ビット０と１を対応させて得られる６ビットについて、前半３ビットｊと後半３ビットｋがｊ≠ｋであり、且つ、ｊおよびｋが各上記物理キュービットにエラーが無い場合の上記観測結果に対応する古典ビットのビット列ではない場合に、
量子誤り推定装置のエラー発生確率計算部が、各上記物理キュービットのエラー発生確率をp1,…,p7とし、j(+)kをjとkの古典ビットごとの排他論理和として、上記ｊとｋに基づき、３種類のエラー発生確率pj×pk，pj×pj(+)k，pk×pj(+)kを計算するエラー発生確率計算ステップと、
量子誤り推定装置の比較部が、上記pj×pk，pj×pj(+)k，pk×pj(+)kの大きさを比較し、最大のものを判定する比較ステップと
を含む量子誤り推定方法。
【請求項４】
X，Y，Zをパウリ行列、Iを単位行列
【数６】
2011120096.tif 000009
として、
Steaneコードの量子誤り訂正方式において７個の物理キュービットで構成される論理キュービット|φ'>を異なる６種類のユニタリー作用P1 = IIIXXXX，P2 = IXXIIXX，P3 = XIXIXIX，P4 = IIIZZZZ，P5 = IZZIIZZ，P6 = ZIZIZIZにより観測する観測部と、
２種類の上記観測結果に古典ビット０と１を対応させて得られる６ビットについて、前半３ビットｊと後半３ビットｋがｊ≠ｋであり、且つ、ｊおよびｋが各上記物理キュービットにエラーが無い場合の上記観測結果に対応する古典ビットのビット列ではない場合（以下、「多重エラーの場合」という）に、各上記物理キュービットのエラー発生確率をp1,…,p7とし、j(+)kをjとkの古典ビットごとの排他論理和として、当該ｊとｋに基づき、３種類のエラー発生確率pj×pk，pj×pj(+)k，pk×pj(+)kを計算するエラー発生確率計算部と、
上記pj×pk，pj×pj(+)k，pk×pj(+)kの大きさを比較し、最大のものを判定する比較部と、
上記多重エラーの場合に、上記観測後の論理キュービットの状態を|φ">とし、σjをσj＝I…IσI…I（σは上記X，Y，Zのいずれかとし、先頭からj番目がσで、それ以外は単位行列Iとするテンソル積である）として、
《１》 上記pj×pkが最大であるとき、論理キュービット|φ">に対して量子操作XkZjを実行し、
《２》 上記pj×pj(+)kが最大であるとき、論理キュービット|φ">に対して量子操作Xj(+)kYjを実行し、
《３》 上記pk×pj(+)kが最大であるとき、論理キュービット|φ">に対して量子操作YkZj(+)kを実行するエラー訂正部と
を含む量子誤り訂正装置。
【請求項５】
請求項４に記載の量子誤り訂正装置において、
上記エラー発生確率p1,…,p7は互いに異なる値である
ことを特徴とする量子誤り訂正装置。
【請求項６】
X，Y，Zをパウリ行列、Iを単位行列
【数７】
2011120096.tif 000010
として、
観測部が、Steaneコードの量子誤り訂正方式において７個の物理キュービットで構成される論理キュービット|φ'>を異なる６種類のユニタリー作用P1 = IIIXXXX，P2 = IXXIIXX，P3 = XIXIXIX，P4 = IIIZZZZ，P5 = IZZIIZZ，P6 = ZIZIZIZにより観測する観測ステップと、
エラー発生確率計算部が、２種類の上記観測結果に古典ビット０と１を対応させて得られる６ビットについて、前半３ビットｊと後半３ビットｋがｊ≠ｋであり、且つ、ｊおよびｋが各上記物理キュービットにエラーが無い場合の上記観測結果に対応する古典ビットのビット列ではない場合（以下、「多重エラーの場合」という）に、各上記物理キュービットのエラー発生確率をp1,…,p7とし、j(+)kをjとkの古典ビットごとの排他論理和として、当該ｊとｋに基づき、３種類のエラー発生確率pj×pk，pj×pj(+)k，pk×pj(+)kを計算するエラー発生確率計算ステップと、
比較部が、上記pj×pk，pj×pj(+)k，pk×pj(+)kの大きさを比較し、最大のものを判定する比較ステップと、
エラー訂正部が、上記多重エラーの場合に、上記観測後の論理キュービットの状態を|φ">とし、σjをσj＝I…IσI…I（σは上記X，Y，Zのいずれかとし、先頭からj番目がσで、それ以外は単位行列Iとするテンソル積である）として、
《１》 上記pj×pkが最大であるとき、論理キュービット|φ">に対して量子操作XkZjを実行し、
《２》 上記pj×pj(+)kが最大であるとき、論理キュービット|φ">に対して量子操作Xj(+)kYjを実行し、
《３》 上記pk×pj(+)kが最大であるとき、論理キュービット|φ">に対して量子操作YkZj(+)kを実行するエラー訂正ステップと
を含む量子誤り訂正方法。
【請求項７】
請求項１または請求項２に記載の量子誤り推定装置として古典コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、量子誤り訂正技術に関する。より詳しくは、Steaneコードの量子誤り訂正方式において、２個以上の物理キュービットにエラーが生じている場合にエラーを推定する技術とこれを訂正する技術に関する。
【背景技術】
【０００２】
量子計算では、現在の古典コンピュータで用いられる古典ビットの代わりに、二つの計算基底状態|0>と|1>の重ね合わせ状態α０|0>＋β０|1>（α０とβ０は、｜α０｜２＋｜β０｜２＝１を満たす複素数）で表現されるキュービットを用いる計算が行われる。このような量子計算では、重ね合わせ状態を保持しつつ量子系の状態を制御することにより計算が実行される。このため、量子系外部からのノイズの影響により、量子計算を実行するとエラーが発生する場合がある。正確な量子計算を担保するために、量子誤り訂正の技術が提案されている（非特許文献１参照）。
【０００３】
一般に、量子誤り訂正技術では、以下のようなスキームによりエラーを訂正する。以下では、状態|0>と|1>の重ね合わせ状態を表すキュービットを物理キュービットと呼ぶ。
[１]複数の物理キュービットを組み合わせて論理キュービットを作る。量子計算は論理キュービットを単位に実行される（つまり、物理キュービットの代わりに論理キュービットを用いて量子計算を行う）。
[２]論理キュービット（但し、エラーが起こっている可能性がある）を複数回観測し、その結果をビット列で表現する。
[３]観測結果のビット列から、エラーを起こした物理キュービットとエラーの種類を、古典的な計算により特定する。
[４]特定された情報に基づき、物理キュービットのエラーを訂正する量子操作を実行する。
【０００４】
[２]における観測の結果、論理キュービットの量子状態は変化するが、[４]における量子操作によってエラーが訂正された量子状態に戻すことができる。
【０００５】
量子誤り訂正として広く知られているSteaneコードの量子誤り訂正方式では、７個の物理キュービットを用いて１個の論理キュービットを作り、これを６回観測することによって、７個のうちの１個の物理キュービットに起こったエラーを訂正する。このSteaneコードの量子誤り訂正方式を説明する。
【０００６】
＜Steaneコードの量子誤り訂正方式＞
論理キュービットの基底状態|0L>と|1L>を式（１）と式（２）で定義する。
【数１】
2011120096.tif 000003
【０００７】
また、６種類のユニタリー作用P1-P6を下記のように定義する。ここでは、各ユニタリー作用P1-P6について、行列のテンソル積を省略記法により表現している。例えば、P1はテンソル積を表す記号を用いた式（３）の省略表記である。
P1 = IIIXXXX
P2 = IXXIIXX
P3 = XIXIXIX
P4 = IIIZZZZ
P5 = IZZIIZZ
P6 = ZIZIZIZ
【数２】
2011120096.tif 000004
【０００８】
ここで、各ユニタリー作用P1-P6に現れるX,Y,Zはパウリ行列で、Iは２×２の単位行列である。即ち、式（４）のとおりである。各ユニタリー作用P1-P6に現れるユニタリー作用素X,Y,Z,Iは量子回路上の量子ゲートとして実現される。
【数３】
2011120096.tif 000005
【０００９】
各ユニタリー作用P1-P6のXおよびZの位置は、2進数表現をしたときの1の位置から決まる。各ユニタリー作用P1-P6の表現において、Iに0、XとZに1を割り当てると、表１に示すようになる。ここで、例えば、表１の１列目を上から見ると001001となり、最初の３桁(P1-P3)と最後の３桁(P4-P6)がそれぞれ「1」の2進数表示に対応する。同様に、例えば、表１の６列目を上から見ると110110となり、最初の３桁(P1-P3)と最後の３桁(P4-P6)がそれぞれ「6」の2進表示に対応する。このように、各列の番号を2進数表示したときに1が割り当てられる位置に、P1-P3にはX、P4-P6にはZが割り当てられ、それ以外の位置にはIを割り当てたものが、各ユニタリー作用P1-P6の表現となっている。
【表１】
2011120096.tif 000006
【００１０】
ここで、以下の事実が成立する。
１．P1-P6はユニタリーかつエルミートなので、固有値は１または−１である。
２．論理キュービットの基底状態|0L>，|1L>は、P1-P6の固有値１の固有ベクトルである。つまり、Pi|0L>=|0L>，Pi|1L>=|1L> (i=1,…,6)が成立する。
【００１１】
各ユニタリー作用P1-P6の固有値1，-1に対応する固有空間への射影観測をP1-P6による観測と呼ぶ。この観測により1または-1の情報が得られ、量子状態は観測結果に対応する固有空間に射影される。したがって、論理キュービット(α|0L>+β|1L>)をP1-P6によって観測すると、エラーが無い場合の観測結果は1であり、観測後の状態は変化しない。
【００１２】
一般の場合について調べる前に、論理キュービットの基底状態|0L>，|1L>がXj|0L>, Xj|1L>, Yj|0L>, Yj|1L>, Zj|0L>, Zj|1L>等に変化した場合について調べることにする。ただし、省略記法でσj＝I…IσI…I（先頭からj番目がσで、それ以外は単位行列I）である。i=1,2,3,4,5,6, j=1,2,3,4,5,6,7とすると、式（５）および式（６）が成立する。ここで、bit(i,j)は、jの２進数表現のi番目のビットの値を返す関数であり、|δL>は|0L>または|1L>である。
【数４】
2011120096.tif 000007
【００１３】
したがって、
１．Xj|0L>, Xj|1L>, Yj|0L>, Yj|1L>, Zj|0L>, Zj|1L>は、すべてPiの固有ベクトルである
２．それらの固有値は1または−1である
ことがわかる。すでに述べたとおり、エラーが発生していない場合、観測結果はすべて1となる。しかし、エラーが発生した場合、ユニタリー作用P1-P6による観測結果のいずれかが−1になる可能性がある。
【００１４】
次に、一般の場合を考える。或る物理キュービットにエラーが起こると、|φ>=(α|0L>+β|1L>)は他の状態|φ'>に変化する。j番目の物理キュービットにエラーが発生したとすると、適当な2×2の行列σを用いて、|φ'>=σj|φ>と表現することができる。X,Y,Z,Iは線形独立なので、a,b,c,dを適当な複素数として、σ=aI+bX+cZ+dYと表現することができる。したがって、|φ'>=σj|φ>=(aI+bXj+cZj+dYj)|φ>=a|φ>+bXj|φ>+cZj|φ>+dYj|φ>である。状態|φ'>をP1-P6によりこの順番で観測して得られるそれぞれの観測結果は固有値に応じて1または-1であり、観測結果1に対して古典ビット0、観測結果-1に対して古典ビット1を対応させることにより、６回の観測結果から6ビット***###の2進数が得られる。このとき、以下の性質が得られる。|φ">は、状態|φ'>をP1-P6によりこの順番で観測した結果、最終的に得られる量子状態である。
１） 得られるビット列***###が000000の場合、|φ">=|φ>である。
２） 得られるビット列***###の前半３ビット***が000で、後半３ビット###がj≠000の場合、|φ">=Xj|φ>である。
３） 得られるビット列***###の後半３ビット###が000で、前半３ビット***がj≠000の場合、|φ">=Zj|φ>である。
４） 得られるビット列***###の前半３ビット***と後半３ビット###が両方ともj≠000の場合、|φ">=Yj|φ>である。
５） 得られるビット列***###の前半３ビット***と後半３ビット###が両方とも000ではなく、値が異なる場合、|φ">は|φ>の２個以上の物理キュービットにパウリ行列をかけたものである。
【００１５】
上述の性質を利用して、Steaneコードでは以下のようにして量子誤り訂正を行う。
（ア）状態|0L>と|1L>の重ね合わせα|0L>＋β|1L>（αとβは｜α｜２＋｜β｜２＝１を満たす複素数）を論理キュービットとして、量子計算を行う。この結果を|φ'>とする。
（イ）状態|φ'>をP1-P6によりこの順番で観測する。それぞれの観測結果を固有値に応じて1，-1とし、最後に得られる量子状態を|φ">とする。観測結果1に対して古典ビット0、観測結果-1に対して古典ビット1を対応させることにより、６回の観測結果から6ビットの2進数が得られる。
（ウ）観測結果のビット列から、エラーの種類が上記１）〜５）のどれに該当するかを特定する。
（エ）上記（ウ）で特定された結果が上記１）に該当する場合は、量子計算過程でエラーが生じていないか、または、エラーが生じていたが上記（イ）の観測の結果そのエラーが訂正されたことが分かる。上記２）に該当する場合は、最後に得られる量子状態|φ">に対して量子操作Xj＝I…IXI…I（先頭からj番目がXで、それ以外は単位行列）を実行することにより、Xj|φ">=XjXj|φ>=|φ>となり、エラーの無い元の状態|φ>を復元することができる。同様に、上記３）あるいは４）に該当する場合、量子状態|φ">に量子操作ZjまたはYjをそれぞれ適用すると、Zj|φ">=ZjZj|φ>=|φ>，Yj|φ">=YjYj|φ>=|φ>となり、エラーの無い元の状態|φ>を復元することができる。
【先行技術文献】
【非特許文献】
【００１６】
【非特許文献１】M. A. Nielsen and I. L. Chuang, "Quantum Computation and Quantum Information", Cambridge UniversityPress, 2000.
【発明の概要】
【発明が解決しようとする課題】
【００１７】
Steaneコードの量子誤り訂正方式では、上記５）に該当する場合、２個以上の物理キュービットにエラーが発生していることになるが、２個以上の物理キュービットに発生したエラーの種類と位置を特定することはできない。２個以上の物理キュービットのエラーを特定するためには、より複雑な論理キュービットを作り、より多くの観測を行う必要がある。しかし物理キュービットの数の増加や複雑な観測は、新たなエラー発生原因となる。
【００１８】
そこで本発明は、Steaneコードの量子誤り訂正方式において、２個以上の物理キュービットにエラーが生じている場合にエラーの推定及び訂正を行う技術を提供することを目的とする。
【課題を解決するための手段】
【００１９】
量子誤り推定：
Steaneコードの量子誤り訂正方式において、７個の物理キュービットで構成される論理キュービットに対する異なる６種類のユニタリー作用による観測の２種類の観測結果に古典ビット０と１を対応させて得られる６ビットについて、前半３ビットｊと後半３ビットｋがｊ≠ｋであり、且つ、ｊおよびｋが各物理キュービットにエラーが無い場合の観測結果に対応する古典ビットのビット列ではない場合に、各物理キュービットのエラー発生確率をp1,…,p7とし、j(+)kをjとkの古典ビットごとの排他論理和として、ｊとｋに基づき、３種類のエラー発生確率pj×pk，pj×pj(+)k，pk×pj(+)kを計算し、さらに、pj×pk，pj×pj(+)k，pk×pj(+)kの大きさを比較し、最大のものを判定する。
【００２０】
量子誤り訂正：
Steaneコードの量子誤り訂正方式において７個の物理キュービットで構成される論理キュービット|φ'>を異なる６種類のユニタリー作用P1 = IIIXXXX，P2 = IXXIIXX，P3 = XIXIXIX，P4 = IIIZZZZ，P5 = IZZIIZZ，P6 = ZIZIZIZにより観測する。そして、この２種類の観測結果に古典ビット０と１を対応させて得られる６ビットについて、前半３ビットｊと後半３ビットｋがｊ≠ｋであり、且つ、ｊおよびｋが各物理キュービットにエラーが無い場合の観測結果に対応する古典ビットのビット列ではない場合（多重エラーの場合）に、各物理キュービットのエラー発生確率をp1,…,p7とし、j(+)kをjとkの古典ビットごとの排他論理和として、当該ｊとｋに基づき、３種類のエラー発生確率pj×pk，pj×pj(+)k，pk×pj(+)kを計算し、さらに、pj×pk，pj×pj(+)k，pk×pj(+)kの大きさを比較して、最大のものを判定する。続いて、多重エラーの場合に、上記観測後の論理キュービットの状態を|φ">とし、σjをσj＝I…IσI…I（σはX，Y，Zのいずれかとし、先頭からj番目がσで、それ以外は単位行列Iとするテンソル積である）として、
《１》 pj×pkが最大であるとき、論理キュービット|φ">に対して量子操作XkZjを実行し、《２》 pj×pj(+)kが最大であるとき、論理キュービット|φ">に対して量子操作Xj(+)kYjを実行し、《３》 pk×pj(+)kが最大であるとき、論理キュービット|φ">に対して量子操作YkZj(+)kを実行する。
但し、X，Y，Zをパウリ行列、Iを単位行列とする。
【数５】
2011120096.tif 000008
【発明の効果】
【００２１】
本発明に拠れば、２個以上の物理キュービットにエラーが生じている場合に各物理キュービットのエラー発生確率を古典的アルゴリズムにより推定することから、物理キュービット数や観測方法を変えることなく、Steaneコードの量子誤り訂正方式において、２個以上の物理キュービットにエラーが生じている場合であってもエラーの推定及び訂正を行うことができる。
【図面の簡単な説明】
【００２２】
【図１】実施形態に係る量子誤り推定装置と量子誤り訂正装置の機能ブロック図。
【図２】実施形態に係る量子誤り推定処理と量子誤り訂正処理の処理フロー。
【発明を実施するための形態】
【００２３】
図面を参照して本発明の実施形態を説明する。
本発明の実施形態である量子誤り推定装置１は、それ単体で独立に存在するよりは、推定されたエラーに基づいて量子誤り訂正を行う装置（本発明の実施形態である量子誤り訂正装置２）を構成する構成要素として存在することが実用的な場合がある。さらに云えば、量子誤り推定装置１は、量子誤り訂正装置２とは容易に分離可能に量子誤り訂正装置２を構成する構成要素ではなく、量子誤り訂正装置２自体を或る機能に着眼して片面的に評価したものと云うこともできる。要するに、量子誤り推定装置１は、量子誤り訂正装置２そのものであることが凡そ実用的と言うことができる。
ただし、量子誤り推定装置１が、単体独立の構成要素として存在すること、量子誤り訂正装置２とは容易に分離可能に量子誤り訂正装置２を構成する構成要素であることを排除する趣旨ではない。例えば量子誤り推定自体を目的とするならば、量子誤り推定装置１を単体独立の構成要素として実現することに何らの妨げは無い。
【００２４】
量子誤り推定装置１はいわゆる古典コンピュータによって実現され、量子誤り訂正装置２はいわゆる量子コンピュータによって実現される。その詳細は後述する。
図１に例示するように、量子誤り訂正装置２は、観測部２００と量子誤り推定装置１とエラー訂正部５００を含み、量子誤り推定装置１は、制御部３００Ｐとエラー発生確率計算部３００と比較部４００を含む。
【００２５】
本発明の実施形態では、量子計算部１００は、物理キュービットの代わりに状態|0L>と|1L>の重ね合わせである論理キュービットα|0L>＋β|1L>（αとβは、｜α｜２＋｜β｜２＝１を満たす複素数）を用いて量子計算を行う。この結果である論理キュービットの状態を|φ'>とする。論理キュービット|φ'>には、１個または複数の物理キュービットにエラーが生じている場合がある。このことは、従来のSteaneコードを用いた量子誤り訂正方式と同じである。
【００２６】
量子誤り訂正は、個々の論理キュービット毎に行う。以下では、１個の論理キュービットの量子誤り訂正処理について説明をするが、ｎ個の論理キュービット（ｎ＞１を満たす整数）の場合には、同じ処理を各々の論理キュービットに対して行えばよい。
【００２７】
＜観測部；ステップＳ１＞
観測部２００は、量子計算部１００による量子計算の結果得られた論理キュービット|φ'>に対して、P1-P6による観測を行う。論理キュービットの状態|φ'>をP1-P6によりこの順番で観測した結果、それぞれの観測結果を固有値に応じて1，-1とし、最後に得られる量子状態を|φ">とする。観測結果1に対して古典ビット0、観測結果-1に対して古典ビット1を対応させることにより、６回の観測結果から6ビット***###の2進数が得られる。観測後の量子状態を|φ">とする。このことは、従来のSteaneコードを用いた量子誤り訂正方式と同じである。
【００２８】
＜制御部；ステップＳ２＞
制御部３００Ｐは、観測結果のビット列から、エラーの種類が従来のSteaneコードを用いた量子誤り訂正方式として説明した上記１）〜５）のいずれに該当するかを特定する。エラーの種類が上記１）〜４）のいずれかに該当する場合は、制御部３００Ｐは、エラー訂正部５００が従来のSteaneコードを用いた量子誤り訂正方式と同じ量子誤り訂正処理を実行するように制御を行う。これは既に説明したとおりであるから説明を繰り返さない。エラーの種類が上記５）に該当する場合は、制御部３００Ｐは、エラー発生確率計算部３００による処理が実行されるように制御を行う。
【００２９】
＜エラー発生確率計算部；ステップＳ３＞
エラーの種類が上記５）に該当する場合について、観測の結果得られる前半３ビット***をj≠000、後半３ビット###をk≠000とする。ただし、j≠kである。j(+)kを、jとkのビットごとの排他論理和とする。また、物理キュービットのエラー発生確率をp1,…,p7とする。なお、p1,…,p7の各値は、量子コンピュータを実現する量子物理系により決定されるゼロ以上の値である。それぞれの値は同じであってもよいが、それぞれの値が異なることが好ましい。
エラーの種類が上記５）に該当する場合、エラー発生確率計算部３００は、ｊとｋの値（但し、ここでは十進数表現としている）から、下記３種類のエラー発生確率を計算する。
pj×pk
pj×pj(+)k
pk×pj(+)k
【００３０】
＜比較部；ステップＳ４＞
比較部４００は、pj×pk，pj×pj(+)k，pk×pj(+)kの大きさを比較し、最大のものを判定する。
【００３１】
＜エラー訂正部；ステップＳ５＞
エラー訂正部５００は、エラーの種類が上記１）〜４）に該当する場合には、従来のSteaneコードを用いた量子誤り訂正方式と同じ量子誤り訂正処理を実行する。これは既に説明したとおりであるから説明を繰り返さない。
【００３２】
エラー訂正部５００は、エラーの種類が上記５）に該当する場合には下記の処理を行う。
《１》 比較部４００がpj×pkが最大であると判定したとき、量子状態|φ">に対して量子操作XkZjを実行することによりエラーを訂正する（訂正後の状態はXkZj|φ">=|φ>となる）。
《２》 比較部４００がpj×pj(+)kが最大であると判定したとき、量子状態|φ">に対して量子操作Xj(+)kYjを実行することによりエラーを訂正する（訂正後の状態はXj(+)kYj|φ">=|φ>となる）。
《３》 比較部４００がpk×pj(+)kが最大であると判定したとき、量子状態|φ">に対して量子操作YkZj(+)kを実行することによりエラーを訂正する（訂正後の状態はYkZj(+)k|φ">=|φ>となる）。
この処理によって、エラーの無い元の状態|φ>を復元できる可能性がある。
【００３３】
上記の量子操作によりエラーが確率的に訂正できる理由を以下に説明する。
P1-P6による観測結果の前半ビット***がj≠000、後半ビット###がk≠000で、j≠kであるとする。この場合、既に説明したように２個以上の物理キュービットにエラーが発生しているが、一般的に３個以上の物理キュービットにエラーが発生する確率は２個の物理キュービットにエラーが発生する確率よりも小さい。よって、P1-P6による観測結果の前半ビット***がj≠000、後半ビット###がk≠000で、j≠kであるならば、２個の物理キュービットにエラーが発生したとみなすことにする。このとき、観測後の状態として考えられるのは、上記XkZj|φ>，Xj(+)kYj|φ>，YkZj(+)k|φ>の３種類であることを以下に説明する。
【００３４】
２×２の行列σsとσtを、
σs=(asI+bsXs+csZs+dsYs) , σt=(atI+btXt+ctZt+dtYt)
と記述する。論理キュービットを構成する７個の物理キュービットのs番目とt番目にエラーが起きた場合を考える。この場合、量子計算後の論理キュービットの状態|φ'>は、次のとおりである。
|φ'> = σsσt|φ> = (asI+bsXs+csZs+dsYs) (atI+btXt+ctZt+dtYt) |φ>
= asat|φ> + atbsXs|φ> + asbtXt|φ> + bsbtXsXt|φ> + atcsZs|φ> 
+ asctZt|φ> + csctZsZt|φ> + atdsYs|φ> + asdtYt|φ> + dsdtYsYt|φ>
+ bsctXsZt|φ> + csbtZsXt|φ> + bsdtXsYt|φ> + dsbtYsXt|φ> 
+ csdtZsYt|φ> + csdtYsZt|φ>
【００３５】
式（６）からi=1,2,3に関してPiXs|φ>=Xs|φ>, PiXt|φ>=Xt|φ>, PiXsXt|φ>=XsXt|φ>なので、前半３ビット***の観測結果が000ではないことから、観測後の状態はXs|φ>, Xt|φ>, XsXt|φ>ではない。また、式（６）からi=4,5,6に関してPiZs|φ>=Zs|φ>, PiZt|φ>=Zt|φ>, PiZsZt|φ>= ZsZt|φ>なので、後半３ビット###の観測結果が000ではないことから、観測後の状態はZs|φ>, Zt|φ>, ZsZt|φ>ではない。さらに、式（６）からi=1,2,3に関してPiYs|φ>= Pi+3Ys|φ>, PiYt|φ>=Pi+3Yt|φ>, PiYsYt|φ>=Ps+3YsYt|φ>なので、前半３ビット***と後半３ビット###の観測結果が異なることから、観測後の状態はYs|φ>, Yt|φ>, YsYt|φ>ではない。したがって観測後の状態として考えられるのは、XsZt|φ>, XsYt|φ>, YsZt|φ>の３種類である(s≠tなので、ZtXs=XsZt, YtXs=XsYt, ZtYs=YsZtとなることに注意)。
【００３６】
このことから、以下のことが言える。
［Ａ］ 観測後の状態がXsZt|φ>の場合、式（６）の関係から観測結果の前半３ビット***はｔ、後半３ビット###はｓである。
［Ｂ］ 観測後の状態がXsYt|φ>の場合、式（６）の関係から観測結果の前半３ビット***はｔ、後半３ビット###はｓ(+)ｔである。
［Ｃ］ 観測後の状態がYsZt|φ>の場合、式（６）の関係から観測結果の前半３ビット***はｓ(+)ｔ、後半３ビット###はｓである。
【００３７】
したがって、前半３ビット***の観測結果がｊ、後半３ビット###の観測結果がｋである場合には、下記の３種類が考えられる。
<1> t=j, s=kをXsZt|φ>に代入することにより、観測後の状態はXkZj|φ>である。
<2> t=j, s(+)t=kを解いて、XsYt|φ>に代入することにより、観測後の状態はXj(+)kYj|φ>である。
<3> s(+)t=j, s=kを解いて、YsZt|φ>に代入することにより、観測後の状態はYkZj(+)k|φ>である。
【００３８】
このことから、観測後の状態はXkZj|φ>, Xj(+)kYj|φ>, YkZj(+)k|φ>のいずれかであることがわかる。しかしながら、どの状態であるかは観測結果から特定できない。そこで、本発明では、エラー発生確率計算部３００が上記<1>-<3>それぞれのエラーが発生している確率を計算し、最も確率の高いものに対応するケースのエラーが生じていると判断して、エラー訂正部５００がそのケースに対応した量子操作を行う処理となっている。このため、確実にエラーを訂正できるものではないが、高い確率でエラーを訂正することができる。
【００３９】
従来方法では、異なる２個以上の物理キュービットにエラーが起こった場合、エラーを訂正することができなかった（そのまま放置していた）。しかし、本発明によると、シミュレーション結果から、従来方式に比べてエラー訂正後の量子状態のフィデリティを6.6％程度向上することができることが示された。
【００４０】
＜量子誤り訂正装置２＞
量子誤り訂正装置２の観測部２００およびエラー訂正部５００は、量子コンピュータの機能要素として実現される。量子コンピュータを実現する物理系としては、例えば、イオントラップを用いる方法（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.」に記載されているようにＳｉ（１１１）基板等に各物理キュービットを生成する。なお、物理キュービットの初期量子状態は、例えば、他の量子計算のための量子回路による操作によって得られたものを用いてもよいし、各物理キュービットが生成された基板をｍＫ（ミリケルビン）オーダー以下に冷却してスピンの向きを揃えた後、所定の電磁波パルスを印加して生成してもよい。また、物理キュービットとして光子の偏光を用いる場合には、例えば、パラメトリックダウンコンバージョン（ＰＤＣ：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.」等参照。）によって生成された複数個の単一光子を用いる。この場合、各物理キュービットの初期量子状態は、例えば、他の量子計算のための量子回路による操作によって得られたものを用いる。また、パラメトリックダウンコンバージョン等によって生成された単一光子に、ビームスプリッタや偏光回転素子等によって実現されるウォルシューアダマール変換、制御ＮＯＴ、回転等の操作を行い、上述の初期量子状態を生成することとしてもよい。
その他、上記の文献に記載された方法で物理キュービットを用意することとしてもよい。
【００４２】
また、量子計算前後や量子計算途中において物理キュービットの量子状態を保存する必要がある場合には、例えば、量子ドット内の電子準位、核スピン、あるいは超伝導体内部の電荷（クーパー対）量を物理キュービットとして用いてデータを保存する量子メモリ等を用いてもよい（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）。
【００４３】
＜制御ＮＯＴ演算＞
全ての量子計算は単一物理キュービットに対するキュービット演算と制御ＮＯＴ演算に分解できる（上記非特許文献１参照）。
イオントラップ量子コンピュータでは、例えば、イオンを直線上に並べ、各イオンに狙いを定めたレーザービーム照射によって制御ＮＯＴ演算を実現する。また、物理キュービットとして光子の偏光を用いる場合には、例えば、偏光ビームスプリッタ等を用い、「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. 方式によって制御ＮＯＴ演算を実現する。また、核スピンを物理キュービットとして用いる場合には、例えば、所定の電磁波パルスを物理キュービットに印加することによって制御ＮＯＴ演算を実現できる。
その他、上記の文献に記載された方法で制御ＮＯＴ演算を実現してもよい。
【００４４】
＜物理キュービット単体操作＞
イオントラップ量子コンピュータでは、例えば、イオンを直線上に並べ、各イオンに狙いを定めたレーザービーム照射によって物理キュービット単体の操作を実現する。核スピンを物理キュービットとして用いる場合には、電磁波パルスやレーザービーム照射によって各処理を実現する。また、物理キュービットとして光子の偏光を用いる場合には、例えば、偏光回転素子等によって実現する。
【００４５】
＜量子誤り推定装置１＞
量子誤り推定装置１は、古典コンピュータ、つまり古典的な装置構成で実現される。例えばパーソナルコンピュータに例示されるように、記憶装置（例えばＲＡＭ、ＲＯＭやハードディスク）、演算処理装置（例えばＣＰＵ）、入力・出力装置（例えばキーボード、ディスプレイ）、これらの装置間でデータのやり取りが可能に接続するバスなどを備えた古典コンピュータによって実現することができる。
この場合、各物理キュービットのエラー発生確率p1,…,p7、エラー発生確率pj×pk，pj×pj(+)k，pk×pj(+)kを計算するためのプログラム、pj×pk，pj×pj(+)k，pk×pj(+)kの大きさを比較し最大のものを特定するためのプログラムを記憶装置に記憶しておき、必要に応じて演算処理装置がプログラムを読み込んで解釈実行することで、エラー発生確率計算部３００の機能と比較部４００の機能を実現する。また各プログラムは、コンピュータ読み取り可能な記録媒体（例えばＣＤ−Ｒ、ＤＶＤ−ＲＡＭ、ＭＯ）に記録することもできる。
【００４６】
なお、本発明は上述の実施の形態に限定されるものではなく、その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【図１】
2011120096.tif 000011
【図２】
2011120096.tif 000012