(57)【要約】      （修正有）【課題】量子システム上のエラー訂正動作が実行している間にその場での連続的かつ並列な量子ビット性能を最適化する。【解決手段】システム１００において、閉ループフィードバックにより量子エラー訂正の連続な実行の並列な最適化のため、量子システム上でエラー訂正動作が実行している間にその場で量子ビット性能を連続的におよび効果的に最適化し、エラー検出サブシステム１３０からの出力を直接監視する。この情報を、量子システムに関連付けられた量子ゲート１２２を較正するためのフィードバックとして提供する。物理量子ビットは、１つまたは複数の独立なハードウェア・パターンに空間的に分割され、各ハードウェア・パターンに帰属可能であるエラーは非重複である。ハードウェア・パターンの１つまたは複数の異なるセットは、全ての物理量子ビットおよび動作が最適化されるように一時的にインタリーブされる。【選択図】図１Ａ
2020091873.tif 000002
【特許請求の範囲】
【請求項１】
測定量子ビットとデータ通信するエラー訂正サブシステムを備える、量子計算システムであって、前記エラー訂正サブシステムは、エラー検出情報を受信し、量子ビットに対して対応するエラー訂正を実施するように構成され、前記エラー検出情報に基づいて、前記エラー訂正と並列に、
データ量子ビットおよび測定量子ビットを複数のパターンに分割することであって、少なくとも１つのパターンは前記パターンに対する非重複エラーを受け、パターンに対する非重複エラーは前記パターンに帰属可能なエラーである、ことと、
ＣＮＯＴゲートにより動作されるデータ量子ビットおよび測定量子ビットを含む各パターンごとに、
前記データ量子ビットで動作するシングル量子ビット量子ゲートのパラメータを並列に最適化することと、
同一の方向を定義するＣＮＯＴゲートのセットを選択し、前記選択されたＣＮＯＴゲートに対するパラメータを並列に最適化することと
を行うように構成される、量子計算システム。
【請求項２】
量子計算のための方法であって、
（ｉ）量子情報記憶システムにアクセスするステップであって、前記量子情報記憶システムは、
複数のデータ量子ビットと、
各データ量子ビットが近傍の測定量子ビットを有するように前記データ量子ビットをインタリーブする、複数の測定量子ビットと、
各読出し量子ゲートが測定量子ビットで動作するように構成された、複数の読出し量子ゲートと、
各シングル量子ビット量子ゲートがデータ量子ビットまたは測定量子ビットで動作するように構成された、複数のシングル量子ビット量子ゲートと、
各ＣＮＯＴ量子ゲートがデータ量子ビットおよび近傍の測定量子ビットで動作するように構成され、各ＣＮＯＴゲートが複数の方向のうちの１つを定義する、複数のＣＮＯＴ量子ゲートと
を含む、ステップと、
（ｉｉ）データ量子ビットおよび測定量子ビットを複数のパターンに分割するステップであって、少なくとも１つのパターンは前記パターンに対する非重複エラーを受け、パターンに対する非重複エラーは前記パターンに帰属可能なエラーである、ステップと、
（ｉｉｉ）エラー検出情報を受信するステップと、
（ｉｖ）量子ビットに対して、前記エラー検出情報に対応する、エラー訂正を実施するステップと、
（ｖ）前記エラー検出情報に基づいて、前記エラー訂正と並列に、
ＣＮＯＴゲートにより動作されるデータ量子ビットおよび測定量子ビットを含むパターンごとに、
前記データ量子ビットで動作するシングル量子ビット量子ゲートのパラメータを並列に最適化するステップと、
同一の方向を定義するＣＮＯＴゲートのセットを選択し、前記選択されたＣＮＯＴゲートに対するパラメータを並列に最適化するステップと
を含む、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
物理ゲート・パラメータの最適化が、フォールト・トレラント量子コンピュータを構築するために要求されている。ランダム化されたベンチマーキングまたはトモグラフィのような特徴付け方法は、必要なエラー検出動作の割込みを要求し、エラー訂正回路における最適性能を保証しない。エラー・モデル最適化方法を用いた物理ゲート・パラメータの最適化は、測定された物理エラーが物理ゲートにリンクされうるようにエラー・モデルがトレーニングされることを要求し、決定されたエラーがコントロール・パラメータの変化にリンクし戻されることを要求し、最適化プロセスの複雑度を増大させる。
【発明の概要】
【課題を解決するための手段】
【０００２】
本明細書は量子計算における量子ビット性能に関する。
【０００３】
本明細書は、量子システム上のエラー訂正動作が実行している間にその場での連続的かつ並列な量子ビット性能の最適化に関する技術を説明する。
【０００４】
一般に、本明細書で説明した主題の１つの進歩的な態様は、複数のデータ量子ビットと、各データ量子ビットが近傍の測定量子ビットを有するように当該データ量子ビットにインタリーブする、複数の測定量子ビットと、各読出し量子ゲートが測定量子ビットで動作するように構成された、複数の読出し量子ゲートと、各シングル量子ビット量子ゲートがデータ量子ビットまたは測定量子ビットで動作するように構成された、複数のシングル量子ビット量子ゲートと、各ＣＮＯＴ量子ゲートが、データ量子ビットおよび近傍の測定量子ビットで動作するように構成され、各ＣＮＯＴゲートが複数の方向のうち１つを定義する、複数のＣＮＯＴ量子ゲートとを含む量子情報記憶システムにアクセスするステップと、データ量子ビットおよび測定量子ビットを複数のパターンに分割するステップであって、少なくとも１つのパターンは当該パターンに対する非重複エラーを受け、パターンに対する非重複エラーは当該パターンに帰属可能なエラーである、ステップと、測定量子ビットを含むパターンごとに、当該測定量子ビットで動作する読出し量子ゲートのパラメータを並列に最適化するステップと、当該測定量子ビットで動作するシングル量子ビット量子ゲートのパラメータを並列に最適化するステップと、ＣＮＯＴゲートにより動作されるデータ量子ビットおよび測定量子ビットを含むパターンごとに、当該データ量子ビットで動作するシングル量子ビット量子ゲートのパラメータを並列に最適化するステップと、同一の方向を定義するＣＮＯＴゲートのセットを選択し、当該選択されたＣＮＯＴゲートに対するパラメータを並列に最適化するステップとからなるアクションを含むことができる。
【０００５】
当該態様の他の実装は、対応するコンピュータシステム、装置、および１つまたは複数のコンピュータ記憶デバイスに記録されたコンピュータプログラムを含み、それぞれ当該方法のアクションを実施するように構成される。１つまたは複数のコンピュータからなるシステムを、当該システムにアクションを実施させる当該システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せにより、特定の動作またはアクションを実施するように構成することができる。１つまたは複数のコンピュータプログラムを、データ処理装置により実行されたとき、当該装置にアクションを実施させる命令を含めることで特定の動作またはアクションを実施するように構成することができる。
【０００６】
以上のおよび他の実装はそれぞれ、場合によっては、以下の特徴の１つまたは複数を単体または組合せで含むことができる。
【０００７】
幾つかの実装では、当該複数のデータ量子ビットおよび測定量子ビットは、当該複数のデータ量子ビットおよび測定量子ビットが量子ビットの１次元チェーンを定義し、当該複数の方向が第１の方向および当該第１の方向と反対の第２の方向を含むように、インタリーブされる。
【０００８】
他の実装において、当該複数のシングル量子ビットゲートは位相シフトゲートまたは回転ゲートである。
【０００９】
幾つかのケースでは、当該データ量子ビットはコントロール量子ビットであり、当該近傍の測定量子ビットはＣＮＯＴゲートごとのターゲット量子ビットである。
【００１０】
他のケースでは、当該データ量子ビットはターゲット量子ビットであり、当該近傍の測定量子ビットはＣＮＯＴゲートごとのコントロール量子ビットである。
【００１１】
幾つかの実装では、当該測定量子ビットで動作する読出し量子ゲートのパラメータを並列に最適化するステップは閉ループフィードバックを用いた反復プロセスであり、各反復は、並列に、測定量子ビットごとに、最小化のための対応するメトリックを決定されたエラー率として定義するステップと、当該測定量子ビットを測定して現在のエラー率を決定するステップと、当該決定された現在のエラー率を格納するステップと、当該現在のエラー率と当該以前の反復からの当該格納されたエラー率との間のエラー率の変化を計算するステップと、エラー率の当該計算された変化に基づいて当該読出しゲート・パラメータを調節するステップとを含む。
【００１２】
幾つかのケースでは、最小化に対する当該定義されたメトリックに基づいて当該読出しゲート・パラメータを調節するステップは、数値最適化アルゴリズムを適用するステップを含む。
【００１３】
幾つかの実装では、当該測定量子ビットで動作するシングル量子ビット量子ゲートのパラメータを並列に最適化するステップは閉ループフィードバックを用いた反復プロセスであり、各反復は、並列に、測定量子ビットごとに、最小化のための対応するメトリックを決定されたエラー率として定義するステップと、当該測定量子ビットを測定してエラー率を決定するステップと、当該決定された現在のエラー率を格納するステップと、当該現在のエラー率と当該以前の反復からの当該格納されたエラー率との間のエラー率の変化を計算するステップと、エラー率の当該計算された変化に基づいて当該シングル量子ビットゲートのパラメータを調節するステップとを含む。
【００１４】
幾つかのケースでは、最小化に対する当該定義されたメトリックに基づいて当該シングル量子ビットゲートのパラメータを調節するステップは、数値最適化アルゴリズムを適用するステップを含む。
【００１５】
幾つかの実装では、当該データ量子ビットで動作するシングル量子ビット量子ゲートのパラメータを並列に最適化するステップは閉ループフィードバックを用いた反復プロセスであり、各反復は、並列に、データ量子ビットごとに、最小化のための対応するメトリックを決定されたエラー率として定義するステップと、当該対応する測定量子ビットを測定してエラー率を決定するステップと、当該決定された現在のエラー率を格納するステップと、当該現在のエラー率と当該以前の反復からの当該格納されたエラー率との間のエラー率の変化を計算するステップと、エラー率の当該計算された変化に基づいて当該シングル量子ビットゲートのパラメータを調節するステップとを含む。
【００１６】
幾つかのケースでは、最小化に対する定義されたメトリックに基づいてシングル量子ビットゲートのパラメータを調節するステップは、数値最適化アルゴリズムを適用するステップを含む。
【００１７】
他の実装において、同一の方向を定義するＣＮＯＴゲートのセットを選択し、当該選択されたＣＮＯＴゲートに対するパラメータを並列に最適化するステップは、選択された１組のＣＮＯＴゲートごとに並列に、当該選択されたセット内の各データ量子ビットに対して、最小化のための対応するメトリックを決定されたエラー率として定義するステップと、当該対応する測定量子ビットを測定してエラー率を決定するステップと、当該決定された現在のエラー率を格納するステップと、当該現在のエラー率と当該以前の反復からの当該格納されたエラー率との間のエラー率の変化を計算するステップと、エラー率の当該計算された変化に基づいて当該ＣＮＯＴゲート・パラメータを調節するステップを含む。
【００１８】
幾つかのケースでは、最小化に対する定義されたメトリックに基づいてシングル量子ビットゲートのパラメータを調節するステップは、数値最適化アルゴリズムを適用するステップを含む。
【００１９】
本明細書で説明した主題を、以下の利点の１つまたは複数を実現するために、実装することができる。エラー訂正が実行している間にその場で、物理ゲート・パラメータ、およびしたがって量子ビット性能を連続的におよび効果的に最適化することで、連続的なエラー訂正の実行の並列な最適化を実装する当該量子コンピュータの性能は、必要なエラー検出動作および他の計算の割込みを要求しうる他の特徴付け方法を使用する量子コンピュータと比較して、改善された性能および信頼性を実現することができる。例えば、連続的なエラー訂正の実行の並列な最適化を実装する量子コンピュータは、計算に割り込むことなく当該システムが実行している間に量子ビットごとの各ゲートのパラメータごとに、システムドリフト、即ち、温度に起因したシステムハードウェア変更の結果としての最適パラメータのドリフトに対抗することができる。
【００２０】
多数の状況では、検出イベントは、エラー検出が実行している間にシステム性能を反映する利用可能な唯一の情報である。連続的なエラー訂正の実行の並列な最適化を実装する量子コンピュータは、検出イベントを必要とし、これは、多数の異なる形態のエラー訂正に適用可能な重要な技術である。
【００２１】
さらに、エラー訂正動作の主な課題は他の方法で特徴付けられたゲートが多量子ビットシステム内のエラー検出回路でどのように実行するかを知ることであるので、連続的なエラー訂正の実行の並列な最適化を実装する量子コンピュータは、他の特徴付け方法と比較してエラー訂正回路における改善された性能を実現する。データを格納する量子ビットは一般に計算の間で測定されないが、依然として最適化を要求し、これを連続的なエラー訂正の実行の並列な最適化により実現しうる。
【００２２】
連続的なエラー訂正の実行の並列な最適化を実装する量子コンピュータはモデル・フリーであってもよく、例えば、初期記述がモデル・フリーであってもよく、エラー・モデルの構築の必要性を回避する。連続的なエラー訂正の実行の並列な最適化を実装する量子コンピュータはしたがって、かかるエラー・モデルをトレーニングする際に使用するための様々なエラータイプに関する統計値を収集する必要性を回避してもよく、当該エラー・モデルは、十分な統計値を収集するために、個々の１次エラーが疎であるように当該物理システムが閾値よりかなり低いことを要求し、したがって他の特徴付け方法と比べて時間と要求された計算リソースを節約する。
【００２３】
さらに、連続的なエラー訂正の実行の並列な最適化を実装する任意のサイズの量子コンピュータは、当該量子コンピュータ内の各ゲートを最適化するために、高レベルのスケーラビリティ、例えば、Ｏ（１）を実現しうる。
【００２４】
本明細書の当該主題の１つまたは複数の実装の詳細を添付図面および以下の説明で説明する。当該主題の他の特徴、態様、および利点は詳細な説明、添付図面、および添付の特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００２５】
【図１Ａ】例示的なエラー訂正システムの１次元略斜視図である。
【図１Ｂ】例示的なエラー訂正システムにおける量子ビットの２次元略斜視図である。
【図２Ａ】量子ビットの１次元アレイを含むエラー訂正システムにおける例示的なハードウェア・パターンの１次元略斜視図である。
【図２Ｂ】量子ビットの１次元アレイを含むエラー訂正システムにおける例示的なハードウェア・パターンの１次元略斜視図である。
【図３】例示的なエラー訂正システムにおける量子ビットの１次元略斜視図の回路表現である。
【図４】エラー訂正システムにおける例示的なハードウェア・パターンの２次元略斜視図である。
【図５】エラー訂正に対する例示的なプロセスの流れ図である。
【図６】測定量子ビット上のシングル量子ビット量子ゲート・パラメータを最適化するための例示的なプロセスの流れ図である。
【図７】データ量子ビット上のシングル量子ビット量子ゲート・パラメータを最適化するための例示的なプロセスの流れ図である。
【図８】ＣＮＯＴゲート・パラメータを最適化するための例示的なプロセスの流れ図である。
【発明を実施するための形態】
【００２６】
様々な図面における同様な参照番号および指定は同様な要素を示す。
【００２７】
本明細書は、当該量子システム上でエラー訂正動作が実行している間にその場で量子ビット性能を連続的におよび効果的に最適化するための量子システムおよび方法を説明する。当該方法は、エラー検出からの出力を直接監視し、この情報を、当該量子システムに関連付けられた量子ゲートを較正するためのフィードバックとして提供する。幾つかの実装では、当該物理量子ビットは、１つまたは複数の独立なハードウェア・パターン、即ち、各ハードウェア・パターンに帰属可能であるエラーが非重複である構成に空間的に分割される。ハードウェア・パターンの当該１つまたは複数の異なるセットはついで、全ての物理量子ビットおよび動作が最適化されるように一時的にインタリーブされる。当該方法により、ハードウェア・パターンの各セクションの最適化を個々におよび並列に実施でき、Ｏ（１）スケーリングをもたらしうる。
【００２８】
例示的な動作環境
図１Ａは、反復コードに対する例示的なエラー訂正システム１００の１次元略斜視図である。システム１００は２次元サーフェスコードの１次元分割である。当該システムは量子ビット１０２の１次元アレイを含む。明確さのため、９個の量子ビットが図１Ａに示されているが、当該システムが、かなり大きな数の量子ビット、例えば、何百万もの量子ビットを含んでもよい。量子ビットの当該アレイは、測定量子ビット、例えば、１０６、１１０、１１４、および１１８とラベル付けされた測定量子ビットとインタリーブされた、データ量子ビット、例えば、１０４、１０８、１１２、１１６、および１２０とラベル付けされたデータ量子ビットを含む。ビット・フリップ・エラー検出のケースでは、当該量子ビットは測定Ｚタイプ量子ビットであってもよい。
【００２９】
当該システムが、１組の読出し量子ゲート、例えば、読出し量子ゲート１２２を含んでもよい。当該読出しゲートは測定量子ビット、例えば、測定量子ビット１０６、１１０、１１４および１１８で動作するように構成されてもよい。各読出しゲートは対応する測定量子ビットの状態を提供してもよく、対応する１組の物理読出しゲート・パラメータに関連付けられてもよい。
【００３０】
当該システムが、１組のシングル量子ビット量子ゲート、例えば、シングル量子ビットゲート１３２および１３４を含んでもよい。当該シングル量子ビット量子ゲートは単一のデータ量子ビットまたは単一の測定量子ビットの何れかで動作するように構成されてもよい。図１Ａに示すシングル量子ビットゲートはＰａｕｌｉＸゲート、例えば、ＰａｕｌｉＸゲート１３４、およびＨａｄａｍａｒｄゲート、例えば、Ｈａｄａｍａｒｄゲート１３２を含むが、幾つかの実装では、当該システムが、他のシングル量子ビットゲートを含んでもよい。例えば、当該シングル量子ビットゲートが、任意の位相シフトゲートまたは回転ゲートを含んでもよい。各シングル量子ビット量子ゲートは対応する１組の物理シングル量子ビット量子ゲート・パラメータに関連付けられてもよい。
【００３１】
当該システムが、１組の制御されたＮＯＴ（ＣＮＯＴ）ゲート、例えば、ＣＮＯＴゲート１２４を含んでもよい。制御されたゲートは２つ以上の量子ビットに作用してもよく、当該量子ビットの１つまたは複数は幾つかの動作に対する制御として動作してもよい。ＣＮＯＴゲートが、２つの量子ビット、即ち、コントロール量子ビットおよびターゲット量子ビットで動作してもよく、当該コントロール量子ビットが１＞であるときにのみ当該ターゲット量子ビット上でＮＯＴ動作を実施する。図１ＡにおけるＣＮＯＴゲートは近傍の測定およびデータ量子ビットのペアで動作するように構成され、１つの量子ビットは当該コントロール量子ビットおよび他のターゲット量子ビットとして動作し、例えば、ＣＮＯＴゲート１２４は近傍の量子ビット１０４および１０６のペアで動作する。エラー検出がビット・フリップ・エラーを検出するように設計される場合、ＣＮＯＴゲートにより操作される各データ量子ビットはコントロール量子ビットであってもよく、各近傍の測定量子ビットは対応するターゲット量子ビットであってもよい。各ＣＮＯＴゲートは対応する１組の物理ＣＮＯＴゲート・パラメータに関連付けられてもよい。
【００３２】
ターゲット量子ビット、例えば、１０６で動作するＣＮＯＴゲート、例えば、１２４が当該ターゲット量子ビットに相対的な１つまたは複数の方向、例えば、図１Ａに示すように、当該ターゲット量子ビットの左および右を定義してもよい。当該反復コードの例において、図１Ａに示すように、ＣＮＯＴ量子ゲートはビット・フリップ・エラーを当該関連付けられたデータ量子ビットから検出のために当該関連付けられた測定量子ビットにコピーしてもよい。別の例では、当該エラー検出が位相フリップ・エラーを検出するように設計される場合、測定量子ビットは当該コントロール量子ビットであってもよく、近傍のデータ量子ビットは当該ターゲット量子ビットであってもよい。当該ＣＮＯＴ量子ゲートはついで、位相フリップ・エラーを当該関連付けられた測定量子ビットから当該関連付けられたデータ量子ビットにコピーしてもよい。
【００３３】
当該システムが、量子ビット１０２とデータ通信するエラー訂正サブシステム１３０を含んでもよい。当該エラー訂正サブシステムは、エラー検出からの出力を監視し、当該量子ゲートを較正するためにこの情報を当該システムにフィードバックするように構成されてもよい。エラー訂正サブシステム１３０は量子ビット１０２を１つまたは複数のハードウェア・パターンに空間的に分割し、量子測定を各ハードウェア・パターンにおける測定量子ビットに実施してもよい。当該１つまたは複数のハードウェア・パターンは、それぞれに相対的な各ハードウェア・パターンの最適化が本質的に独立でありうるように、独立であってもよい。量子ビットを１つまたは複数のハードウェア・パターンに分割するステップが図２を参照して以下でより詳細に説明される。測定出力、または検出イベントは測定量子ビットに対する状態の測定されたパターンの変化を示してもよく、これは、近傍のエラーの存在、即ち、当該エラーが当該関連付けられたデータ量子ビットまたは測定量子ビットで発生したかどうかを示す。したがって、それらにおける測定出力およびそれらの測定出力が、データ量子ビットまたは測定量子ビット上のエラーに直接相関しなくてもよい。エラーおよびゲート・パラメータを相関付けるステップを、図２Ａおよび２Ｂを参照して以下でより詳細に説明する。
【００３４】
エラー訂正サブシステム１３０は、当該実施された量子測定の結果を使用して、測定量子ビットごとの現在のエラー率のような関心のある関連する量、またはメトリックを計算してもよい。エラー訂正サブシステム１３０はまた、１つまたは複数の測定された測定量子ビットに対する決定されたエラー率の平均値を計算するステップ、または時間におけるエラー率の変化を決定するステップのような、実施された量子測定の結果を用いて追加の計算を実施してもよい。エラー訂正サブシステム１３０がデータ・ストアを含んでもよく、実施された量子測定または追加の計算の結果を格納してもよい。
【００３５】
当該エラー訂正サブシステムは、実施された測定の結果を使用して、量子ビット１０２に作用する量子ゲートのパラメータを最適化してもよい。例えば、エラー訂正サブシステム１３０は量子ゲート・パラメータの適切な調整、例えば、１組の量子ゲート・パラメータの最小化を決定するための、Ｎｅｌｄｅｒ−Ｍｅａｄアルゴリズムのような数値最適化アルゴリズムを実装してもよい。適切な調整が決定されると、当該エラー訂正サブシステムは、当該調整をフィードバックとして量子ビット１０２に提供し、それに応じて当該量子ゲートのパラメータを調節してもよい。
【００３６】
図１Ｂは、例示的なエラー訂正システムにおける量子ビット１５０の２次元略斜視図である。当該システムが、量子ビット１５０の２次元アレイを含んでもよい。再度、明確さのため、８１個の量子ビットが図１Ｂに示されているが、当該システムが、かなり大きな数の量子ビット、例えば、何百万もの量子ビットを含んでもよい。量子ビットのアレイが、当該データ量子ビットが当該データ量子ビットの上、下、右、および左に対する４つの近傍の測定量子ビットを有するように、測定量子ビット、例えば、１５４、１５６、１５８、および１６０とラベル付けされた測定量子ビットとインタリーブされた、データ量子ビット、例えば、１５２とラベル付けされたデータ量子ビットを含んでもよい。図１Ｂは、より高い次元への図１のシステム１００Ａのスケーラビリティを示す。
【００３７】
以下の図２Ａおよび２Ｂは、量子ゲート最適化を実施するために使用される例示的なハードウェア・パターンを示す。
【００３８】
図２Ａは、量子ビットの１次元アレイを含むエラー訂正システムにおける例示的なハードウェア・パターン２００の１次元略斜視図である。例えば、当該エラー訂正システムは図１Ａを参照して上述したように量子ビット１０２の１次元アレイを含むエラー訂正システムであってもよく、ゲート・クロス・ハッチングはどの測定量子ビットがそのゲートからエラーを検出するかに対応する。
【００３９】
ハードウェア・パターン２００が４つのハードェア・グルーピング２０６を含んでもよく、その各々は測定量子ビットおよびその量子ビットに対する対応するシングル量子ビット動作を含み、例えば、ハードェア・グルーピング２０２は測定量子ビット２０４および対応するシングル量子ビット動作２０８を含む。ハードウェア・パターン内のグルーピングを独立に動作させてもよい。シングル量子ビット動作２０８からのエラーは近傍のデータ量子ビットに伝播しなくてもよく、当該測定量子ビットからの相対的な検出フラクションを使用して、図６を参照して以下で説明するようにゲート・パラメータの変化を推論してもよい。
【００４０】
さらに、エラー検出がビット・フリップ・エラーを検出するように設計され、ＣＮＯＴゲートにより操作される各データ量子ビットがコントロール量子ビットであり、各近傍の測定量子ビットが対応するターゲット量子ビットである場合、ビット・フリップ・エラーは、データ量子ビットおよび測定量子ビットのペアに適用される当該ＣＮＯＴゲートの方向に起因して、データ量子ビットに伝播しなくてもよい。むしろ、ビット・フリップ・エラーは、特定の測定量子ビットおよびしたがって特定のハードェア・グルーピングに局所化されてもよい。
【００４１】
ゲートエラーの局所化のため、測定量子ビットは、１つのハードウェア・パターン２００として、個々に完全に並列に最適化されるシングル量子ビット量子ゲート・パラメータを有してもよい。構成により、当該データ量子ビットおよび測定量子ビットが分割されるハードウェア・パターンが、測定量子ビットのみを含むハードェア・グルーピングを含む１つのパターンを含んでもよい。
【００４２】
図２Ｂは、量子ビットの１次元アレイを含むエラー訂正システムにおける例示的なハードウェア・パターン２１０および２２０の１次元略斜視図である。例えば、当該エラー訂正システムは図１Ａを参照して上述のように量子ビット１０２の１次元アレイを含むエラー訂正システムであってもよく、ゲート・クロス・ハッチングはどの測定量子ビットがそのゲートからエラーを検出するかに対応する。
【００４３】
ハードウェア・パターン２１０が、複数のハードェア・グルーピング、例えば、ハードェア・グルーピング２１２を含んでもよく、その各々は、測定およびデータ量子ビットおよびＣＮＯＴゲートに対する対応するシングル量子ビット動作に沿って１つのデータ量子ビットおよび高々２つの測定量子ビットを含み、例えば、図２Ｂに示すように、ハードェア・グルーピング２１２は測定量子ビット２１４、シングル量子ビット動作２１６およびＣＮＯＴゲート２１８および２１９を含む。ハードウェア・パターン内の当該グルーピングを独立に動作させてもよい。シングル量子ビット動作２１６およびＣＮＯＴゲート２１８および２１９からのエラーはハードェア・グルーピング２１２外部に伝播しなくてもよく、図７および８を参照して以下で説明するように、各ハードェア・グルーピング内の測定量子ビットの検出イベントフラクションを使用して各グルーピング内のゲートに対するゲート・パラメータの変化を推論してもよい。
【００４４】
さらに、エラー検出がビット・フリップ・エラーを検出するように設計され、ＣＮＯＴゲートにより操作される各データ量子ビットがコントロール量子ビットであり、各近傍の測定量子ビットが対応するターゲット量子ビットである場合、ハードウェア・パターン２００と異なり、ビット・フリップ・エラーをデータ量子ビットからＣＮＯＴゲートを通じて近傍の測定量子ビットにコピーしてもよい。したがって、データ量子ビット上の単一のエラーは近傍の測定量子ビット上の２つの検出イベントを生成してもよく、同一の測定量子ビットまたはデータ量子ビット上でＣＮＯＴゲート・パラメータを並列に最適化するのが可能でないかもしれない。当該ハードウェア・パターン、例えば、２１０および２２０に自然な制限があってもよい。一般に、ハードウェア・パターンに完全に含まれるＣＮＯＴゲートが当該パターンにおいて最適化されてもよい。
【００４５】
次の最も近傍のデータ量子ビットが同時にそれらのシングル量子ビットパラメータを最適化させる場合、それらは両方ともエラーを同一の測定量子ビットにコピーしてもよい。したがって、エラーは混乱しうる。この問題を回避するために、全ての他のデータ量子ビットが、測定量子ビットへの二重マッピングエラーを回避するように最適化されてもよい。かかる混乱なしに同時にそれらのシングル量子ビットパラメータを最適化できる２つのハードウェア・パターン２１０および２２０が生成されてもよく、例えば、互いに相対的なパターン２１０および２２０の両方の最適化は本質的に独立である。構成により、当該データ量子ビットおよび測定量子ビットが分割されるハードウェア・パターンが少なくとも１つのパターンを含んでもよく、当該対応するハードェア・グルーピングはデータ量子ビットおよび測定量子ビットの両方を含む。
【００４６】
図２Ａおよび２Ｂに示されたハードウェア・パターン２００、２１０および２２０は、図１Ａに示すような１次元エラー訂正システム内のエラー訂正を実施するために使用できる最小数のハードウェア・パターンを構成する。下記のテーブルは、全てのゲートを並列に最適化するためにインタリーブされうるパターンの数をカウントする。３つのインタリーブされたパターンがあり、各パターンにおいて１つのゲートが並列に最適化されてもよい。この数は、理想的な意味で、即ち、量子ビットが、相互作用すべきではない量子ビットとの任意の寄生相互作用を有さない状態で当該システムが実施されていると仮定して、任意のサイズの反復コードに対して定数であってもよい。当該示されたパターンは最小組のパターンであり、幾つかの実装では、必要に応じてより多くのものを追加してもよい。当該システムに対するかかるハードウェア・パターンを選択することによって、夫々のハードウェア・パターンにおける各ハードェア・グルーピング内のゲート・パラメータが、当該ゲート・パラメータを変更しハードェア・グルーピングごとの測定されたエラー率を最適化することで、最適化されてもよい。さらに、有限個のハードウェア・パターンを選択することによって、エラー検出を実行する量子コンピュータを最適化するために必要な各動作にアクセスしうる。ハードウェア・パターンが選択されると、全てのハードェア・グルーピングを並列に独立に最適化でき、これは任意のサイズの量子コンピュータにおける全ての単一のゲートを最適化するためのＯ（１）スケーリング戦略である。
【００４７】
【表１】
2020091873.tif 000003
【００４８】
最適化を要求する３つの別々のパターンがあるが、１つのパターン内に独立に最適化されうる複数の動作がある。ゲート・パラメータを最適化するステップが、図５乃至８を参照して以下でより詳細に説明される。
【００４９】
上のテーブルに示され、図２Ａおよび２Ｂを参照して上述したハードウェア・パターンは代表的なパターンであり包括的ではない。特定の回路内のエラー伝播を追跡することで、厳密なパターンおよび各グルーピングを当該システムにカスタマイズでき、決定することができる。例えば、当該ハードウェア・パターンを当該システムソフトウェアで事前に計算する必要はない。幾つかの実装では、当該ハードウェア・パターンを、特定のゲート上のパラメータを変更し、検出イベントの変化が発見された場所を観測することにより決定してもよい。当該特定のゲートの各々におけるパラメータの各々をかかる方式で変更することで、生成された情報を処理し、当該ハードウェア・パターンを決定するために使用してもよい。ハードウェア・パターンを決定するかかる方法はハードウェア非理想性にセンシティブであり、システム性能および効率を高めうる。
【００５０】
図３は例示的なエラー訂正システムにおける量子ビットの１次元略斜視図の回路表現である。この簡略化された回路表現では、測定量子ビット３０４の出力は、３つの入力、即ち、関連付けられた測定量子ビット３０４に対して１つ、および各近傍のデータ量子ビット３０２および３０６に対して１つを有するマルチプレクサ３０８として動作してもよい。当該データまたは測定ボックス、例えば、データボックス３０２、３０６および測定ボックス３０４のうち１つの出力を直接探索するために、当該マルチプレクサへの入力のうち１つのみを一度に選択してもよい。ここから、図２Ａおよび２Ｂを参照して上述した３つのハードウェア・パターン２００、２１０および２２０が生ずる。
【００５１】
図４は、エラー訂正システムにおける例示的なハードウェア・パターンの２次元略斜視図４００である。図２Ａおよび２Ｂを参照して上述した同一の分析が当該示されたハードウェア・パターンを生成するためにサーフェスコードに適用されてもよい。当該ハードウェア・パターンが、測定量子ビットを含む１つのハードウェア・パターン４０４を含んでもよい。残りのハードウェア・パターン４０６乃至４１２が、データ量子ビットおよび測定量子ビットの両方を含んでもよい。
【００５２】
図４に示されたハードウェア・パターン４０４乃至４１２は、量子ビットの２次元アレイを含むシステムに対するエラー訂正を実施するために使用できる最小数のハードウェア・パターンを構成する。下記のテーブルは、全てのゲートを並列に最適化するようにインタリーブされるパターンの数をカウントする。５つのインタリーブされたパターンがあり、各パターンにおいて１つのゲートが最適化されてもよい。当該示されたパターンは代表的なものであり、最小セットではない。他のパターンが存在し、より複雑であってもよい。当該パターンの数と複雑度は、どの順番で量子ゲートが当該アレイにわたって実行されるかの厳密な詳細に依存する。上述のように、当該システムに対するかかるハードウェア・パターンを選択することによって、夫々のハードウェア・パターンにおける各ハードェア・グルーピング内のゲート・パラメータが、当該ゲート・パラメータを変更しハードェア・グルーピングごとの測定されたエラー率を最適化することで、最適化されてもよい。さらに、有限個のハードウェア・パターンを選択することによって、エラー検出を実行する量子コンピュータを最適化するために要求される各動作にアクセスしうる。ハードウェア・パターンが選択されると、全てのハードェア・グルーピングを独立に並列に最適化することができ、これは任意のサイズの量子コンピュータにおける全ての単一のゲートを最適化するためのＯ（１）スケーリング戦略である。
【００５３】
【表２】
2020091873.tif 000004
【００５４】
最適化を要求する５つの別々のパターンがあるが、１つのパターン内に独立に最適化されうる複数の動作がある。ゲート・パラメータを最適化するステップが図５乃至８を参照して以下でより詳細に説明される。
【００５５】
上のテーブルに示され、図４を参照して上述したハードウェア・パターンは代表的なパターンであり包括的ではない。特定の回路内のエラー伝播を追跡することで、厳密なパターンおよび各グルーピングを当該システムにカスタマイズし、決定することができる。例えば、当該ハードウェア・パターンをシステムのソフトウェアで事前に計算する必要はない。幾つかの実装では、当該ハードウェア・パターンを、特定のゲート上のパラメータを変更し、検出イベントの変化が発見された場所を観測することにより決定してもよい。当該特定のゲートの各々におけるパラメータの各々をかかる方式で変更することで、生成された情報を処理し、当該ハードウェア・パターンを決定するために使用してもよい。ハードウェア・パターンを決定するかかる方法はハードウェア非理想性にセンシティブであり、システム性能および効率を高めうる。
【００５６】
本明細書で説明されたハードウェア・パターンは反復コードを実行する量子ビットの１次元チェーンに対して固有であるが、この技術は大抵のエラー訂正枠組みに汎用化しうる。固定された最大サイズの量子ビットのグループを用いてエラーを検出し、任意の量子ビットが属するグループの数がシステムサイズに対応しない任意の枠組みが、本明細書で説明されたハードェアおよび方法を利用することができる。例えば、当該技術は、サブシステムコードを含む全てのトポロジコード、および最低レベルの連結に着目することで全ての連結されたコードと互換であってもよい。これはサーフェスおよびカラーコード、およびSteaneおよびShorコードを含む。本明細書で説明されたハードェアおよび方法は、システムサイズでのＯ（１）スケーリングを保存したい場合は、有限レート・ブロック・コードと互換でなくてもよい。ハードウェア・パターンおよびグルーピングを、エラー検出回路をシミュレートするか、または、コントロール・パラメータを物理的に変更し検出フラクションが変化する場所を決定することによって、アルゴリズム的に発見することができる。
【００５７】
特に、図２Ａおよび２Ｂ、３および４を、反復コードおよびサーフェスコードに関して説明したが、ゲートから物理測定へのエラー・シグネチャを追跡する方法を、当該反復およびサーフェスコードの外部で適用し、任意の量子回路に適用でき、最適化のためのフィードバックを提供するための方法として使用してもよい。
【００５８】
その場量子エラー訂正の実施
図５は、エラー訂正を実行している間に量子ゲート・パラメータの連続的な最適化を実施するための例示的なプロセス５００の流れ図である。例えば、プロセス５００を、図１Ａ乃至１Ｂおよび図３を参照して上述したシステム１００または３００によりエラー訂正手続きの間に実施してもよい。プロセス５００は自己診断するためのエラー検出を使用し、当該システムが実行している間にコントロール・パラメータの連続的な最適化を可能とし、したがって計算に割り込むことなくシステムドリフトに対抗する。
【００５９】
当該システムはデータ量子ビットおよび測定量子ビットの集合を別々のハードウェア・パターンに空間的に分割する（ステップ５０２）。当該システムは、それぞれの別々のハードウェア・パターンに帰属可能であるエラーが他の別々のハードウェア・パターンに帰属可能であるエラーと重複しないように、データ量子ビットおよび測定量子ビットの集合を分割する。構成により、当該ハードウェア・パターンが、測定量子ビットを含むグルーピングを有する１つのパターン、およびデータ量子ビットおよび測定量子ビットの両方を含むグルーピングを有する２つ以上のパターンを含んでもよい。データ量子ビットおよび測定量子ビットの集合を別々のハードウェア・パターンに分割する構成が、図２Ａおよび２Ｂおよび図４を参照して上でより詳細に説明されている。
【００６０】
当該システムは、測定量子ビットを含むグルーピングを有する各ハードウェア・パターン内の量子ビットで動作する量子ゲートのパラメータを最適化するための段階に入る（ステップ５０４）。構成により、データ量子ビットおよび測定量子ビットの集合内の測定量子ビットの各々は、ステップ５０２で構築されたハードウェア・パターンのうち１つを形成してもよい。例えば、１次元において、当該システムは、図２Ａを参照して上述したハードウェア・パターン２００内の測定量子ビットで動作する量子ゲートのパラメータを最適化してもよい。別の例では、２次元において、当該システムは、図４を参照して上述した、ハードウェア・パターン４０４内の測定量子ビットで動作する量子ゲートのパラメータを最適化してもよい。
【００６１】
当該測定量子ビットで動作する量子ゲートのパラメータの最適化を実施するステップを、最も単純な最適化段階と考えてもよい。例えば、エラー訂正を反復コードに実施するステップを考慮するとき、当該測定量子ビットはビット・フリップ・エラーを検出してもよい。測定およびデータ量子ビットのペアに適用されるＣＮＯＴゲートの方向に起因して、当該ビット・フリップ・エラーは測定量子ビットからデータ量子ビットに伝播しないので、エラーは特定の測定量子ビットに局所化される。測定量子ビットはしたがって、ステップ５０６および５０８を参照して以下で説明されるように、１つのハードウェア・パターンとして個々に完全に並列に最適化されるそれらの上で動作するシングル量子ビット量子ゲートのパラメータを有してもよい。
【００６２】
当該システムは、測定量子ビットで動作する読出しゲートのパラメータの最適化を実施する（ステップ５０６）。当該測定量子ビットで動作する当該読出しゲートのパラメータの最適化を、ハードウェア・パターン内の測定量子ビットごとに並列に実施してもよい。当該測定量子ビットで動作する当該読出しゲートのパラメータを最適化するための例示的なプロセスが図６を参照して以下で詳細に説明される。
【００６３】
当該システムは、当該測定量子ビットで動作するシングル量子ビット量子ゲートのパラメータの最適化を実施する（ステップ５０８）。当該測定量子ビットで動作する当該シングル量子ビット量子ゲートのパラメータの最適化を、当該ハードウェア・パターン内の測定量子ビットごとに、並列に実施してもよい。当該測定量子ビットで動作するシングル量子ビット量子ゲートのパラメータを最適化するための例示的なプロセスが図６を参照して以下で詳細に説明される。
【００６４】
当該システムは、データ量子ビットおよび測定量子ビットの両方を含むグルーピングを有する各ハードウェア・パターン内の量子ビットで動作する量子ゲートのパラメータを最適化するための段階に入る（ステップ５１０）。構成により、データおよび測定量子ビットの両方を含むグルーピングを有する各ハードウェア・パターンにおいて、当該データ量子ビットは、ステップ５０２で構築されたそれらの夫々のハードェア・グルーピングにおいて測定量子ビットを伴ってもよい。例えば、１次元において、当該システムは、図２Ｂを参照して上述したハードウェア・パターン２１０および２２０内のデータ量子ビットで動作するシングル量子ビット量子ゲートのパラメータを最適化してもよい。別の例では、２次元において、当該システムは、図４を参照して上述した、ハードウェア・パターン４０６、４０８、４１０および４１２におけるデータ量子ビットで動作するシングル量子ビット量子ゲートのパラメータを最適化してもよい。
【００６５】
当該データ量子ビットで動作するシングル量子ビット量子ゲートのパラメータの最適化を実施するステップは、測定量子ビットで動作する当該シングル量子ビット量子ゲートのパラメータの最適化を実施するステップよりも複雑であってもよい。例えば、エラー訂正を反復コードに実施するステップを考慮するとき、ビット・フリップ・エラーを、当該データ量子ビットおよび当該測定量子ビットの両方で動作するＣＮＯＴゲートを通じてデータ量子ビットから近傍の測定量子ビットにコピーしてもよい。したがって、データ量子ビット上の単一のエラーは、図２Ａおよび２Ｂを参照して上述したように、その近傍の測定量子ビットの各々での出力、または検出イベントを生成してもよい。データ量子ビットは、したがって、次の最も近傍のデータ量子ビットが同時にそれらのシングル量子ビットゲートのパラメータを最適化する場合、それらは両方ともエラーを同一の測定量子ビットにコピーし、エラー混乱を生成しうるので、１つのハードウェア・パターンとして個々に完全に並列に最適化されるそれらで動作するシングル量子ビット量子ゲートのパラメータを有さなくてもよい。その代わり、ステップ５１２および図６を参照して以下で説明されるように、全ての他のデータ量子ビットが１つのハードウェア・パターンとして並列に最適化され、測定量子ビット上のエラーの二重マッピングを回避してもよい。
【００６６】
当該システムは、データ量子ビットおよび測定量子ビットの両方を含むグルーピングを有する各ハードウェア・パターンにおいて当該データ量子ビットで動作するシングル量子ビットゲートのパラメータの最適化を実施する（ステップ５１２）。各ハードウェア・パターンにおいてデータ量子ビットで動作するシングル量子ビット量子ゲートのパラメータの最適化を各ハードウェア・パターンに対して別々に実施してもよい。しかし、各ハードウェア・パターン内における各グルーピング内のデータ量子ビットで動作するシングル量子ビット量子ゲートのパラメータの最適化を当該ハードウェア・パターン内のデータ量子ビットごとに並列に実施してもよい。当該データ量子ビットで動作するシングル量子ビット量子ゲートのパラメータを最適化するための例示的なプロセスが図７を参照して以下で詳細に説明される。
【００６７】
データ量子ビットおよび測定量子ビットのペアで動作するＣＮＯＴゲートのパラメータの最適化を実施するステップはまた、エラー混乱に起因して複雑でありうる。データ量子ビット上のエラーは、関与するデータ量子ビットの各側の測定量子ビットに伝播してもよい。したがって、データ量子ビット上のエラーは、図２Ｂを参照して上述したように、その近傍の測定量子ビットの各々において出力、または検出イベントを生成してもよい。データ量子ビットおよび測定量子ビットのペアで動作するＣＮＯＴゲートのパラメータはしたがって、同一のデータ量子ビットまたは測定量子ビット上で並列に最適化されなくてもよい。これは自然にハードウェア・パターンを、例えば、ステップ５１０を参照して上述したのと同じものに制限する。エラー混乱を回避するために、単純なルール、即ち、ハードウェア・パターンに完全に含まれるＣＮＯＴゲートのみが当該パターンで最適化されてもよいという単純なルールがあってもよい。
【００６８】
当該システムは、ハードウェア・パターン内のデータ量子ビットおよび測定量子ビットの両方を含む各ハードェア・グルーピングにおけるデータ量子ビットおよび測定量子ビットのペアで動作するＣＮＯＴゲートのパラメータの最適化を実施する（ステップ５１４）。当該ハードウェア・パターンにおけるデータ量子ビットおよび測定量子ビットのペアで動作するＣＮＯＴゲートのパラメータの最適化を各ハードウェア・パターンに対して別々に実施してもよい。さらに、当該システムは、ハードウェア・パターン内の同一の方向を定義するＣＮＯＴゲートを選択し、当該ハードウェア・パターン内のデータ量子ビットごとに同一の方向を並列に定義する当該ＣＮＯＴゲートのパラメータを最適化する。例えば、１次元において、データ量子ビットおよび測定量子ビットを含む各ハードウェア・パターンごとに、当該システムは、まず、当該データ量子ビットの左にあり当該選択されたＣＮＯＴゲート・パラメータを並列に最適化する１組のＣＮＯＴゲートを選択し、当該データ量子ビットの右にあり当該選択されたＣＮＯＴゲート・パラメータを並列に最適化する１組のＣＮＯＴゲートを選択してもよい。当該データ量子ビットおよび測定量子ビットで動作するＣＮＯＴゲートのパラメータを最適化するための例示的なプロセスが図８を参照して以下で詳細に説明される。
【００６９】
明確さのため、エラー訂正を実行している間に量子ゲート・パラメータの連続的な最適化を実施するための例示的なプロセス５００の流れ図がステップ５０４乃至５１４を参照して説明されている。しかし、ステップ５０４乃至５１４の動作が提示された順序で逐次的に実施されることが必要でなくてもよい。当該ステップを異なるシーケンスで実施してもよく、複数回実施してもよい。即ち、必要に応じて、当該シーケンス内の次のステップが実施される前に例えば、幾つかの実装では、当該システムは、測定量子ビットを含む各ハードウェア・パターン内の量子ビットで動作する量子ゲートのパラメータを最適化するための段階に入る前に、まず、データ量子ビットおよび測定量子ビットの両方を含む各ハードウェア・パターン内の量子ビットで動作する量子ゲートのパラメータを最適化するための段階に入ってもよい。同様に、例えば、測定量子ビットを含む各ハードウェア・パターン内の量子ビットで動作する量子ゲートのパラメータを最適化するための段階にいったん入ると、当該システムは、最適化ステップ５０６を実施する前にまず最適化ステップ５０８を実施してもよい。ステップ５０６、５０８、５１２および５１４の間で循環することで、即ち、ハードウェア・パターンの間で循環することで、当該システムが実行している間に、全ての量子ビットに対する全てのゲートの全てのパラメータでのシステムドリフトに対抗してもよい。
【００７０】
図６は、測定量子ビットで動作する読出しゲートまたはシングル量子ビット量子ゲートのパラメータを最適化するための例示的なプロセス６００の流れ図である。プロセス６００を、図５のステップ５０６で上述したように読出し量子ゲートのパラメータを最適化するための、または図５のステップ５０８で上述したようにシングル量子ビット量子ゲートのパラメータを最適化するための、図１Ａ乃至１Ｂおよび図３を参照して上述したシステム１００または３００により実施してもよい。構成により、図１Ａ乃至１Ｂおよび図３で説明したデータ量子ビットおよび測定量子ビットの集合内の測定量子ビットの各々は、上で図５を参照してステップ５０２で構築されたハードウェア・パターンのうち１つを形成する。例えば、１次元において、当該システムは、図２Ａを参照して上述したハードウェア・パターン２０２内の測定量子ビットで動作する読出し量子ゲートまたはシングル量子ビット量子ゲートのパラメータを最適化してもよい。別の例では、２次元において、当該システムは、図４を参照して上述した、ハードウェア・パターン４０４内の測定量子ビットで動作する量子ゲートのパラメータを最適化してもよい。
【００７１】
プロセス６００を、対応するハードウェア・パターン内の測定量子ビットごとに並列に実施してもよい。プロセス６００は、閉ループフィードバックを使用して測定量子ビットで動作する読出しゲートまたはシングル量子ビット量子ゲートのパラメータを最適化するプロセスを連続的に繰り返してもよい。
【００７２】
並列に、測定量子ビットごとに、当該システムは、エラー最小化に対する対応するメトリックを決定されたエラー率として定義する（ステップ６０２）。検出イベントのフラクションとも呼ばれる各量子ビットのエラー率を最小化することで、当該量子ゲートエラーを最小化してもよい。シングル測定量子ビットを含むハードウェア・パターンのケースにおいて、エラー最小化に対するメトリックはその量子ビットに対する検出イベントのフラクションであってもよい。図２Ａおよび４に示すもののような、複数の測定量子ビットを含むハードウェア・パターンのケースでは、エラー最小化に対する当該メトリックは、全ての測定量子ビットに対して取られる検出イベントの平均フラクションである。
【００７３】
並列に、測定量子ビットごとに、当該システムは当該測定量子ビットを測定して現在のエラー率を決定する（ステップ６０４）。
【００７４】
当該システムは決定されたエラー率を格納する（ステップ６０６）。当該システムは、エラー率の変化が長時間にわたって監視され、量子ゲート・パラメータに加えられた変更と相関付けられるように、プロセス６００の反復ごとの当該決定されたエラー率を格納する。
【００７５】
当該システムは、当該決定された現在のエラー率および以前の反復からの格納されたエラー率との間のエラー率の変化を計算する（ステップ６０８）。測定出力、または検出イベント、および測定量子ビットに対する状態の測定されたパターンの変化は、データ量子ビットまたは測定量子ビット上に関わらず、近傍のエラーの存在を示してもよい。しかし、検出イベント自体は測定量子ビットまたはデータ量子ビット上のエラーに直接相関しなくてもよい。したがって、エラーの変化をゲート・パラメータの変化と相関付けるために、局所化された検出イベントフラクションの変化、即ち、エラー率をゲート・パラメータの変化と比較してもよい。
【００７６】
並列に、測定量子ビットごとに、当該システムは、エラー率の計算された変化に基づいて読出しゲート・パラメータ、またはシングル量子ビット量子ゲート・パラメータを調節する（ステップ６１０）。当該システムは、Ｎｅｌｄｅｒ−Ｍｅａｄ方法のような数値最適化アルゴリズムを、ステップ６０８で計算されたエラー率の変化に基づいて適用して、当該読出しゲート・パラメータまたはシングル量子ビット量子ゲート・パラメータに行うための調整を決定してもよい。
【００７７】
当該システムは上述のステップ６０２乃至６１０を連続的に繰り返してもよい。原則として、ゲートエラーに関連付けられた物理プロセスに関するより多くの情報を取得するために、測定値Ｘおよび測定値Ｙの量子ビットを区別することが可能であってもよく、この情報を当該量子ゲートをより効率的に最適化するために当該システムにフィードバックしてもよい。
【００７８】
図７は、データ量子ビットで動作するシングル量子ビット量子ゲートのパラメータを最適化するための例示的なプロセス７００の流れ図である。プロセス７００を、図５のステップ５１２で上述したように当該シングル量子ビット量子ゲートのパラメータを最適化するための、図１Ａ乃至１Ｂおよび図３を参照して上述したシステム１００または３００により実施してもよい。当該プロセスを、上の図５を参照してステップ５０２で構築したデータ量子ビットおよび測定量子ビットの両方を含むグルーピングを有するハードウェア・パターンごとに実施してもよい。例えば、１次元において、当該システムは、図２Ｂを参照して上述したハードウェア・パターン２１０および２２０内のデータ量子ビットで動作するシングル量子ビット量子ゲートのパラメータを最適化してもよい。別の例では、２次元において、当該システムは、図４を参照して上述したハードウェア・パターン４０６、４０８、４１０および４１２において測定量子ビットで動作する量子ゲートのパラメータを最適化してもよい。
【００７９】
プロセス７００を、対応するハードウェア・パターンにおけるデータ量子ビットごとに並列に実施してもよい。プロセス７００は、閉ループフィードバックを使用して当該データ量子ビットで動作するシングル量子ビット量子ゲートのパラメータを最適化する連続的に繰り返されるプロセスであってもよい。
【００８０】
並列に、データ量子ビットごとに、当該システムは、エラー最小化に対する対応するメトリックを決定されたエラー率として定義する（ステップ７０２）。検出イベントのフラクションとも呼ばれる各量子ビットのエラー率を最小化することで、量子ゲートエラーを最小化してもよい。図２Ｂおよび４に示すもののような、複数の測定量子ビットを含むグルーピングを有するハードウェア・パターンのこのケースにおいて、エラー最小化に対する当該メトリックは全ての測定量子ビットに対して取られる検出イベントの平均フラクションであってもよい。
【００８１】
並列に、データ量子ビットごとに、当該システムは当該対応する近傍の測定量子ビットを測定しては現在のエラー率を決定する（ステップ７０４）。例えば、１次元システムにおいて、当該システムは少なくとも２つの対応する測定量子ビットを測定してもよい。例えば、２次元システムにおいて、当該システムは少なくとも４つの対応する測定量子ビットを測定してもよい。
【００８２】
当該システムは決定されたエラー率を格納する（ステップ７０６）。当該システムは、エラー率の変化を長時間にわたって監視し、当該量子ゲート・パラメータに加えられた変更と相関付けうるように、当該決定されたプロセス７００の反復ごとのエラー率を格納する。
【００８３】
当該システムは、決定された現在のエラー率および以前の反復からの格納されたエラー率との間のエラー率の変化を計算する（ステップ７０８）。測定出力、または検出イベント、および測定量子ビットに対する状態の測定されたパターンの変化は、データ量子ビットまたは測定量子ビット上に関わらず、近傍のエラーの存在を示してもよい。しかし、検出イベント自体は測定量子ビットまたはデータ量子ビット上のエラーに直接相関しなくてもよい。したがって、エラーの変化をゲート・パラメータの変化と相関付けるために、局所化された検出イベントフラクションの変化、即ち、エラー率をゲート・パラメータの変化と比較してもよい。
【００８４】
並列に、データ量子ビットごとに、当該システムは、エラー率の計算された変化に基づいてシングル量子ビットゲートのパラメータを調節する（ステップ７１０）。当該システムは、ステップ７０８で計算されたエラー率の変化に基づいて、Ｎｅｌｄｅｒ−Ｍｅａｄ方法のような数値最適化アルゴリズムを適用して、当該シングル量子ビット量子ゲート・パラメータに行われるべき調整を決定してもよい。
【００８５】
当該システムは上述のステップ７０２乃至７１０を連続的に繰り返してもよい。原則として、当該ゲートエラーに関連付けられた物理プロセスに関するより多くの情報を取得するために、測定値Ｘおよび測定値Ｙの量子ビットを区別することが可能であってもよく、この情報を、当該量子ゲートをより効率的に最適化するために当該システムにフィードバックしてもよい。
【００８６】
図８は、データ量子ビットおよび測定量子ビットのペアで動作するＣＮＯＴゲートのパラメータを最適化するための例示的なプロセス８００の流れ図である。プロセス８００を、図５の５１４ステップで上述したようにＣＮＯＴゲートのパラメータを最適化するための、図１Ａ乃至１Ｂおよび図３を参照して上述したシステム１００または３００により実施してもよい。上の図５を参照してステップ５０２で構築されたデータ量子ビットおよび測定量子ビットの両方を含むグルーピングを有するハードウェア・パターンごとに、当該プロセスを実施してもよい。例えば、１次元において、当該システムは、図２Ｂを参照して上述したハードウェア・パターン２１０および２２０におけるデータ量子ビットおよび測定量子ビットのペアで動作するＣＮＯＴゲートのパラメータを最適化してもよい。別の例では、２次元において、当該システムは、図４を参照して上述したハードウェア・パターン４０６乃至４１２における測定量子ビットで動作する量子ゲートのパラメータを最適化してもよい。
【００８７】
当該ＣＮＯＴゲートが動作するデータ量子ビットに関して同一の方向を定義する対応するハードウェア・パターンに完全に含まれるＣＮＯＴゲートごとにプロセス８００を並列に実施してもよい。プロセス８００は、閉ループフィードバックを使用して当該ＣＮＯＴゲートのパラメータを最適化する、連続的に繰り返されるプロセスであってもよい。
【００８８】
並列に、データ量子ビットごとに、当該システムは、エラー最小化に対する対応するメトリックを決定されたエラー率として定義する（ステップ８０２）。検出イベントのフラクションとも呼ばれる各量子ビットのエラー率を最小化することで、量子ゲートエラーを最小化してもよい。これらの図２Ｂおよび４で示したものような、複数の測定量子ビットを含むグルーピングを有するハードウェア・パターンのこのケースにおいて、エラー最小化に対する当該メトリックは、全ての測定量子ビットに対して取られる検出イベントの平均フラクションであってもよい。
【００８９】
並列に、データ量子ビットごとに、当該システムは対応する近傍の測定量子ビットを測定して現在のエラー率を決定する（ステップ８０４）。例えば、１次元システムにおいて、当該システムは少なくとも２つの対応する測定量子ビットを測定してもよい。例えば、２次元システムにおいて、当該システムは少なくとも４つの対応する測定量子ビットを測定してもよい。
【００９０】
当該システムは当該決定されたエラー率を格納する（ステップ８０６）。当該システムは、エラー率の変化を長時間にわたって監視し、量子ゲート・パラメータに加えられた変更と相関付けうるように、プロセス８００の反復ごとの決定されたエラー率を格納する。
【００９１】
当該システムは、決定された現在のエラー率および以前の反復からの格納されたエラー率との間のエラー率の変化を計算する（ステップ８０８）。測定出力、または検出イベント、および測定量子ビットに対する状態の測定されたパターンの変化は、データ量子ビットまたは測定量子ビット上に関わらず、近傍のエラーの存在を示してもよい。しかし、検出イベント自体は測定量子ビットまたはデータ量子ビット上のエラーに直接相関しなくてもよい。したがって、エラーの変化をゲート・パラメータの変化と相関付けるために、局所化された検出イベントフラクションの変化、即ち、エラー率をゲート・パラメータの変化と比較してもよい。
【００９２】
並列に、データ量子ビットごとに、当該システムは、エラー率の計算された変化に基づいてＣＮＯＴゲート・パラメータを調節する（ステップ８１０）。当該システムは、ステップ８０８で計算されたエラー率の変化に基づいて、Ｎｅｌｄｅｒ−Ｍｅａｄ方法のような数値最適化アルゴリズムを適用して、当該ＣＮＯＴ量子ゲート・パラメータに行われる調整を決定してもよい。
【００９３】
当該システムは上述のステップ８０２乃至８１０を連続的に繰り返してもよい。原則として、ゲートエラーに関連付けられた物理プロセスに関するより多くの情報を取得するために、測定値Ｘおよび測定値Ｙの量子ビットを区別することが可能であってもよく、この情報を、量子ゲートをより効率的に最適化するために当該システムにフィードバックしてもよい。
【００９４】
本明細書で説明されたデジタルおよび／または量子の主題およびデジタル機能の動作および量子動作の実装を、デジタル電子回路、適切な量子回路または、より一般的に、量子計算システムで、有形に具現化されたデジタルおよび／または量子コンピュータソフトウェアまたはファームウェアで、当該本明細書で開示された構造を含むデジタルおよび／または量子コンピュータハードウェアで、およびそれらの構造的な均等物で、またはそれらの１つまたは複数の組合せで実装することができる。「量子計算システム」という用語が、量子コンピュータ、量子情報処理システム、量子暗号理論システム、または量子シミュレータを含んでもよいがこれらに限定されない。
【００９５】
本明細書で説明したデジタルおよび／または量子の主題の実装を、１つまたは複数のデジタルおよび／または量子コンピュータプログラム、即ち、データ処理装置により実行するためのまたはその動作を制御するための有形非一時的記憶媒体で符号化されたデジタルおよび／または量子コンピュータプログラム命令の１つまたは複数のモジュールとして実装することができる。当該デジタルおよび／または量子コンピュータ記憶媒体は、マシン可読記憶デバイス、マシン可読記憶基板、ランダムまたはシリアル・アクセス・メモリデバイス、１つまたは複数の量子ビット、またはそれらの１つまたは複数の組合せであることができる。あるいはまたはさらに、当該プログラム命令を、デジタルおよび／または量子情報を符号化しうる人工的に生成された伝播信号、例えば、デジタルおよび／または量子データ処理装置により実行するための適切な受信機装置に送信するための情報を符号化するために生成されたマシン生成された電気的、光学的、または電磁気信号で符号化されることができる。
【００９６】
量子情報および量子データという用語は量子システムにより運搬されそれに保持または格納された情報またはデータを指し、当該最小非自明システムは量子ビット、即ち、量子情報のユニットを定義するシステムである。「量子ビット」という用語は、当該対応するコンテキストにおいて２レベルシステムとして適切に近似されうる全ての量子システムを包含することは理解される。かかる量子システムが、例えば、２つ以上のレベルを有するマルチレベルシステムを含んでもよい。例として、かかるシステムは原子、電子、光子、イオンまたは超電導量子ビットを含むことができる。多数の実装において、当該計算基本状態は、基底状態および第１の励起された状態で識別されるが、当該計算状態がより高レベル励起された状態で識別される他の構成が可能であることは理解される。「データ処理装置」という用語はデジタルおよび／または量子データ処理ハードウェアを指し、例としてプログラム可能デジタルプロセッサ、プログラム可能量子プロセッサ、デジタルコンピュータ、量子コンピュータ、複数のデジタルおよび量子プロセッサまたはコンピュータ、およびそれらの組合せを含む、処理のためにデジタルおよび／または量子データを処理するための全ての種類の装置、デバイス、およびマシンを包含する。当該装置はさらに、特定の量子システムに関する情報をシミュレートまたは生成するように設計された、特殊目的論理回路、例えば、ＦＰＧＡ（フィールドプログラム可能ゲートアレイ）、ＡＳＩＣ（特殊用途向け集積回路）、または量子シミュレータ、即ち、量子データ処理装置であることができるかまたはそれを含むことができる。特に、量子シミュレータは、普遍的量子計算を実施するための能力を有さない特殊目的量子コンピュータである。当該装置は場合によっては、ハードウェアに加えて、デジタルおよび／または量子コンピュータプログラム、例えば、プロセッサファームウェア、プロトコル・スタック、データベース管理システム、オペレーティング・システム、またはそれらの１つまたは複数の組合せを構成するコードに対する実行環境を生成するコードを含むことができる。
【００９７】
デジタルコンピュータプログラムはまた、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと称するかまたはそれとして説明されてもよく、コンパイル型またはインタプリタ型言語、または宣言型または手続型言語を含む任意の形態のプログラミング言語で書かれることができ、スタンドアロンプログラムまたはモジュール、コンポーネント、サブルーチン、またはデジタルコンピューティング環境で使用するのに適した他のユニットを含む任意の形態で展開されることができる。量子コンピュータプログラムはまた、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと称するかまたはそれとして説明されてもよく、コンパイル型またはインタプリタ型言語、または宣言型または手続型言語を含む任意の形態のプログラミング言語で書かれることができ、適切な量子プログラミング言語に変換でき、または、量子プログラミング言語、例えば、ＱＣＬまたはＱｕｉｐｐｅｒで書くことができる。
【００９８】
デジタルおよび／または量子コンピュータプログラムはファイルシステム内のファイルに対応してもよいがその必要はない。プログラムを、他のプログラムまたはデータを保持するファイルの一部、例えば、マークアップ言語ドキュメントで、問題となっているプログラム専用の単一のファイルで、または複数の協調ファイルで格納された１つまたは複数のスクリプト、例えば、１つまたは複数のモジュールを格納するファイル、サブプログラム、またはコードの部分に格納することができる。デジタルおよび／または量子コンピュータプログラムを、１つのサイトに配置するかまたはデジタルおよび／または量子データ通信ネットワークによって相互接続された複数のサイトわたって分散される、１つのデジタルまたは１つの量子コンピュータ上でまたは複数のデジタルおよび／または量子コンピュータ上で実行するように展開することができる。量子データ通信ネットワークは、量子システム、例えば、量子ビットを用いて量子データを送信しうるネットワークであると理解される。一般的に、デジタルデータ通信ネットワークは量子データを送信できないが、量子データ通信ネットワークは量子データおよびデジタルデータの両方を送信しうる。
【００９９】
本明細書で説明したプロセスおよび論理フローを、１つまたは複数のデジタルおよび／または量子プロセッサで動作し、必要に応じて、１つまたは複数のデジタルおよび／または量子コンピュータプログラムを実行して入力デジタルおよび量子データで動作して出力を生成することで機能を実施する、１つまたは複数のプログラム可能デジタルおよび／または量子コンピュータにより実施することができる。当該プロセスおよび論理フローはまた、特殊目的論理回路、例えば、ＦＰＧＡまたはＡＳＩＣ、または量子シミュレータにより、またはの組合せ特殊目的論理回路または量子シミュレータおよび１つまたは複数のプログラムされたデジタルおよび／または量子コンピュータにより実施でき、装置をそれらとして実装することもできる。
【０１００】
１つまたは複数のデジタルおよび／または量子コンピュータのシステムが特定の動作またはアクションを実施する「ように構成される」ことは、当該システムは、動作において当該システムに当該動作またはアクションを実施させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしていることを意味する。１つまたは複数のデジタルおよび／または量子コンピュータプログラムを、特定の動作またはアクションを実施するように構成することは、当該１つまたは複数のプログラムが、デジタルおよび／または量子データ処理装置により実行されたとき、当該装置に当該動作またはアクションを実施させる命令を含むことを意味する。量子コンピュータは、当該量子コンピューティング装置により実行されたとき、当該装置に当該動作またはアクションを実施させる命令をデジタルコンピュータから受信してもよい。
【０１０１】
デジタルおよび／または量子コンピュータプログラムの実行に適したデジタルおよび／または量子コンピュータは、汎用目的または特殊目的デジタルおよび／または量子プロセッサまたはその両方、または任意の他種の中央デジタルおよび／または量子処理ユニットに基づくことができる。一般的に、中央デジタルおよび／または量子処理ユニットは、量子データ、例えば、光子、またはそれらの組合せを送信するのに適した読取専用メモリ、ランダム・アクセスメモリ、または量子システムから命令およびデジタルおよび／または量子データを受信する。
【０１０２】
デジタルおよび／または量子コンピュータの本質的な要素は、命令を実施または実行するための中央演算装置および命令およびデジタルおよび／または量子データを格納するための１つまたは複数のメモリデバイスである。当該中央演算装置および当該メモリは特殊目的論理回路により補完するかまたは当該回路または量子シミュレータに組み込むことができる。一般的に、デジタルおよび／または量子コンピュータはまた、量子システムデジタルおよび／または量子データを送受信するために、１つまたは複数の大容量記憶デバイス、例えば、量子情報を格納するのに適した磁気、光磁気ディスク、光ディスクを含むかまたはそれらに動作可能に接続されてもよい。しかし、デジタルおよび／または量子コンピュータはかかるデバイスを有する必要はない。
【０１０３】
デジタルおよび／または量子コンピュータプログラム命令およびデジタルおよび／または量子データを格納するのに適したデジタルおよび／または量子コンピュータ可読媒体は、例として半導体メモリデバイス、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュ・メモリデバイス、磁気ディスク、例えば、内部ハード・ディスクまたは取外し可能ディスク、磁気−光ディスク、ＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスク、および量子システム、例えば、トラップされた原子または電子を含む、全ての形態の不揮発性デジタルおよび／または量子メモリ、媒体およびメモリデバイスを含む。量子メモリが、ハイ・フィデリティおよび効率で長期間量子データを格納できるデバイス、例えば、光が送信に使用され物質が重ね合わせまたは量子コヒーレンスのような量子データの量子特徴を記憶し保存する光物質（ｌｉｇｈｔ−ｍａｔｔｅｒ）インタフェースであることは理解される。
【０１０４】
本明細書で説明された様々なシステムまたはそれらの部分の制御を、１つまたは複数の非一時的マシン可読記憶媒体に格納され、１つまたは複数のデジタルおよび／または量子処理デバイスで実行可能な命令を含む、デジタルおよび／または量子コンピュータプログラム製品で実装することができる。本明細書で説明されたシステム、またはそれらの部分をそれぞれ、本明細書で説明された動作を実装するための実行可能命令を格納する１つまたは複数のデジタルおよび／または量子処理デバイスおよびメモリを含みうる装置、方法、またはシステムとして実装することができる。
【０１０５】
本明細書は多数の具体的な実装詳細を含むが、これらはクレームされうるもの範囲への制限として解釈されるべきではなく、特定の実装に固有でありうる特徴の説明として解釈されるべきである。別々の実装の文脈で本明細書で説明した特定の特徴をまた、単一の実装における組合せで実装することができる。反対に、単一の実装の文脈で説明された様々な特徴をまた、複数の実装で別々にまたは任意の適切な部分的組合せで実装することができる。さらに、特徴は特定の組合せで動作するように上述され最初にそのようにクレームされているかもしれないが、クレームされた組合せからの１つまたは複数の特徴を幾つかのケースでは当該組合せから実施してもよく当該クレームされた組合せは部分的組合せまたは部分的組合せの変形に関連してもよい。
【０１０６】
同様に、動作を図面において特定の順序で説明したが、これは、所望の結果を実現するために、かかる動作を示した特定の順序でまたは逐次的順序で実施されること、または全ての示された動作が実施されることを要求するものと理解されるべきではない。特定の環境において、マルチタスキングおよび並列処理が有利であるかもしれない。さらに、上述の実装における様々なシステムモジュールおよびコンポーネントの分離は、全ての実装におけるかかる分離を必要とするとは理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムを一般に単一のソフトウェア製品に統合するかまたは複数のソフトウェア製品にパッケージ化できることは理解されるべきである。
【０１０７】
主題の特定の実装を説明した。他の実装は添付の特許請求の範囲内にある。例えば、特許請求の範囲で記載した動作を異なる順序で実施して、依然として所望の結果を実現することができる。１例として、添付図面に示したプロセスは、所望の結果を実現するために示した特定の順序、または逐次的順序を必ずしも要求しない。幾つかのケースでは、マルチタスキングおよび並列処理が有利であるかもしれない。
【符号の説明】
【０１０８】
１３０  エラー訂正サブシステム
【図１Ａ】
2020091873.tif 000005
【図１Ｂ】
2020091873.tif 000006
【図２Ａ】
2020091873.tif 000007
【図２Ｂ】
2020091873.tif 000008
【図３】
2020091873.tif 000009
【図４】
2020091873.tif 000010
【図５】
2020091873.tif 000011
【図６】
2020091873.tif 000012
【図７】
2020091873.tif 000013
【図８】
2020091873.tif 000014
【外国語明細書】
2020091873000001.pdf