(57)【要約】【課題】少ない計算リソースを実現する。【解決手段】実施形態によれば、量子エラー訂正符号化器は、初期化部と、符号化部と、検証部と、を含んでいる。初期化部は、３個の量子ビット（以下、第１量子ビット，第２量子ビット，第３量子ビットとする）をプラス状態に、５個の量子ビット（以下、第４量子ビット，第５量子ビット，第６量子ビット，第７量子ビット，第８量子ビットとする）をゼロ状態に初期化する。符号化部は、第１乃至第７量子ビットに対して量子ゲート操作を実行し、これら第１乃至第７量子ビットをSteane符号の符号化されたゼロ状態にする。検証部は、第８量子ビットを標的ビット、第１乃至第７量子ビットのいずれかを制御ビットとする複数の制御ＮＯＴゲートを実行した後、第８量子ビットを測定し、測定結果が０ならば受理と判定し、測定結果が１ならば却下と判定する。【選択図】図４
2017022677.tif 000002
【特許請求の範囲】
【請求項１】
３個の量子ビット（以下、第１量子ビット，第２量子ビット，第３量子ビットとする）をプラス状態に初期化し、５個の量子ビット（以下、第４量子ビット，第５量子ビット，第６量子ビット，第７量子ビット，第８量子ビットとする）をゼロ状態に初期化する初期化部と、
第１乃至第７量子ビットに対して量子ゲート操作を実行し、これら第１乃至第７量子ビットをSteane符号の符号化されたゼロ状態にする符号化部と、
第８量子ビットを標的ビット、第１乃至第７量子ビットのいずれかを制御ビットとする複数の制御ＮＯＴゲートを実行した後、第８量子ビットを測定し、測定結果が０ならば受理と判定し、測定結果が１ならば却下と判定する検証部と、
を具備する量子エラー訂正符号化器。
【請求項２】
前記符号化部は、第１乃至第７量子ビットに対して行う前記量子ゲート操作として、８個または９個の制御ＮＯＴゲートを実行し、
前記８個または９個の制御ＮＯＴゲートの前半の６個の制御ＮＯＴゲートのうち、２個は制御ビットが第１量子ビットであり、２個は制御ビットが第２量子ビットであり、２個は制御ビットが第３量子ビットであり、
前記検証部は、３個のＺ演算子と４個の恒等演算子で表された符号化Ｚ演算子のＺ演算子に対応する量子ビットを制御ビットとする３個の制御ＮＯＴゲートを実行し、
前記８個または９個の制御ＮＯＴゲートの後半の２個または３個の全てについて、制御ビット及び標的ビットのうちのいずれか一方だけが、前記検証部の３個の制御ＮＯＴゲートの制御ビットである請求項１に記載の量子エラー訂正符号化器。
【請求項３】
請求項１または請求項２に記載の量子エラー訂正符号化器と；
１個の量子ビット（以下、第９量子ビットとする）をマジック状態に初期化し、３個の量子ビット（以下、第１０量子ビット，第１１量子ビット，第１２量子ビットとする）をプラス状態に初期化し、３個の量子ビット（以下、第１３量子ビット，第１４量子ビット，第１５量子ビットとする）をゼロ状態に初期化し、２個の量子ビット（以下、第１６量子ビット，第１７量子ビットとする）をベル状態に初期化する初期化部と、  第９乃至第１５量子ビットに対して量子ゲート操作を実行し、これら第９乃至第１５量子ビットをSteane符号の符号化マジック状態にする符号化部と、  第１６または第１７量子ビットを制御ビット、第９乃至第１５量子ビットのいずれかを標的ビットとする複数の制御アダマールゲートを実行した後、第１６及び第１７量子ビットにベル測定を行い、測定結果がともに０なら受理と判定し、測定結果がそうでなければ却下と判定する検証部と、  第９乃至第１５量子ビットに対するエラー検出を行うエラー検出部と、を具備するマジック状態符号化器を含む、計算を行う計算部と；
前記計算部から出力された量子ビットの値を読み出す読み出し部と；
を具備する量子計算機。
【請求項４】
３個の量子ビット（以下、第１量子ビット，第２量子ビット，第３量子ビットとする）をプラス状態に、５個の量子ビット（以下、第４量子ビット，第５量子ビット，第６量子ビット，第７量子ビット，第８量子ビットとする）をゼロ状態に初期化し、
第１乃至第７量子ビットに対して量子ゲート操作を実行し、これら第１乃至第７量子ビットをSteane符号の符号化されたゼロ状態にし、
第８量子ビットを標的ビット、第１乃至第７量子ビットのいずれかを制御ビットとする複数の制御ＮＯＴゲートを実行した後、第８量子ビットを測定し、測定結果が０ならば受理と判定し、測定結果が１ならば却下と判定する、
ことを具備する量子エラー訂正符号化方法。
【請求項５】
前記Steane符号の符号化されたゼロ状態にすることは、第１乃至第７量子ビットに対して行う前記量子ゲート操作として、８個または９個の制御ＮＯＴゲートを実行することであり、
前記８個または９個の制御ＮＯＴゲートの前半の６個の制御ＮＯＴゲートのうち、２個は制御ビットが第１量子ビットであり、２個は制御ビットが第２量子ビットであり、２個は制御ビットが第３量子ビットであり、
前記第８量子ビットを標的ビット、第１乃至第７量子ビットのいずれかを制御ビットとする複数の制御ＮＯＴゲートを実行することは、３個のＺ演算子と４個の恒等演算子で表された符号化Ｚ演算子のＺ演算子に対応する量子ビットを制御ビットとする３個の制御ＮＯＴゲートを実行することであり、
前記８個または９個の制御ＮＯＴゲートの後半の２個または３個の全てについて、制御ビット及び標的ビットのうちのいずれか一方だけが、前記３個の制御ＮＯＴゲートの制御ビットである請求項４に記載の量子エラー訂正符号化方法。
【請求項６】
請求項４または請求項５に記載の量子エラー訂正符号化方法と；
１個の量子ビット（以下、第９量子ビットとする）をマジック状態に初期化し、３個の量子ビット（以下、第１０量子ビット，第１１量子ビット，第１２量子ビットとする）をプラス状態に初期化し、３個の量子ビット（以下、第１３量子ビット，第１４量子ビット，第１５量子ビットとする）をゼロ状態に初期化し、２個の量子ビット（以下、第１６量子ビット，第１７量子ビットとする）をベル状態に初期化し、  第９乃至第１５量子ビットに対して量子ゲート操作を実行し、これら第９乃至第１５量子ビットをSteane符号の符号化マジック状態にし、  第１６または第１７量子ビットを制御ビット、第９乃至第１５量子ビットのいずれかを標的ビットとする複数の制御アダマールゲートを実行した後、第１６及び第１７量子ビットにベル測定を行い、測定結果がともに０なら受理と判定し、測定結果がそうでなければ却下と判定し、  第９乃至第１５量子ビットに対するエラー検出を行うこと、を含み、計算を行い；
前記計算の結果から量子ビットの値を読み出すこと；
を具備する量子計算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、フォールトトレラント量子計算を行うための量子エラー訂正符号化器、量子計算機、及び方法に関する。
【背景技術】
【０００２】
量子計算機では量子力学的な重ね合わせの状態を利用するため、その状態が壊れるデコヒーレンスがメモリエラーやゲートエラーを引き起こす。これは従来の古典計算機にはない量子計算機に特有の問題である。このため、このようなエラーを訂正できる量子エラー訂正符号を用いたフォールトトレラント量子計算が、量子計算機に不可欠と考えられている。
【０００３】
良く知られた量子エラー訂正符号にSteane符号というものがある。この符号には、Cliffordゲートと呼ばれる基本ゲート（パウリゲート、アダマールゲート、位相ゲート、及び制御ＮＯＴゲートからなる）がすべてtransversalに実行できるという特長がある。なお、物理的な量子ビットに独立に物理的なゲートを実行することで符号化されたゲートが実行できることを「transversalに実行できる」と言う。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】B. W. Reichardt, arXiv:quant-ph/0612004, Chapter 2 (http://jp.arxiv.org/abs/quant-ph/0612004).
【非特許文献２】A. Paetznick and B. W. Reichardt, Quant. Inf. & Comput. 12, 1034 (2012).
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、符号化されたゼロ状態｜０＞をフォールトトレラントに生成する際の計算リソースが大きいという問題がある。
【０００６】
本発明が解決しようとする課題は、上記事情を考慮してなされたものであって、従来よりも少ない計算リソースを用いて、Steane符号で符号化されたゼロ状態をフォールトトレラントに生成する量子エラー訂正符号化器、及び、それを用いた量子計算機を提供することである。
【課題を解決するための手段】
【０００７】
実施形態によれば、量子エラー訂正符号化器は、初期化部と、符号化部と、検証部と、を含んでいる。初期化部は、３個の量子ビット（以下、第１量子ビット，第２量子ビット，第３量子ビットとする）をプラス状態に、５個の量子ビット（以下、第４量子ビット，第５量子ビット，第６量子ビット，第７量子ビット，第８量子ビットとする）をゼロ状態に初期化する。符号化部は、第１乃至第７量子ビットに対して量子ゲート操作を実行し、これら第１乃至第７量子ビットをSteane符号の符号化されたゼロ状態にする。検証部は、第８量子ビットを標的ビット、第１乃至第７量子ビットのいずれかを制御ビットとする複数の制御ＮＯＴゲートを実行した後、第８量子ビットを測定し、測定結果が０ならば受理と判定し、測定結果が１ならば却下と判定する。
【図面の簡単な説明】
【０００８】
【図１】Steane符号のゼロ状態を生成する従来の符号化器を表す図。
【図２】Steane符号のゼロ状態を生成する従来の符号化器を表す図。
【図３】Steane符号のゼロ状態を生成する本実施形態に係る符号化器を表す図。
【図４】図３よりも少ない制御ＮＯＴゲートを用いる本実施形態に係る符号化器を表す図。
【図５】本実施形態のゼロ状態符号化器のブロック図。
【図６】Steane符号に対するマジック状態生成器を表す図。
【図７】本実施形態のマジック状態符号化器のブロック図。
【図８】本実施形態の量子計算機のブロック図。
【図９】第１実施例でのSteane符号のベル状態生成の数値シミュレーション結果を表す図。
【図１０】第２実施例でのSteane符号のマジック状態生成の数値シミュレーション結果を表す図。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。  
本実施形態では、Steane符号として知られる７個の量子ビットで構成される符号を扱う（例えば、B. W. Reichardt, arXiv:quant-ph/0612004, Chapter 2）。Steane符号は符号距離が３であり、任意の１量子ビットエラーを訂正でき、任意の２量子ビットエラーを検出できる。
【００１０】
Steane符号はスタビライザー符号の一種であり、そのスタビライザー生成子はＸＸＩＩＸＸＩ，ＸＩＸＩＸＩＸ，ＩＩＩＸＸＸＸ，ＺＺＩＩＺＺＩ，ＺＩＺＩＺＩＺ，ＩＩＩＺＺＺＺで定義される。なお、この定義は量子ビットの並び方に依存する。また、恒等演算子をＩ，パウリ演算子をＸ，Ｙ，Ｚで表す。さらに、符号化Ｘ演算子はＸＸＸＸＸＸＸ，符号化Ｚ演算子はＺＺＺＺＺＺＺで定義される。
【００１１】
Steane符号で符号化されたゼロ状態｜０＞を生成する２つの従来手法の概略をそれぞれ図１及び図２に示す（B. W. Reichardt, arXiv:quant-ph/0612004, Chapter 2; C. M. Dawson et al., Phys. Rev. A 73, 052306 (2006)）。以下、まず図１の従来方法について説明する。ここで、プラス状態｜＋＞及びマイナス状態｜−＞はそれぞれ以下の状態を示す。
【００１２】
【数１】
2017022677.tif 000003
【００１３】
図１の左側に示される上下それぞれ７個の量子ビットは、上側及び下側のそれぞれで、初めの９個の制御ＮＯＴゲート（ＣＮＯＴゲートとも記す）によってSteane符号のゼロ状態へ符号化される。しかし、これらはフォールトトレラントではない。つまり、物理的な制御ＮＯＴゲートのエラー確率に比例するエラー確率で訂正不可能なエラー（例えば、２量子ビットエラー）が生じる。そこで、従来手法では、これらにtransversalに物理的な制御ＮＯＴゲートを行うことで符号化制御ＮＯＴゲートを実行し、下側にある７個の符号化ゼロ状態の物理的な量子ビットそれぞれを基底｛｜０＞，｜１＞｝で測定し、その測定結果を用いてエラー検出を行い、エラーが検出されなければ復号を行い、復号結果が０の場合受理するという判定を行うことによって訂正不可能なエラーを取り除く（P. Aliferis et al., Quant. Inf. Comput. 6, 97 (2006)）。この処理を検証（verification）と呼ぶ。こうして、上側の符号化ゼロ状態のエラー確率は、物理的な制御ＮＯＴゲートのエラー確率の２乗に比例する。よって、これはフォールトトレラントな生成となる。
【００１４】
図１に示した従来の符号化器は、１４個の量子ビットと２５個の制御ＮＯＴゲートが必要である。この計算リソースは大きく、量子計算機の現実化にとって問題である。
【００１５】
次に、図２の従来方法について説明する。図２の左側に示される上側の７個の量子ビットは、初めの９個の制御ＮＯＴゲートによってSteane符号のゼロ状態へ符号化される。しかし、図１と同様、これはフォールトトレラントではない。そこで、下側にある４個の補助量子ビットを利用して、符号化ゼロ状態の４つのスタビライザー演算子、ＩＩＩＺＺＺＺ、ＺＩＩＩＩＺＺ、ＩＺＩＩＺＩＺ、ＩＩＺＩＺＺＩを測定し、それらの測定結果がすべて０の場合受理するという判定を行うことによって訂正不可能なエラーを取り除く。これも検証と呼ぶ。こうして、上側の符号化ゼロ状態のエラー確率は、物理的な制御ＮＯＴゲートのエラー確率の２乗に比例する。よって、これはフォールトトレラントな生成となる。
【００１６】
図２に示した従来の符号化器は、１１個の量子ビットと２２個の制御ＮＯＴゲートが必要である。この計算リソースは大きく、量子計算機の現実化にとって問題である。
【００１７】
次に、本実施形態の量子エラー訂正符号化器であるゼロ状態符号化器の手法の概略を図３に示す。  
図３の上側の７個の量子ビットは、初めの９個の制御ＮＯＴゲートによってSteane符号のゼロ状態へ符号化される。しかし、これは前述のようにフォールトトレラントではない。そこで、本実施形態の符号化器は、１つの補助量子ビット（図３の一番下の量子ビット）を利用して検証を行う。つまり、補助量子ビットをゼロ状態に準備し、それを標的ビット、上側の７個の量子ビットのうちの３個を制御ビットとした３個の制御ＮＯＴゲートを行い、補助量子ビットを基底｛｜０＞，｜１＞｝で測定し、その測定結果が０の場合受理するという判定を行うことによって訂正不可能なエラーを取り除く。こうして、符号化ゼロ状態のエラー確率は、物理的制御ＮＯＴゲートのエラー確率の２乗に比例する。よって、図３の符号化器は、符号化ゼロ状態をフォールトトレラントに生成することができている。
【００１８】
本実施形態の符号化器は、図３のように８個の量子ビットと１２個の制御ＮＯＴゲートからなり、図１及び図２に示す従来の符号化器に比べて計算リソースが低減される。
【００１９】
以下、本実施形態の量子エラー訂正符号化器の原理について詳しく説明する。  
まず、ゼロ状態符号化において、Ｚエラーは考慮する必要がない点に注意する。なぜなら、符号化ゼロ状態は符号化Ｚ演算子の固有値１の固有状態であり、Ｚスタビライザーと合わせて考えると、任意の２個以上のＺエラーは１個以下のＺエラーと同値となる。このようなエラーの同値関係は、古典エラー訂正にはない量子特有の性質であり、エラー縮退（error degeneracy）と呼ばれる。１量子ビットエラーは訂正可能なので、Ｚエラーを考慮する必要はない。よって、以下ではＸエラーのみ考える。
【００２０】
図３において、初めの６個の制御ＮＯＴゲートを実行した後の状態は、以下の７個の演算子の固有値１の固有状態になる：
ＺＺＩＩＩＩＩ，ＸＸＩＩＩＸＩ，ＩＩＸＩＸＩＸ，ＩＩＩＸＸＩＸ，ＩＩＺＺＺＩＩ，ＩＺＩＩＩＺＩ，ＩＩＺＺＩＩＺ。
これらによるエラー縮退を考察すると、この６個の制御ＮＯＴゲートで生じる任意の２量子ビットＸエラーは、ある１量子ビットＸエラーと同値になる。よって、フォールトトレラントでないゼロ状態符号化で使われる９個の制御ＮＯＴゲートのうち、２量子ビットＸエラーを生じさせるのは後半の３個だけである。前半の６個の制御ＮＯＴゲートによる任意のＸエラーが１量子ビットＸエラーと同値になるための必要十分条件は、同じ量子ビットを制御ビットとする制御ＮＯＴゲートがちょうど２個ずつ３組あることである。なお、これら制御ビットはすべて初期状態がプラス状態｜＋＞である量子ビットである点に注意する。
【００２１】
前記の後半の３個の制御ＮＯＴゲートによる２量子ビットＸエラーを１つの補助量子ビットで検出して取り除くために、符号化Ｚ演算子に以下の７個の同値な表現があることに着目する：
ＺＺＺＩＩＩＩ，ＩＺＩＺＩＺＩ，ＩＩＺＺＩＩＺ，ＩＺＩＩＺＩＺ，ＩＩＺＩＺＺＩ，ＺＩＩＺＺＩＩ，ＺＩＩＩＩＺＺ。
これらがすべて、３個の量子ビットに対するＺ演算子からなっている点に注意する。  
なおここで、３個のスタビライザー生成子からなるスタビライザー演算子は全部で２３−１＝７個ある（恒等演算子となる場合を除いた）。これらはすべて３個の恒等演算子と４個のＺ演算子からなる。この７個のスタビライザー演算子を符号化Ｚ演算子の定義ＺＺＺＺＺＺＺにかけることで、上記の７個の表現を得る。
【００２２】
後半の３個の制御ＮＯＴゲートによる２量子ビットＸエラーを符号化Ｚ演算子の固有値測定によって検出できるための必要十分条件は、３個の制御ＮＯＴゲートのすべてに対し、制御ビット及び標的ビットのいずれか一方だけが、上記の符号化Ｚ演算子の同値な表現のいずれか１つにおいて、Ｚ演算子に対応する量子ビットとなっている（他方は恒等演算子に対応する量子ビットになっている）ことである。このとき、その表現の符号化Ｚ演算子の固有値を、補助量子ビットを利用して測定することで、２量子ビットＸエラーを検出できる。図３はこのような構成になっている。なお図３では、最後にＩＩＺＩＺＺＩの固有値を測定している。固有値が１の場合、補助量子ビットの測定値は０、固有値が−１の場合、補助量子ビットの測定値は１となるので、測定値が０ならば受理し、１ならば初めからやり直す、という判定を行う。
【００２３】
上述の条件が満たされていれば、図３以外の構成も可能である。例えば最近、８個の制御ＮＯＴゲートを用いたSteane符号の（フォールトトレラントでない）ゼロ状態生成法が提案されている（A. Paetznick and B. W. Reichardt, Quant. Inf. & Comput. 12, 1034 (2012)）。この提案に対しても、本実施形態の手法が使える。この手法を図４に示す。
【００２４】
この場合、初めの８個の制御ＮＯＴゲートでフォールトトレラントでないゼロ状態に符号化されるが、後半の２個の制御ＮＯＴゲートで２量子ビットＸエラーが生じる。なお、エラー縮退のおかげで前半の６個の制御ＮＯＴゲートによる任意のＸエラーが１量子ビットＸエラーと同値なのは前述と同様である。これを検出するために、図４では、最後に補助量子ビットを利用してＺＩＩＩＩＺＺを測定している。
【００２５】
次に、本実施形態のゼロ状態符号化器５００について図５を参照して説明する。  
ゼロ状態符号化器５００は、初期化部５０１、ゼロ状態符号化部５０２、検証部５０３を含んでいる。ゼロ状態符号化器５００は、Steane符号で符号化された、フォールトトレラントなゼロ状態を生成する。
【００２６】
初期化部５０１は、３個の量子ビット（以下、第１量子ビット，第２量子ビット，第３量子ビットとする）をプラス状態に初期化し、５個の量子ビット（以下、第４量子ビット，第５量子ビット，第６量子ビット，第７量子ビット，第８量子ビットとする）をゼロ状態に初期化する。（この量子ビット番号と図３および図４の量子ビットの順序は無関係である。）
ゼロ状態符号化部５０２は、第１乃至第７量子ビットに対して量子ゲート操作を行い、それらをSteane符号の符号化ゼロ状態にする。ゼロ状態符号化部５０２は、８個または９個の制御ＮＯＴゲートを行う。図３は９個の制御ＮＯＴゲートを行う場合、図４は８個の制御ＮＯＴゲートを行う場合である。前半に行われる６個の制御ＮＯＴゲートのうち、２個は制御ビットが第１量子ビットであり、２個は制御ビットが第２量子ビットであり、２個は制御ビットが第３量子ビットである。
【００２７】
検証部５０３は、第８量子ビットを標的ビット、第１乃至第７量子ビットのいずれかを制御ビットとする複数の制御ＮＯＴゲートを実行した後、第８量子ビットを測定し、測定結果が０なら受理、１なら却下と判定する。検証部５０３は、３個のＺ演算子と４個の恒等演算子で表された符号化Ｚ演算子のＺ演算子に対応する量子ビットを制御ビットとする３個の制御ＮＯＴゲートを行う。検証部５０３で行われる３個の制御ＮＯＴゲートの制御ビットは、８個または９個の制御ＮＯＴゲートの後半のそれぞれ２個または３個のすべてについて、制御ビット及び標的ビットのいずれか一方だけになる。
【００２８】
次に、Steane符号に対する効率的なマジック状態生成法について図６を参照して説明する。（マジック状態の必要性については後述参照。）
マジック状態｜Ｈ＞はアダマール演算子Ｈの固有値１の固有状態である。Steane符号は、アダマールゲートをtransversalに実行できるため、マジック状態抽出のための符号として用いることができる（H. Goto, Sci. Rep. 4, 7501 (2014)）。
【００２９】
図６の上側の７個の量子ビットは、１１個の制御ＮＯＴゲートによってSteane符号のマジック状態へ符号化される。下側の２つの補助量子ビットはベル状態に準備され、上の７個のマジック状態に対するアダマール演算子の固有値測定、および、Ｘエラーの検出に用いられる（H. Goto, Sci. Rep. 4, 7501 (2014)）。ここで、制御アダマールゲートは、例えば１回の制御ＮＯＴゲートと複数回の１量子ビットゲートによって実装できる（H. Goto, Sci. Rep. 4, 7501 (2014)）。２つの補助量子ビットにベル測定を行い、その測定値がともに０ならば受理し、それ以外ならば初めからやり直す、という判定を行う。これによって、入力量子ビットのエラー、および、符号化に用いた１１個の制御ＮＯＴゲートのエラーを検出して取り除くことができる。この処理は、ゼロ状態符号化における検証（verification）に相当する。これでは取り除くことができない制御アダマールゲートのエラーは、次に来るエラー検出器ＥＤで取り除かれる。ＥＤは、例えばSteane符号を用いたエラー検出テレポーテーションで実装できる（H. Goto et al., Sci. Rep. 3, 2044 (2013)）。
【００３０】
本マジック状態生成法では、従来手法（例えばP. Aliferis et al., Quant. Inf. Comput. 6, 97 (2006)の図１３の方法）に比べて計算リソースを低減できる。なお、本マジック状態生成法は、符号化アダマールゲートがtransversalに実行でき、符号距離が３であれば、Steane符号以外の量子エラー訂正符号にも適用可能である。
【００３１】
次に、Steane符号に対する効率的なマジック状態符号化器７００を図７に示す。  
マジック状態符号化器７００は、初期化部７０１、マジック状態符号化部７０２、検証部７０３、エラー検出部７０４を含んでいる。
【００３２】
初期化部７０１は、１個の量子ビット（以下、第９量子ビットとする）をマジック状態に初期化し、３個の量子ビット（以下、第１０量子ビット，第１１量子ビット，第１２量子ビットとする）をプラス状態に初期化し、３個の量子ビット（以下、第１３量子ビット，第１４量子ビット，第１５量子ビットとする）をゼロ状態に初期化し、２個の量子ビット（以下、第１６量子ビット，第１７量子ビットとする）をベル状態（｜０＞｜０＞+｜１＞｜１＞）に初期化する。
【００３３】
マジック状態符号化部７０２は、第９乃至第１５量子ビットに対して量子ゲート操作を行い、それら量子ビットをSteane符号の符号化マジック状態にする。
【００３４】
検証部７０３は、第１６または第１７量子ビットを制御ビットとし、第９乃至第１５量子ビットのいずれかを標的ビットとする複数の制御アダマールゲートを実行した後、第１６及び第１７量子ビットにベル測定を行い、測定結果がともに０なら受理と判定し、そうでなければ却下と判定する。
【００３５】
エラー検出部７０４は、第９乃至第１５量子ビットに対するエラー検出を行う。
【００３６】
最後に、Steane符号を用いた量子計算機について図８を参照して説明する。  
量子計算機に必要な処理は、ゼロ状態の生成、｛｜０＞，｜１＞｝基底の測定、Cliffordゲート（パウリゲート、アダマールゲート、制御ＮＯＴゲート、位相ゲートからなる）、non-Cliffordゲート（π／８ゲート、または、トフォリゲート）である。このうち、ゼロ状態の生成は本実施形態のゼロ状態符号化器５００で効率的によって実現される。また、Steane符号では、｛｜０＞，｜１＞｝基底の測定とCliffordゲートはtransversalに実装できるため、容易に実現される。残るnon-Cliffordゲート（π／８ゲート）は、上記のマジック状態を用いて実現できることが知られている（H. Goto, Sci. Rep. 4, 7501 (2014)）。上記のように、マジック状態符号化器７００は、Steane符号に対する効率的なマジック状態生成法を実現できる。これと本実施形態のゼロ状態符号化器を組み合わせることで、効率的なフォールトトレラントの量子計算機８００となる。
【００３７】
本実施形態の量子計算機８００は、ゼロ状態符号化器５００、計算部８０１、ビット読み出し部８０４を含んでいる。計算部８０１は、Cliffordゲート部８０２とNon-Cliffordゲート部８０３とからなる。さらにNon-Cliffordゲート部８０３は、マジック状態符号化器７００を含んでいる。
【００３８】
計算部８０１は、ゼロ状態符号化器５００から、Steane符号で符号化されたゼロ状態が入力され、Cliffordゲート部８０２及びNon-Cliffordゲート部８０３のゲートで計算を行う。
【００３９】
ビット読み出し部８０４は、計算部８０１から出力された量子ビットの値を読み出し、計算結果を得る。
【００４０】
本実施形態の量子エラー訂正符号化器によれば、従来に比べて少ない計算リソースを用いて、Steane符号で符号化されたゼロ状態をフォールトトレラントに生成できる。その結果、本実施形態の量子計算機は、Steane符号を用いたフォールトトレラント量子計算の性能を向上させることができる。
【実施例】
【００４１】
本実施形態の量子エラー訂正符号化器の性能を確認するために、具体的なエラーモデルを用いて数値シミュレーションを行った結果を以下に示す。エラーモデルとして、物理的制御ＮＯＴゲートにのみエラーがあるとするモデルを用いる（H. Goto et al., Sci. Rep. 4, 7501 (2014)）。このエラー確率をpCNOTと表す。
【００４２】
（第１実施例）  
Steane符号で符号化されたベル状態の計算リソースとエラー確率を数値シミュレーションで求めた結果を図９に示す。ベル状態は２つのゼロ状態を生成した後、一方にアダマールゲートを行い、その後制御ＮＯＴゲートを行って生成する。アダマールゲート及び制御ＮＯＴゲートはtransversalに実行する。ベル状態のエラーは、２つの符号化量子ビットを｛｜０＞，｜１＞｝基底で測定し、ともに０、または、ともに１であればエラーなし、そうでなければエラーあり、と定義する。符号化ゼロ状態の生成において、従来の符号化器は図１または図２に示したものを、本実施形態の符号化器は図４及び図５に示したものを用いる。計算リソースは、符号化ベル状態の生成に利用した物理的な量子ビットの総数の平均値を用いた。
【００４３】
まず、エラー確率はいずれも同程度で、すべてpCNOTの２乗に比例しており、フォールトトレラントな符号化になっていることがわかる。一方、計算リソースに関しては、本実施形態の符号化器のリソースが、従来の符号化器のものに比べて明らかに小さい。よって、計算リソース低減という本発明の目的が達成されている。図９において、pCNOT が大きくなるとともに計算リソースが大きくなるのは、エラーが検出されたことによるやり直しのためである。本実施形態の符号化器の計算リソースの傾きが他の２つよりも小さいことから、このやり直しによる増大も小さいことがわかる。
【００４４】
（第２実施例）  
図６及び図７に示したマジック状態生成器を用いて生成された、Steane符号で符号化されたマジック状態の計算リソースとエラー確率を数値シミュレーションで求めた結果を図１０に示す。図６のエラー検出器ＥＤは、Steane符号を用いたエラー検出テレポーテーションで実装した。
【００４５】
まず、エラー確率はpCNOT の２乗に比例しており、フォールトトレラントな符号化になっていることがわかる。一方、計算リソースは、pCNOTが十分小さいとき、量子ビット数は２５個である。（エラー検出テレポーテーションに１６個要する。）これは、従来方法に比べて少ない。（例えばP. Aliferis et al., Quant. Inf. Comput. 6, 97 (2006)の図１３の方法では、少なくとも７９個必要。）
以上の実施例で分かるように、本実施形態の量子エラー訂正符号化器、及びマジック状態生成器を用いた量子計算機は、従来よりも優れていることが分かる。
【００４６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４７】
５００…ゼロ状態符号化器、５０１…初期化部、５０２…ゼロ状態符号化部、５０３…検証部、７００…マジック状態符号化器、７０１…初期化部、７０２…マジック状態符号化部、７０３…検証部、７０４…エラー検出部、８００…量子計算機、８０１…計算部、８０２…Cliffordゲート部、８０３…Non-Cliffordゲート部、８０４…ビット読み出し部。
【図１】
2017022677.tif 000004
【図２】
2017022677.tif 000005
【図３】
2017022677.tif 000006
【図４】
2017022677.tif 000007
【図５】
2017022677.tif 000008
【図６】
2017022677.tif 000009
【図７】
2017022677.tif 000010
【図８】
2017022677.tif 000011
【図９】
2017022677.tif 000012
【図１０】
2017022677.tif 000013