(57)【特許請求の範囲】
【請求項１】
少なくとも１つの高忠実度リソース状態を生成する方法であって、
古典的コードを選択するステップであって、前記古典的コードと関連付けられたコードワードのすべてが０  ｍｏｄ  ２ｇの重みを有し、ここで、ｇは、２の正の整数乗である、前記選択するステップと、
ジェネレータの第１の組が、０  ｍｏｄ  ２ｇの重みを保持し、且つ、ジェネレータの第２の組が、２ｇ−１  ｍｏｄ  ２ｇの重みを有するように、前記古典的コードをパンクチャするステップと、
前記ジェネレータの第１の組をスタビライザジェネレータの組に対してマッピングするステップと、
前記ジェネレータの第２の組を論理的演算子の組に対してマッピングするステップと、
複数の物理的キュービット内において相対的に低忠実度のリソース状態の組を生成するステップと、
前記スタビライザジェネレータの組及び前記論理的演算子の組によって表される量子コードに従って、前記物理的キュービットに対してデコーディングプロセスを実行するステップと、
計測値の組を提供するべく、その値が前記量子コードのスタビライザに対応している計測を前記物理的キュービットの組に対して実行するステップと、
を含む方法。
【請求項２】
２ｇは、８に等しく、且つ、前記古典的コードを選択するステップは、次の形態の（ｍ＋１）×４ｍジェネレータ行列を有する古典的コードを選択するステップを有し、
【数１】
0005898387.tif 000012
ここで、Ｐは、ｍビットパリティコードのジェネレータの行列であり、Ｒは、ｍ個の１のベクトルであり、０は、ｍ個の０のベクトルであり、且つ、ｍは、４の倍数である、請求項１に記載の方法。
【請求項３】
前記古典的コードをパンクチャするステップは、最初のｍ−２ビットにおいて前記古典的コードをパンクチャするステップを含む、請求項２に記載の方法。
【請求項４】
２ｇは、８に等しく、且つ、前記古典的コードを選択するステップは、次の形態のジェネレータ行列を有する古典的コードを選択するステップを含み、
【数２】
0005898387.tif 000013
ここで、Ｄは、二重偶コードのジェネレータの行列であり、Ｒは、ｍ個の１のベクトルであり、且つ、０は、ｍ個の０のベクトルであり、且つ、ｍは、８の倍数である、請求項１に記載の方法。
【請求項５】
相対的に低忠実度のマジック状態の組を生成するステップは、一連のゲートを介してパンクチャされた古典的コードによって前記複数の物理的キュービットをエンコーディングするステップを含む、請求項１に記載の方法。
【請求項６】
相対的に低忠実度のマジック状態の組を生成するステップは、前記複数の物理的キュービットにまたがって横断的な回転を適用するステップを更に含む、請求項５に記載の方法。
【請求項７】
Ｚタイプのスタビライザジェネレータに対応する前記計測値の組の第１の正確な一部に従って、複数の計測されていない物理的キュービットのうちの少なくとも１つに対して条件付き訂正を提供するステップを更に含む請求項１に記載の方法。
【請求項８】
前記条件付き訂正は、前記複数の計測されていない物理的キュービットの前記少なくとも１つに対して適用される少なくとも１つのクリフォードゲートを含む、請求項７に記載の方法。
【請求項９】
前記計測値の組は、Ｘタイプのスタビライザジェネレータに対応する、計測値の第１の正確な一部及び計測値の第２の正確な一部を有し、
前記方法は、
前記計測値の前記第２の正確な一部が既定の望ましい値の組と一貫性を有していない場合に、前記複数の計測されていない物理的キュービット内に保存されている状態を破棄するステップと、
前記計測値の前記第２の正確な一部の全てが前記既定の望ましい値の組と一貫性を有している場合に、前記複数の計測されていない物理的キュービット内に保存されている前記状態を高忠実度リソース状態として受け入れるステップと、
を更に含む請求項７に記載の方法。
【請求項１０】
前記計測値の前記第１の正確な一部は、第１計測基底において前記複数の物理的キュービットの物理的キュービットの第１の組を計測することにより、取得され、且つ、前記計測値の第２の組は、前記第１計測基底とは異なる第２計測基底において物理的キュービットの第２の組を計測することにより、取得される、請求項９に記載の方法。
【請求項１１】
前記少なくとも１つの高忠実度リソース状態及び前記相対的に低忠実度のリソース状態の組のそれぞれは、ハダマード演算子の＋１固有状態と等価であるマジック状態を有する、請求項１に記載の方法。
【請求項１２】
複数の相対的に低忠実度のリソース状態から少なくとも１つの高忠実度リソース状態を生成するシステムであって、
パンクチャされた古典的コードに従って、論理的キュービットの組を複数の物理的キュービットにエンコーディングするエンコーディング回路と、
π／ｇのブロッホ球の軸を中心としてそれぞれの物理的キュービット内に保存されている状態に回転を適用するべく、前記相対的に低忠実度のリソース状態を消費する回転コンポーネントであって、ｇは、２の正の整数乗である、前記回転コンポーネントと、
前記複数の物理的キュービットの適切な一部内に保存された前記論理的キュービットの組を提供するべく、前記物理的キュービット内に保存され回転された論理状態をデコーディングするデコーディング回路であって、前記論理的キュービットの組の少なくとも１つは、高忠実度のマジック状態を有する、前記デコーディング回路と、
を備えるシステム。
【請求項１３】
前記エンコーディング回路は、前記複数の物理的キュービットを、スタビライザジェネレータの組と関連付けられた重ね合わせ及び前記パンクチャされた古典的コードと関連付けられたＸタイプの論理的パウリ演算子を有する状態に、配置するように構成された一連の２キュービットゲートを含む、請求項１２に記載のシステム。
【請求項１４】
前記デコーディング回路は、前記エンコーディング回路のものとは逆の順序で実行される前記一連の２キュービットゲートを含む、請求項１３に記載のシステム。
【請求項１５】
前記一連の２キュービットゲートは、一連の制御ＮＯＴ（ＣＮＯＴ）ゲートを含む、請求項１３に記載のシステム。
【請求項１６】
前記回転コンポーネントは、物理的キュービットごとに、
前記物理的キュービット内に保存された前記状態を前記回転によって消費される前記相対的に低忠実度のリソース状態とエンタングルさせるように構成された２キュービットゲートであって、前記相対的に低忠実度のリソース状態は、補助キュービット内に保存される、前記２キュービットゲートと、
計測値を提供するべく、前記物理的キュービットを計測するように構成された計測アセンブリと、
前記計測値が望ましい値をとっている場合に、前記補助キュービット内に保存された前記状態が、π／ｇだけ前記ブロッホ球の前記軸を中心として回転された前記物理的キュービット内に保存された前記状態を表すように、２π／ｇの前記ブロッホ球の前記軸を中心とした前記補助キュービット内に保存された前記状態に対する回転を適用するように構成された条件付き回転ゲートと、
を含む、請求項１２に記載のシステム。
【請求項１７】
クリフォードゲートの組の少なくとも１つの高忠実度マジック状態を生成するシステムであって、
｜ｅｉπ／４＞に等価である相対的に低忠実度の状態をそれぞれが保存する複数の物理的キュービットと、
デコーダであって、
０  ｍｏｄ  ８の重みを有するコードワードの第１の組及び７  ｍｏｄ  ８の重みを有するコードワードの第２の組を有するパンクチャされた古典的コードから導出された量子コードに従ってＺタイプスタビライザジェネレータに対応する複数の物理的キュービットの第１の正確な一部を提供するべく、前記物理的キュービット内に保存された前記状態をデコーディングする第１の複数の量子ゲートと
計測値の第１の組を提供するべく、Ｚタイプのスタビライザジェネレータに対応する前記複数の物理的キュービットの第１の正確な一部を計測する第１の複数の計測アセンブリと、
を含む前記デコーダと、
訂正コンポーネントであって、
前記計測値の第１の組に従って、前記第１の正確な一部の部分ではない少なくとも１つの物理的キュービット内に保存された状態に対して、関連付けられた動作を条件付きで適用するようにそれぞれが構成された第２の複数の量子ゲートと、
訂正の後に、Ｘタイプのスタビライザジェネレータに対応する複数の物理的キュービットの第２の正確な一部を計測する計測アセンブリの第２の組と、
を含む前記訂正コンポーネントと、
を備えるシステム。
【請求項１８】
前記計測アセンブリの第１の組は、標準基底内のＺタイプのスタビライザジェネレータに対応する前記複数の物理的キュービットの前記第１の正確な一部を計測するように構成されており、且つ、前記計測アセンブリの第２の組は、符号基底及びＹ基底のうちの１つの内部のＸタイプのスタビライザジェネレータに対応する前記複数の物理的キュービットの第２の正確な一部を計測するように構成されている、請求項１７に記載のシステム。
【請求項１９】
前記符号基底及び前記Ｙ基底のうちの前記１つは、前記計測値の第１の組に従って選択される、請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は量子演算に関し、より詳しくは、効率的なリソース状態の蒸留方法に関する。
【背景技術】
【０００２】
古典的コンピュータは、古典物理学の法則に従う情報のビット（２進数）を処理することにより、動作する。ビットは、論理１（例えば、高エネルギー）又は論理０（例えば、低エネルギー）のいずれかに対応する高又は低エネルギーレベルによって物理的に表現される。これらの情報ビットに対する変換は、ＡＮＤ及びＯＲゲートなどの単純な古典的論理ゲートを使用することにより、表現することができる。２つの整数を乗算するものなどの古典的アルゴリズムは、これらの単純な論理ゲートの長いストリングに分解することができる。古典的コンピュータと同様に、量子コンピュータも、ビット及びゲートを有する。排他的に論理１及び０を保存する代わりに、量子ビット（「キュービット」）は、ある意味において、１つのキュービットが同時に両方の古典的状態にあることを許容する２の任意の量子機械的重ね合わせを保存することができる。この能力によれば、このような重ね合わせの生成を許容する量子ゲートと結合された状態で、量子コンピュータは、古典的コンピュータのものよりも飛躍的に大きな効率により、特定の問題を解決することができる。
【発明の概要】
【課題を解決するための手段】
【０００３】
本発明の一態様によれば、少なくとも１つの高忠実度リソース状態を生成する方法が提供され、この場合に、状態は、ある角度π／ｇだけの回転を実装するためのリソースである。コードと関連付けられたコードワードのすべてが０  ｍｏｄ  ２ｇの重みを有する古典的コードが選択され、この場合に、ｇは、２の正の整数乗である。古典的コードは、コードワードの第１の組が０  ｍｏｄ  ２ｇの重みを保持し、且つ、コードワードの第２の組が２ｇ−１  ｍｏｄ  ２ｇの重みを有するように、パンクチャされる。コードワードの第１の組は、スタビライザジェネレータの組に対してマッピングされ、且つ、コードワードの第２の組は、論理的演算子の組に対してマッピングされる。複数の物理的キュービット内において相対的に低忠実度のリソース状態の組が生成される。スタビライザジェネレータの組及び論理的演算子の組によって表される量子コードに従って、相対的に低忠実度のリソース状態の組に対してデコーディングプロセスが実行される。Ｚスタビライザに対応する（デコーディング後の）物理的キュービットのそれぞれが計測され、且つ、この結果を使用し、Ｘスタビライザに対応するものの計測の前に、その他のキュービットに対して実施する訂正を判定する。
【０００４】
本発明の別の態様によれば、複数の相対的に低忠実度のリソース状態から少なくとも１つの高忠実度リソース状態を生成するシステムが提供される。エンコーディング回路が、パンクチャされた古典的コードに従って、論理的キュービットの組を複数の物理的キュービットにエンコーディングする。回転コンポーネントは、π／ｇのブロッホ球の軸を中心としたそれぞれの物理的キュービット内に保存された状態に対する回転を適用するべく、相対的に低忠実度のリソース状態σを消費し、この場合に、ｇは、２の正の整数乗であり、この結果、回転が論理的キュービットに対して適用される。デコーディング回路は、物理的キュービット内に保存された回転された論理的状態をデコーディングして、複数の物理的キュービットの適切な一部内に保存された論理的キュービットの組を提供し、論理的キュービットの組の少なくとも１つは、高忠実度リソース状態を有する。
【０００５】
本発明の更に別の態様によれば、クリフォードゲートの組の少なくとも１つの高忠実度マジック状態を生成するシステムが提供される。複数の物理的キュービットは、それぞれ、｜ｅｉπ／４＞を近似する相対的に低忠実度の状態を保存する。デコーダは、０  ｍｏｄ  ８の重みを有するコードワードの第１の組及び７  ｍｏｄ  ８の重みを有するコードワードの第２の組を有するパンクチャされた古典的コードから導出された量子コードに対応する物理的キュービット上に単体デコーダを実装する第１の複数の量子ゲートを含む。デコーダは、複数の物理的キュービットを計測する第１の複数の計測アセンブリを更に含む。訂正コンポーネントは、計測値の第１の組に従って、計測されていない物理的キュービットの１つの内部に保存された状態に対して、関連付けられた演算を条件付きで適用するようにそれぞれが構成された第２の複数の量子ゲートと、計測されていないキュービットの少なくとも１つを計測するための計測アセンブリの第２の組と、を含む。
【図面の簡単な説明】
【０００６】
【図１】本発明の一態様による複数の相対的に低忠実度のリソース状態から少なくとも１つの高忠実度リソース状態を生成するシステムの一例を示す。
【図２】本発明の一態様によるマジック状態の蒸留を実行する量子回路としての図１のシステムの一実装形態を示す。
【図３】生成された｜ｅｉπ／ｇ＞補助状態を使用してπ／ｇのＺ回転を実行するべく、図２の回転コンポーネント内において使用されてもよい１つの回路を示す。
【図４】本発明の一態様による複数の相対的に低忠実度のマジック状態からクリフォードゲートの組の少なくとも１つの高忠実度マジック状態を生成するシステムの別の例を示す。
【図５】本発明の一態様によるマジック状態の蒸留を実行する量子回路としての図４のシステムの一実装形態を示す。
【図６】少なくとも１つの高忠実度リソース状態を生成する第１の方法を示す。
【図７】少なくとも１つの高忠実度リソース状態を生成する第２の方法を示す。
【発明を実施するための形態】
【０００７】
本発明の一態様によれば、複数の相対的に低忠実度のリソース状態からの高忠実度リソース状態の蒸留を提供するべく、一群のルーチンが提供される。具体的には、本明細書に記述されているシステム及び方法は、蒸留がより大きな数の入力低忠実度状態に対してスケーリングされるのに伴って、３に接近する、状態オーバーヘッド、即ち、改善された忠実度の出力状態の数に対する低忠実度入力状態の数の比率を実現する、向上した効率性を有する二次誤り抑制を生成する。
【０００８】
キュービット状態の標準基底（ｓｔａｎｄａｒｄ  ｂａｓｉｓ）は、｜０＞として本明細書において表記されるゼロ状態と、ゼロ状態に直交すると共に｜１＞として本明細書において表記される１状態と、を含む。符号基底（ｓｉｇｎ  ｂａｓｉｓ）は、
【０００９】
【数１】
0005898387.tif 000002
として標準基底において定義されるプラス状態｜＋＞と、
【００１０】
【数２】
0005898387.tif 000003
として標準基底において定義されるマイナス状態｜−＞と、を含む。Ｙ基底は、
【００１１】
【数３】
0005898387.tif 000004
として標準基底において定義される＋１状態｜Ｙ＋＞と、
【００１２】
【数４】
0005898387.tif 000005
として標準基底において定義される−１状態｜Ｙ−＞と、を含む。
【００１３】
本明細書において使用されるユニバーサル量子ゲートの組というフレーズは、量子コンピュータ上において可能である任意の演算が低減されうる、即ち、任意のその他の単体演算が、その組からのゲートの有限のシーケンスとして（ある程度の任意の精度に）近似されうる、量子ゲートの任意の組である。逆に、ゲートの非ユニバーサルな組とは、この特性を欠いた量子ゲートの組を意味している。ゲートの非ユニバーサルな組の一例は、クリフォードゲートの組である。本明細書において使用されるクリフォードゲートの組は、パウリ演算子のそれぞれを実行するゲート、制御ｎｏｔ（ｃｏｎｔｒｏｌｌｅｄ  ｎｏｔ：ＣＮＯＴ）ゲート、ハダマードゲート、及びπ／２のＺ回転ゲート、標準基底のグランド状態に対する高忠実度初期化、並びに、標準基底、符号基底、及びＹ基底におけるキュービット状態を計測する計測アセンブリを含むものと定義される。
【００１４】
本明細書において使用される「リソース状態」とは、その組に含まれていない量子演算を、又はその組を使用した生成に好都合ではない量子演算さえも提供するべく、所与のゲートの組と共に使用されうる量子状態である。リソース状態を構成するものは、所与のゲートの組に伴って変化することを理解されたい。本明細書において使用される「マジック状態」とは、任意の量子演算を提供するべく、クリフォードゲートの組と共に使用されうると共に、クリフォードゲートの組からのゲートを使用して構築された回路によって忠実度が改善されうる量子状態である。事実上、クリフォードゲートと共に、所与のマジック状態を、又はむしろ、そのマジック状態の有限数のインスタンスを使用することにより、ユニバーサルな量子演算が可能になる。
【００１５】
本明細書において使用される「蒸留」とは、より高い忠実度を有する所与の状態をとるキュービットのより小さな組を生成するように、所与の状態のキュービットの組を確率論的に変換するプロセスを意味している。量子情報理論においては、忠実度は、２つの量子状態の「密接度」の尺度である。本明細書において使用される忠実度とは、望ましい理想的な状態に対する状態の所与のインスタンスの密接度を意味している。「低忠実度状態」とは、量子演算に使用するのに望ましい忠実度のレベル未満であるが、蒸留プロセスに必要とされる最小限の忠実度を上回る状態を意味している。本発明の一態様によれば、リソース状態は、状態蒸留の反復的な適用を介して任意の忠実度のレベルに改善することができる。
【００１６】
古典的な誤り訂正コードは、いずれの誤りが、エンコーディングされた状態を破壊するのかを診断するべく、シンドローム計測を使用している。量子誤り訂正も、エンコーディングされた状態における量子情報を妨げないが、誤りに関する情報を取得するマルチキュービット計測を実行することにより、シンドローム計測を利用している。シンドローム計測は、キュービットが破壊されたかどうかを判定することが可能であり、且つ、破壊されている場合には、いずれのものが破壊されているのかを判定することができる。実際に、この動作の結果は、いずれの物理的キュービットが影響を受けたのかのみならず、いくつかの可能な方式のうちのいずれにおいて、その物理的キュービットが影響を受けたのかをも、通知することができる。大部分のコードにおいて、誤りは、ビットフリップ内に、若しくは（フェーズの）符号フリップ内に、又は（パウリ行列Ｘ、Ｚ、及びＹに対応する）これらの両方内に、投影される。物理的キュービットが、本明細書において量子コードと呼称されるマルチキュービットのパウリ演算子の集合体の固有状態となるように、エンコーディングを使用することにより、論理的キュービットと呼称されるキュービットのグループと関連付けられた情報を物理的キュービットのより大きなグループ上に拡散させる。ＣＳＳ量子コードとは、コードを定義するマルチキュービットパウリ演算子の基底が、そのそれぞれが単一のキュービットパウリ演算子Ｘ及びＩ又は単一のキュービットパウリ演算子Ｚ及びＩのみから構成されるマルチキュービットパウリ演算子を使用することによって表現されうる、量子コードである。
【００１７】
図１は、本発明の一態様による複数の相対的に低忠実度のリソース状態１２から少なくとも１つの高忠実度リソース状態を生成するシステム１０の一例を示している。システム１０は、論理的キュービットの組を物理的キュービット１４〜１７のより大きな組上にエンコーディングするべく、ＣＳＳ量子コードを利用している。このコードは、それぞれの論理的キュービットに対するエンコーディングされた−π／ｇの回転が、物理的キュービットのそれぞれに対するπ／ｇの回転の横断的な適用を介して実装されうるという特性を有するように、選択されており、ここで、ｇは、２の正の整数乗である。これを目的として、物理的キュービット１４〜１７のそれぞれは、π／ｇの回転を含まないゲートの組を介して高忠実度を有するように生成されうる状態を有するように生成される。
【００１８】
エンコーディング回路２２は、望ましい特性を有するパンクチャされた古典的コードに従って、論理的キュービットの組を複数の物理的キュービット１４〜１７にエンコーディングしている。古典的コードワードの第１の組は、量子コードのスタビライザを表すことが可能であり、且つ、古典的コードワードの第２の組は、論理的演算子を表すことができることを理解されたい。具体的には、本発明者は、コードワードのそれぞれが０  ｍｏｄ  ２ｇの重みを有する古典的コードが、−π／ｇの横断的な回転を適用する際に使用するのに適していることを見出した。このようなコードは、望ましい誤り抑制の程度（例えば、二次、三次、四次など）を提供するべく、選択し、且つ、適切にパンクチャすることができる。
【００１９】
回転コンポーネント２４は、ブロッホ球の軸を中心として物理的キュービット１４〜１７内に保存されている状態のそれぞれに対して回転を適用する。具体的には、π／ｇの回転が提供される。回転要素２４は、横断的な回転を提供するべく、複数の低忠実度リソース状態を消費することを理解されたい。一実装形態において、この回転は、ブロッホ球のＺ軸を中心として実行されている。回転コンポーネント内において使用されてもよい量子回路の一例が、以下の図３に提供される。
【００２０】
デコーダ２６は、論理的キュービットの組を提供するべく、物理的キュービット１４〜１７内に保存されている状態をデコーディングしている。デコーディングプロセスの一部として、（単一のデコーディングの後に）スタビライザのうちの１つを表す物理的キュービットのそれぞれが、計測基底において計測される。スタビライザと関連付けられた計測値が望ましいものになっている場合には、残りのキュービットは、回転コンポーネント２４において消費された状態のものよりも大きな忠実度を有するリソース状態として、保持される。計測値の第２の組のうちの１つ又は複数が正しい値をとらない場合には、残りのキュービットを訂正又は破棄することができる。
【００２１】
図２は、本発明の一態様に従ってマジック状態蒸留を実行する量子回路３０としての図１のシステムの一実装形態を示している。図示の実装形態において、マジック状態とは、ハダマード演算子の＋１固有状態と等価である一群の状態のうちの１つである。「等価」とは、それぞれの状態が、１キュービットのクリフォード単体演算子を介して、その他のものから導出されうることを意味している。この例における特定のマジック状態は、｜０＞＋ｅｉπ／４｜１＞として標準基底において表される｜ｅｉπ／４＞である。量子回路は、論理的キュービットを表す物理的キュービット３４〜３６、４１、及び４５内に保存されているプラス状態の５個のコピー及び０状態の９つのコピーのみならず、｜ｅｉπ／４＞状態の１４個のコピーをも含む高忠実度の初期状態の組を保存する１４個のキュービット３２〜４５を使用している。高忠実度の状態のそれぞれは、標準基底におけるグランド（０）状態へのキュービットの初期化を介して、又は、プラス状態を提供するべく初期化されたそのようなキュービットに対するハダマードゲート演算を介して、生成されうることを理解されたい。
【００２２】
高忠実度の初期状態の組のそれぞれは、論理的キュービットのそれぞれに対するエンコーディングされた−π／４のＺ回転が、キュービットのすべてにまたがる横断的なπ／４のＺ回転を介して実行されうるという特性を有するＣＣＳ量子コードによって初期状態の組内において表された１４個の物理的キュービットをエンコーディングするべく、エンコーディングコンポーネント４６に適用される。一般に、ＣＣＳ量子コードは、望ましい特性を有する古典的コードをパンクチャすると共にパンクチャされたコード内のコードワードのジェネレータを量子コード内のスタビライザジェネレータ及び論理的演算子に対してマッピングすることにより、生成される。この例においては、パンクチャされていないジェネレータの第１の組は、Ｘタイプのスタビライザを表すことが可能であり、且つ、パンクチャされたジェネレータの第２の組は、Ｘタイプの論理的パウリ演算子を表すことができる。図示の実施形態においては、エンコーディングは、一連の制御ＮＯＴ（ＣＮＯＴ）ゲートを介して実行されるが、エンコーディングは、クリフォードゲートの任意の適切な組を介して実行することも可能であることを理解されたい。
【００２３】
図示の実装形態においては、古典的コードは、コードワードのすべてが重み０（ｍｏｄ  ８）を有するように、選択されている。パンクチャは、ジェネレータが、１の値を有する複数のビットを失うことがなく、且つ、パンクチャされていないジェネレータが残りのビットをカバーするように、構成されている。蒸留は、パンクチャされていないジェネレータが（単位行列Ｉに対して０を、且つ、パウリＸ演算子Ｘに対して１を、マッピングする状態で）Ｘタイプのスタビライザであり、且つ、パンクチャされたジェネレータがＸタイプの論理的パウリ演算子であると解釈することにより、実行することができる。又、単一キュービットのクリフォード演算において等価であるスタビライザジェネレータ及び論理的演算子に対するコードワードの任意のその他のマッピングも、利用されうることを理解されたい。図２の例において、使用されている古典的コードは、５のレートと、１６の長さと、を有する１次リードミュラーコードである。リードミュラーコード用のジェネレータ行列は、次のように表すことができる。
【００２４】
【数５】
0005898387.tif 000006
図示の実装形態において、コードは、二重にパンクチャされ、これにより、次のように表現可能な二重にパンクチャされたコード用のジェネレータ行列が得られる。
【００２５】
【数６】
0005898387.tif 000007
パンクチャされたコードにおいて、最初の２つのコードワードの重みは、重み７  ｍｏｄ  ８に低減されている一方、最後の３つのコードワードの重みは、影響を受けないことを理解されたい。従って、量子回路用のスタビライザジェネレータは、次のように表すことができる。
【００２６】
【数７】
0005898387.tif 000008
Ｘタイプの論理的パウリ演算子は、次式のように表すことができる。
【００２７】
【数８】
0005898387.tif 000009
エンコーディングコンポーネント４６の効果は、高忠実度の初期状態を保存するキュービットを、スタビライザジェネレータ及びＸタイプの論理的パウリ演算子と関連付けられた重ね合わせを有する状態に、配置するというものである。本発明の一態様によれば、回転コンポーネント４８は、複数のキュービットにまたがって横断的に回転を適用するべく、１４個の生成された低忠実度の｜ｅｉπ／４＞状態を消費する。図２の回路において、回転は、π／４のＺ回転である。
【００２８】
図２のπ／４のＺ回転は、より一般的な種類のπ／ｇのＺ回転の特殊なケースに過ぎないことを理解されたい。図３は、生成された｜ｅｉπ／ｇ＞補助状態を使用してπ／ｇのＺ回転を実行するべく、図２の回転コンポーネント４８内において使用されてもよい１つの回路６０を示している。回路６０は、ターゲットキュービット６２と、｜ｅｉπ／ｇ＞補助状態を保存する補助キュービット６４と、を含む。制御ｎｏｔ（ＣＮＯＴ）ゲート６６は、ターゲットキュービット６２に対して実行され、且つ、補助キュービット６４により、制御されている。次いで、ターゲットキュービット６２は、標準基底においてターゲットキュービットを計測する計測アセンブリ６８において計測される。回転コンポーネント７０は、ターゲットキュービットの計測に基づいて、２π／ｇのＺ回転を補助キュービット６４に対して条件付きで適用する。具体的には、Ｘゲートによって後続される２π／ｇのＺ回転は、ターゲットキュービットが励起された（即ち、「１」の）状態にあると計測された場合にのみ、適用される。ｇのいくつかの値（例えば、４の倍数）の場合には、回転コンポーネントは、クリフォードゲートになることを理解されたい。その他の場合には、クリフォードゲートを使用して回転を実装するべく、追加リソース状態が必要でありうる。条件付き回転の後に、補助キュービット６４は、π／ｇの回転が適用されたターゲットキュービット６２の状態を表す状態となる。
【００２９】
図２を再度参照すれば、回転された状態は、次いで、量子コードを有する物理的キュービット３２〜４５から論理的キュービットを取得するデコーディングコンポーネント５０に提供される。図示の実装形態においては、デコーディングコンポーネント５０は、エンコーディングコンポーネント４６のものに類似した、但し、逆の順序で実装されたＣＮＯＴゲートの組を利用している。デコーディングの後に、Ｚタイプのスタビライザに対応する物理的キュービットのそれぞれ（Ｚタイプスタビライザは、グランド状態において始まる物理的キュービット３２、３３、３７〜４０、及び４２〜４４に対応している）は、標準（Ｚ）基底において計測される。Ｘタイプのスタビライザに対応する物理的キュービットのそれぞれ（Ｘタイプのスタビライザは、物理的キュービット３６、４１、及び４５に対応している）は、符号（Ｘ）基底において計測される。これらの計測された値の任意のものが予想値ではない場合には、誤りが蒸留プロセスにおいて発生したと仮定することが可能であり、且つ、残りの物理的キュービット３４及び３５内に保存されている状態を破棄することができる。計測値のすべてが予想値を提供している場合には、残りの物理的キュービット３４及び３５内に保存されている状態は、回転要素４８において消費されたリソース状態と比べた場合に、向上した忠実度を有するリソース状態となる。
【００３０】
本発明者は、本発明のシステム及び方法は、そのコードワードが、いずれも、重み０  ｍｏｄ  ２ｇを有する古典的コードを使用することにより、｜ｅｉπ／ｇ＞用の蒸留ルーチンのために一般化可能であると判定した。π／ｇのＺ回転において使用される｜ｅｉπ／ｇ＞状態の直接的な蒸留は、π／４のＺ回転及びハダマードゲートを使用したπ／ｇのＺ回転の生成よりも、リソースの観点において格段に効率的であることが明らかとなりうる。
【００３１】
｜ｅ−ｉπ／ｇ＞状態のそれぞれの出力コピー当たりの｜ｅｉπ／ｇ＞状態の入力コピーの数は、リソース状態蒸留ルーチンの効率の尺度と見なしてもよい。本明細書において、状態オーバーヘッドと呼称されるこの測定基準により、本発明の時点における出力誤り確率の二次低減を実現するための最良の既存のマジック状態蒸留ルーチンは、出力状態当たり５入力状態のオーバーヘッドを有していた。図２及び図４に示されている例示用の蒸留回路は、出力状態当たり７入力状態というオーバーヘッドを有しているが、この同一の技法を使用し、出力状態当たり３入力状態というオーバーヘッドの近傍に任意に接近することができる。
【００３２】
図２及び図４の横断的な回転技法の一般的な実装形態は、ｍビットパリティコードを４ビット反復コードと連結することによって形成された古典的コードによって始まるステップであって、ここで、ｍは、４の倍数である、ステップと、次いで、４ビットパリティコードと連結されたｍビット反復コードの独立的なジェネレータによってコードを拡大するステップと、により実行することができる。換言すれば、この方法は、その（ｍ＋１）×４ｍジェネレータ行列が次の形態を有する古典的コードによって始まる。
【００３３】
【数９】
0005898387.tif 000010
ここで、Ｐは、ｍビットパリティコードのジェネレータの行列であり、Ｒは、ｍ個の１のベクトルであり、０は、ｍ個の０のベクトルであり、且つ、ｍは、４の倍数である。
【００３４】
コードは、最初のｍ−２ビットにおいてパンクチャされ、且つ、パンクチャされたジェネレータは、論理的なＸ演算子を定義するべく使用され、且つ、パンクチャされていないものは、Ｘタイプのスタビライザを定義するべく、使用される。このような量子コードを使用した横断的回転蒸留は、出力状態当たり（４ｍ−（ｍ−２））／（ｍ−２）＝（３ｍ＋２）／（ｍ−２）入力状態という代償を払って、誤り確率の二次低減をもたらし、これは、大きなｍを限度として、３に接近する。但し、限界出力誤り率の係数は、ｍの増大に伴って増大することを理解されたい。
【００３５】
又、横断的回転蒸留ルーチンは、次の形態のジェネレータを有する古典的コードからも導出することができる。
【００３６】
【数１０】
0005898387.tif 000011
ここで、Ｄは、二重偶コードのジェネレータの行列であり、Ｒは、ｋ個の１のベクトルであり、０は、ｋ個の０のベクトルであり、且つ、ｋは、８の倍数である。
【００３７】
例えば、Ｄが拡張型二元ゴレイコードであると解釈すると共に１０個の座標をパンクチャすることにより、出力状態当たり３．８（３８対１０）入力状態という代償を払って、二次誤り抑制を伴う横断的回転蒸留ルーチンが得られる。この特定のケースにおいては、式５の構造は、より優れた３８対１０ルーチンを付与する。
【００３８】
又、更に大きな次数の誤り抑制を伴う横断的回転蒸留ルーチンを利用することもできる。より強力な誤り抑制を実現するための１つの方法は、式５に示されている形態の４ｍビットの古典的コードの第１項のみをパンクチャするというものであり、ここで、ｍは、４の倍数である。ｍが４に等しい際には、対応する横断的回転蒸留は、出力状態当たり１５入力状態の代償を払って、誤り確率の３次低減をもたらす。より強力な誤り抑制は、より高次のリードミュラーコードなどのより複雑な古典的コードによって開始することにより、実現することができる。例えば、（標準的なビットの順序付けの場合に）ビット１、２、３、５、９、１７、３３、及び６５において１２８ビットの二次リードミュラーコードＲＭ（２；７）をパンクチャすることにより、四次誤り抑制を伴う１２０対８蒸留ルーチンが得られる。
【００３９】
図４は、本発明の一態様による複数の相対的に低忠実度のマジック状態からクリフォードゲートの組の少なくとも１つの高忠実度マジック状態を生成するシステム１５０の別の例を示している。出力マジック状態当たりの拡張された入力マジック状態の数は、重要であるが、蒸留ルーチンの効率に関係する唯一の値ではない。マジック状態の蒸留が、多大な努力を通じて高度に安定した状態となったキュービット及びクリフォードゲートを使用して実行されると想定した場合には、蒸留ルーチン内の場所の数が、誤りが観察されないであろうようにこれらのコンポーネント内において実現しなければならない誤り率に影響を及ぼすことになる。従って、別の重要な値は、本明細書において場所オーバーヘッドと呼称される出力状態当たりの蒸留ルーチン内の場所の数である。状態及び場所オーバーヘッドは、特に、いくつかの量子演算アーキテクチャの場合に予想される状況である１回又は２回のリソース状態蒸留しか必要とされない際に、異なるルーチンを推奨する可能性がある。この結果、場所オーバーヘッドの極小化により、独立的な検討が正当化される。
【００４０】
図３の実装形態において、エンコーダは、それぞれの論理的キュービット上において｜＋＞状態しか生成する必要がないことに留意されたい。ＣＳＳコードの場合には、本発明者は、エンコーディングされた状態は、それぞれの物理的キュービット上において｜＋＞を横断的に生成し、Ｚスタビライザのそれぞれを計測し、且つ、次いで、計測結果によって示されているように訂正Ｘゲートを適用することにより、生成されうると判定した。このエンコーダは、必ずしも、直接的エンコーディングよりもコンパクトではないが、計測及び訂正を横断的な物理的なπ／４のＺ回転の右辺に移動させることができる。Ｚスタビライザ計測は、この変換により、変更されないが、訂正Ｘゲートが、訂正Ｚ（π／２）Ｘゲートに変換される。π／４のＺ回転による初期の｜＋＞生成を｜ｅｉπ／４＞状態に組み合わせることが可能であり、且つ、回路アイデンティティのシーケンスを使用し、計測を強制的に実行することが可能であり、且つ、コードサブ空間の訂正は、回路が回路内における最後の計測に直接的に着手する時点まで、回路の末尾に向かうものであってもよい。
【００４１】
この時点において、Ｚスタビライザ計測は、単に個々のキュービット上における計測であるが、訂正単体（ｃｏｒｒｅｃｔｉｎｇ  ｕｎｉｔａｒｙ）は、Ｚ（π／２）回転、制御Ｚゲート、及びＸゲートの複雑なシーケンスになっている。Ｚ固有基底において計測されるキュービットに対して作用する制御Ｚゲートは、キュービットの古典的計測結果に基づいて制御されるＺゲートによって置換することができる。Ｚ固有基底において計測されるキュービットに対して作用するＺ（π／２）回転ゲートは、影響を有しておらず、且つ、Ｘゲートは、次のＺ計測の値をわずかにフリップさせる。この結果、これらのゲート及び最終的なＺ計測は、省略することができる。更には、Ｘゲートは、Ｘ固有基底における計測の結果に対して影響を有しておらず、従って、これらの計測に直接的に先行しているＸゲートも、省略することができる。
【００４２】
この結果、図４のシステム１５０によって表される小型化された横断的生成（ｃｏｍｐａｃｔｅｄ−ｔｒａｎｓｖｅｒｓａｌ−ｐｒｅｐａｒａｔｉｏｎ：ＣＴＰ）蒸留回路へのこれらの回路の変換が完了する。具体的には、図示のシステムは、｜ｅｉπ／４＞に等価である一群の状態からの相対的に低忠実度の状態をそれぞれが保存する複数の物理的キュービット１５２〜１５５によって始まっている。「等価」とは、一群の状態のうちのそれぞれの状態が、１キュービットのクリフォード単体演算子を介して、｜ｅｉπ／４＞状態から導出されうることを意味している。
【００４３】
システム１５０は、選択された量子コードに従って、複数の物理的キュービット１５２〜１５５内に保存された低忠実度状態に対してデコーディングプロセスを適用するデコーダ１６０を含む。本発明の一態様によれば、量子コードは、０  ｍｏｄ  ８の重みを有するコードワードの第１の組と、７  ｍｏｄ  ８の重みを有するコードワードの第２の組と、を有するパンクチャされた古典的コードから導出される。「〜から導出される」とは、量子コード用のジェネレータが、標準的なマッピングプロセス（即ち、単位演算子に対するそれぞれの０ビット及びＸ演算子に対するそれぞれの１ビット）を介して、又は、それぞれのビットを表す演算子が標準的なマッピングに適用される１キュービットのクリフォード単体演算子を介して導出されうるクリフォード等価マッピングプロセスを介して、生成されたことを意味するものと理解されたい。
【００４４】
デコーダ１６０は、Ｚタイプのスタビライザジェネレータを個々の物理的キュービットにデコーディングする複数の量子ゲートを含む。デコーダ１６０は、Ｚタイプのスタビライザジェネレータに対応する（デコーディング後の）物理的キュービットを計測する複数の計測アセンブリを更に含む。これらの計測値は、例えば、関連付けられた古典的コンピュータにおける一時的ではないコンピュータ可読媒体上において、計測値の第１の組として、記録することができる。残りの物理的キュービットは、Ｚタイプのスタビライザジェネレータの計測から得られた結果によって判定される方式により、Ｘタイプのスタビライザジェネレータ及び論理的キュービットを保存する。
【００４５】
訂正コンポーネント１７０は、複数の量子ゲートを含み、このそれぞれは、計測値の第１の組に従って、計測されていない状態に留まっている物理的キュービットの適切な一部に対して、関連付けられた動作を条件付きで適用するように構成されている。「条件付きで適用する」とは、それぞれの回転ゲートが、計測値の第１の組のうちの１つ又は複数が所与の値をとる場合にのみ、関連付けられたキュービットに対して適用されることを意味している。訂正コンポーネント内のゲートは、関連付けられたコンピュータ（図示せず）及び様々な古典的制御メカニズムを介して、古典的に制御されうることを理解されたい。条件付きゲートの効果は、誤りが存在しない、望ましいマジック状態になると予想される状態に、論理的キュービットに対応する物理的キュービットの第１の組を配置するというものである。計測値の第２の組を提供するべく、量子コード内のＸタイプのスタビライザを表す残りの物理的キュービットの組を計測するように、複数の計測アセンブリが設けられる。計測値の第２の組から、システム１５０が様々なタイプの誤りのうちの１つを経験したかどうかを判定することができる。従って、計測値の第２の組が、対応する望ましい値をとっている場合には、残りのキュービットは、高忠実度マジック状態として保持される。計測値の第２の組のうちの１つ又は複数が正しい値をとらない場合には、残りのキュービットは、訂正又は破棄することができる。
【００４６】
図５は、本発明の一態様に従ってマジック状態蒸留を実行する量子回路２００としての図４のシステムの一実装形態を示している。図示の量子回路２００は、＋１ハダマード固有状態と等価である一群の状態から相対的に低忠実度のマジック状態においてそれぞれが生成された複数の物理的キュービット２０２〜２１５を含む。わかりやすくするために、この状態は、本明細書において、｜ｅｉπ／４＞状態と呼称される。Ｚタイプのスタビライザジェネレータを個々の物理的キュービットに対してデコーディングするように、デコーディングコンポーネント２２０が適用されている。マジック状態蒸留の特定の用途の場合には、量子コードは、コードワードのすべてが重み０（ｍｏｄ  ８）を有するように選択されたパンクチャされた古典的コードに基づいており、これらのパンクチャは、ジェネレータが、１の値を有する複数のビットを失うことがなく、且つ、パンクチャされていないジェネレータが残りのビットをカバーするように、構成されている。図示のデコーダ２２０においては、１次の１６ビットリードミュラーコードが利用されている。図示されているように、デコーダ２２０は、生成された状態をデコーディングするべく、この場合には、制御ＣＮＯＴゲートである一連の２キュービットゲートを利用している。
【００４７】
デコーダ２２０は、複数の計測アセンブリを含み、且つ、デコーディングプロセスの一部として、物理的キュービット２０２、２０３、２０７〜２１０、２１２〜２１４の第１の組が、標準（Ｚ）基底において計測される。これらの計測値は、計測値の第１の組として記録される。計測値の第１の組及び残りのキュービット状態は、訂正アセンブリ２３０に提供される。訂正アセンブリ２３０は、量子演算をキュービット２０４〜２０６、２１１、及び２１５の第２の組に対して条件付きで適用するべく、計測値の第１の組に従って古典的に制御される複数の量子ゲートを含む。複数の量子ゲートは、任意の適切なクリフォードゲートを含むことが可能であり、且つ、図示の例においては、Ｘゲート及び可変Ｚ回転と共に、一連の制御Ｚゲートが使用されている。
【００４８】
複数の量子ゲートのうちの所与のものが利用されるかどうかを判定すること以外に、計測値の第１の組は、それぞれのＺ回転の特定の角度のみならず、量子コードのＸタイプのスタビライザを表す物理的キュービット２０６、２１１、及び２１５のそれぞれが符号（Ｘ）基底又はＹ基底において計測されるかどうかをも判定するべく、使用される。いずれの基底が使用されるのかとは無関係に、これらの計測から導出される計測値の第２の組は、予想値の組と比較することができる。これらの計測値の任意のものが予想値であると見出されない場合には、誤りが蒸留プロセスにおいて発生したものと仮定することが可能であり、且つ、残りの（計測されていない）物理的キュービット２０４及び２０５内に保存されている状態は、破棄することができる。計測のすべてが予想値を提供している場合には、残りの物理的キュービット２０４及び２０５内に保存されている状態は、初期状態と比較した場合に向上した忠実度を有するマジック状態となる。
【００４９】
図１〜図５において上述した上記の構造的且つ機能的特徴の観点において、図６及び図７を参照することにより、例示用の方法がより良く理解されよう。説明のわかりやすさを目的として、図６及び図７の方法は、逐次的に稼働するものとして図示及び記述しているが、いくつかの動作は、その他の例においては、本明細書に図示及び記述されているものとは異なる順序で且つ／又は同時に発生しうることから、本発明は、図示の順序に限定されるものではないことを理解及び認識されたい。
【００５０】
図６は、少なくとも１つの高忠実度リソース状態を生成する方法２５０を示している。２５２において、古典的コードが選択されており、この場合に、コードと関連付けられたコードワードのすべてが、０  ｍｏｄ  ２ｇの重みを有し、ここで、ｇは、２の正の整数乗である。一実装形態において、これは、１次の１６ビットリードミュラーコードである。２５４において、コードワードの第１の組が０  ｍｏｄ  ２ｇという重みを保持し、且つ、コードワードの第２の組が２ｇ−１  ｍｏｄ  ２ｇという重みを有するように、古典的コードがパンクチャされている。一実装形態において、コードは、二重にパンクチャされ、それぞれのコードワードの最初の２つのビットが除去されている。２５６において、ジェネレータの第１の組（古典的コードの場合）が、スタビライザジェネレータの組に対してマッピングされている。２５８において、ジェネレータの第２の組が論理的演算子に対してマッピングされている。一実装形態においては、ジェネレータ及び演算子を提供するべく、コードワード内の二進の０は、単位演算子に対してマッピングされ、且つ、コードワード内の二進の１は、パウリＸ演算子に対してマッピングされている。
【００５１】
２６０において、複数の物理的キュービット内において、相対的に低忠実度のリソース状態の組が生成されている。一実装形態においては、スタビライザジェネレータの組及び論理的演算子の組によって表された量子コードを使用することにより、高忠実度の初期状態がエンコーディングされ、且つ、回転が、物理的キュービットにまたがって横断的に適用されている。別の実装形態において、それぞれの物理的キュービットは、単純に、望ましいリソース状態において生成される。２６２において、スタビライザジェネレータの組及び論理的演算子の組によって表される量子コードに従って、相対的に低忠実度のリソース状態の組に対してデコーディングプロセスが実行されている。この結果、量子コードから論理的キュービットの組を抽出するプロセスが始まる。２６４において、Ｚタイプのスタビライザに対応する物理的キュービットの計測が実行されており、且つ、２６６において、この計測値の組を使用し、残りの物理的キュービットに対する選択的な訂正を制御している。任意の必要な訂正に続いて、計測されていない物理的キュービットは、論理的キュービットに対応する第１の組とＸタイプのスタビライザに対応する第２の組に分割することができる。２６８において、計測値の第２の組を提供するべく、第２の組内の物理的キュービットのそれぞれが計測されている。計測値の第２の組は、低忠実度の状態によって導入される誤りの検出を可能にする。計測の第２の組のすべてが望ましい値をとっている場合には、残りのキュービットは、リソース状態の高忠実度表現を収容するものと予想されることになる。
【００５２】
図７は、少なくとも１つの高忠実度リソース状態を生成する方法３００を示している。３０２において、古典的コードが選択されており、この場合に、コードと関連付けられたコードワードのすべては、０  ｍｏｄ  ２ｇの重みを有し、ここで、ｇは、２の正の整数乗である。一実装形態において、これは、１次の１６ビットリードミュラーコードである。３０４において、コードワードの第１の組が０  ｍｏｄ  ２ｇという重みを保持し、且つ、コードワードの第２の組が、２ｇ−１  ｍｏｄ  ２ｇという重みを有するように、古典的コードがパンクチャされている。一実装形態において、コードは、二重にパンクチャされ、それぞれのコードワードの最初の２ビットが除去されている。３０６において、ジェネレータ（古典的コードの場合）の第１組が、スタビライザジェネレータの組に対してマッピングされている。３０８において、ジェネレータの第２の組が、論理的演算子の組に対してマッピングされている。一実装形態においては、ジェネレータ及び演算子を提供するべく、コードワード内の二進の０は、単位演算子に対してマッピングされ、且つ、コードワード内の二進の１は、パウリＸ演算子に対してマッピングされている。
【００５３】
３１０において、物理的キュービットの組が複数の初期状態において生成されている。一実装形態において、これらの状態は、複数のプラス状態及び複数の０状態を含むことができる。３１２において、物理的キュービットは、スタビライザジェネレータの組及び論理的演算子の組によって表される量子コードを使用することにより、エンコーディングされている。３１４において、回転が、物理的キュービットにまたがって横断的に適用されている。３１６において、スタビライザジェネレータの組及び論理的演算子の組によって表される量子コードに従って、キュービットに対してデコーディングプロセスが実行されている。３１８において、Ｚタイプのスタビライザ及びＸタイプのスタビライザに対応する物理的キュービットの計測が実行されている。すべての計測値が望ましい値をとっている場合には、残りの物理的キュービットは、リソース状態の高忠実度表現を保存しているものと予想されることになる。
【００５４】
上述した内容は、本発明の例である。当然のことながら、本発明の説明を目的として、コンポーネント及び方法のすべての想定可能な組合せについて記述することは不可能であり、当業者は、本発明の多くの更なる組合せ及び順列が可能であることを認識するであろう。従って、本発明は、添付の特許請求の範囲に含まれるそれらすべての変更形態、修正形態、及び変形形態を含むことを意図されている。
【図２】
0005898387.tif 000014
【図３】
0005898387.tif 000015
【図５】
0005898387.tif 000016
【図１】
0005898387.tif 000017
【図４】
0005898387.tif 000018
【図６】
0005898387.tif 000019