IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2022-553169フラグ量子ビットの結果を識別するための三価格子スキーム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-22
(54)【発明の名称】フラグ量子ビットの結果を識別するための三価格子スキーム
(51)【国際特許分類】
   G06N 10/40 20220101AFI20221215BHJP
   G06N 10/70 20220101ALI20221215BHJP
【FI】
G06N10/40
G06N10/70
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022522329
(86)(22)【出願日】2020-10-21
(85)【翻訳文提出日】2022-04-13
(86)【国際出願番号】 EP2020079632
(87)【国際公開番号】W WO2021078801
(87)【国際公開日】2021-04-29
(31)【優先権主張番号】16/661,434
(32)【優先日】2019-10-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLU―RAY DISC
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】シャンベラン、クリストファー
(72)【発明者】
【氏名】ヨーデル、テオドール
(72)【発明者】
【氏名】クロス、アンドリュー
(72)【発明者】
【氏名】ジュウ、グアンユ
(57)【要約】
フラグ量子ビットの結果を識別するために、量子回路を三価格子スキームにエンコードすることに関する技術が提供される。例えば、本明細書に記載された1つまたは複数の実施形態は、コンピュータ実行可能コンポーネントを格納できるメモリを備えることができるシステムを含むことができる。このシステムは、メモリに動作可能に結合され、メモリに格納されたコンピュータ実行可能コンポーネントを実行することができる、プロセッサを備えることもできる。コンピュータ実行可能コンポーネントは、量子回路を三価格子にエンコードすることができるグラフ・コンポーネントを含むことができ、三価格子は、量子回路の接続スキームに基づいて、複数のフラグ量子ビットを介して、補助量子ビットを複数のデータ量子ビットにマッピングする。
【特許請求の範囲】
【請求項1】
コンピュータ実行可能コンポーネントを格納するメモリと、
前記メモリに動作可能に結合され、前記メモリに格納された前記コンピュータ実行可能コンポーネントを実行するプロセッサとを備えているシステムであって、前記コンピュータ実行可能コンポーネントが、
量子回路を三価格子にエンコードするグラフ・コンポーネントを含み、前記三価格子が、前記量子回路の接続スキームに基づいて、複数のフラグ量子ビットを介して、補助量子ビットを複数のデータ量子ビットにマッピングする、システム。
【請求項2】
前記量子回路がスタビライザ測定回路を含み、前記システムが、
前記量子回路の前記接続スキームに基づいて、パウリ行列スタビライザの重み6の測定のために、前記複数のデータ量子ビットを前記三価格子にエンコードする第1のスタビライザ・コンポーネントをさらに備える、請求項1に記載のシステム。
【請求項3】
前記量子回路がスタビライザ測定回路を含み、前記システムが、
前記量子回路の前記接続スキームに基づいて、パウリ行列スタビライザの重み4の測定のために、前記複数のデータ量子ビットを前記三価格子にエンコードする第2のスタビライザ・コンポーネントをさらに備える、請求項1ないし2のいずれか一項に記載のシステム。
【請求項4】
前記三価格子が、六角形状および台形形状から成る群から選択された少なくとも1つの要素を含んでいる形状によって特徴付けられ、前記複数のデータ量子ビットが前記形状の角を定義し、前記補助量子ビットおよび前記複数のフラグ量子ビットが前記形状内の前記三価格子上に配置される、請求項1ないし3のいずれか一項に記載のシステム。
【請求項5】
前記三価格子上の前記複数のデータ量子ビットと前記複数のフラグ量子ビットの間の関連付けに基づいて、前記複数のデータ量子ビットに関連付けられた対応するエラーの構成を含むフラグ量子ビットの結果を識別する結果コンポーネントをさらに含む、請求項1ないし4のいずれか一項に記載のシステム。
【請求項6】
アルゴリズムの最小重み完全マッチング・プロセスの間に、前記補助量子ビットと第2の補助量子ビットの間に伸びる前記三価格子のエッジを利用して、前記三価格子をデコードするデコーディング・コンポーネントをさらに含む、請求項1ないし5のいずれか一項に記載のシステム。
【請求項7】
コンピュータ実行可能コンポーネントを格納するメモリと、
前記メモリに動作可能に結合され、前記メモリに格納された前記コンピュータ実行可能コンポーネントを実行するプロセッサとを備えているシステムであって、前記コンピュータ実行可能コンポーネントが、
フラグ量子ビットを介して補助量子ビットを複数のデータ量子ビットにマッピングする三価格子にエンコードされた量子回路の接続スキームに基づいて、データ量子ビット・エラーの構成に対応するフラグ量子ビットの結果を決定する結果コンポーネントを含む、システム。
【請求項8】
前記結果コンポーネントが、前記三価格子上の前記複数のデータ量子ビットと前記フラグ量子ビットの間の関連付けに基づいて、前記データ量子ビット・エラーの構成を決定する、請求項7に記載のシステム。
【請求項9】
前記量子回路がスタビライザ測定回路を含み、前記システムが、
前記量子回路の前記接続スキームに基づいて、パウリ行列スタビライザの重み6の測定のために、前記複数のデータ量子ビットを前記三価格子にエンコードする第1のスタビライザ・コンポーネントをさらに備える、請求項7ないし8のいずれか一項に記載のシステム。
【請求項10】
前記量子回路がスタビライザ測定回路を含み、前記システムが、
前記量子回路の前記接続スキームに基づいて、パウリ行列スタビライザの重み4の測定のために、前記複数のデータ量子ビットを前記三価格子にエンコードする第2のスタビライザ・コンポーネントをさらに備える、請求項7ないし9のいずれか一項に記載のシステム。
【請求項11】
前記三価格子が、六角形状および台形形状から成る群から選択された少なくとも1つの要素を含んでいる形状によって特徴付けられ、前記複数のデータ量子ビットが前記形状の角を定義し、前記補助量子ビットおよび前記フラグ量子ビットが前記形状内の前記三価格子上に配置される、請求項7ないし10のいずれか一項に記載のシステム。
【請求項12】
プロセッサに動作可能に結合されたシステムによって、量子回路を三価格子にエンコードすることを含んでいるコンピュータ実装方法であって、前記三価格子が、前記量子回路の接続スキームに基づいて、複数のフラグ量子ビットを介して、補助量子ビットを複数のデータ量子ビットにマッピングする、コンピュータ実装方法。
【請求項13】
前記システムによって、前記量子回路の前記接続スキームに基づいて、パウリ行列スタビライザの測定のために前記複数のデータ量子ビットを前記三価格子にエンコードすることをさらに含み、前記測定が、前記パウリ行列スタビライザの重み6の測定および前記パウリ行列スタビライザの重み4の測定から成る群から選択される、請求項12に記載のコンピュータ実装方法。
【請求項14】
前記システムによって、前記三価格子上の前記複数のデータ量子ビットと前記複数のフラグ量子ビットの間の関連付けに基づいて、前記複数のデータ量子ビットに関連付けられた対応するエラーの構成を含むフラグ量子ビットの結果を識別することをさらに含む、請求項12ないし13のいずれか一項に記載のコンピュータ実装方法。
【請求項15】
前記システムによって、デコーディング・アルゴリズムの最小重み完全マッチング・プロセスの間に、前記補助量子ビットと第2の補助量子ビットの間に伸びる前記三価格子のエッジを使用して前記三価格子をデコードすることをさらに含む、請求項12ないし14のいずれか一項に記載のコンピュータ実装方法。
【請求項16】
プロセッサに動作可能に結合されたシステムによって、フラグ量子ビットを介して補助量子ビットを複数のデータ量子ビットにマッピングする三価格子にエンコードされた量子回路の接続スキームに基づいて、データ量子ビット・エラーの構成に対応するフラグ量子ビットの結果を決定することを含む、コンピュータ実装方法。
【請求項17】
前記システムによって、前記量子回路の前記接続スキームに基づいて、パウリ行列スタビライザの測定のために前記複数のデータ量子ビットを前記三価格子にエンコードすることをさらに含み、前記測定が、前記パウリ行列スタビライザの重み6の測定および前記パウリ行列スタビライザの重み4の測定から成る群から選択される、請求項16に記載のコンピュータ実装方法。
【請求項18】
前記三価格子が、六角形状および台形形状から成る群から選択された少なくとも1つの要素を含んでいる形状によって特徴付けられ、前記複数のデータ量子ビットが前記形状の角を定義し、前記補助量子ビットおよび前記フラグ量子ビットが前記形状内の前記三価格子上に配置される、請求項16ないし17のいずれか一項に記載のコンピュータ実装方法。
【請求項19】
前記フラグ量子ビットの結果を前記決定することが、前記三価格子上の前記複数のデータ量子ビットと前記フラグ量子ビットの間の関連付けに基づく、請求項16ないし18のいずれか一項に記載のコンピュータ実装方法。
【請求項20】
量子回路の接続スキームをエンコードするためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えており、前記プログラム命令が、プロセッサによって実行可能であり、前記プロセッサに、
前記プロセッサによって、量子回路を三価格子にエンコードさせ、前記三価格子が、前記量子回路の前記接続スキームに基づいて、複数のフラグ量子ビットを介して、補助量子ビットを複数のデータ量子ビットにマッピングする、コンピュータ・プログラム製品。
【請求項21】
前記プログラム命令が、前記プロセッサに、
前記プロセッサによって、前記量子回路の前記接続スキームに基づいて、パウリ行列スタビライザの測定のために前記複数のデータ量子ビットを前記三価格子にエンコードすることをさらに実行させ、前記測定が、前記パウリ行列スタビライザの重み6の測定および前記パウリ行列スタビライザの重み4の測定から成る群から選択される、請求項20に記載のコンピュータ・プログラム製品。
【請求項22】
前記プログラム命令が、前記プロセッサに、
前記プロセッサによって、前記三価格子上の前記複数のデータ量子ビットと前記複数のフラグ量子ビットの間の関連付けに基づいて、前記複数のデータ量子ビットに関連付けられた対応するエラーの構成を含むフラグ量子ビットの結果を識別することをさらに実行させる、請求項20ないし21のいずれか一項に記載のコンピュータ・プログラム製品。
【請求項23】
前記プログラム命令が、前記プロセッサに、
前記プロセッサによって、デコーディング・アルゴリズムの最小重み完全マッチング・プロセスの間に、前記補助量子ビットと第2の補助量子ビットの間に伸びる前記三価格子のエッジを使用して前記三価格子をデコードすることをさらに実行させる、請求項20ないし22のいずれか一項に記載のコンピュータ・プログラム製品。
【請求項24】
前記プロセッサが、クラウド・コンピューティング環境内で前記デコーディング・アルゴリズムを使用して前記三価格子をデコードする、請求項23に記載のコンピュータ・プログラム製品。
【請求項25】
前記三価格子が、六角形状および台形形状から成る群から選択された少なくとも1つの要素を含んでいる形状によって特徴付けられ、前記複数のデータ量子ビットが前記形状の角を定義し、前記補助量子ビットおよびフラグ量子ビットが前記形状内の前記三価格子上に配置される、請求項20ないし24のいずれか一項に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、量子回路を三価格子(trivalent lattice)にエンコードすることに関連しており、より詳細には、量子回路を三価格子にエンコードして、フラグ量子ビット(flag qubit)の結果を識別すること、およびフラグ量子ビットの結果を1つまたは複数のデータ量子ビット・エラー(data qubit error)の構成と関連付けることを容易にすることに関連している。
【発明の概要】
【0002】
以下に、本発明の1つまたは複数の実施形態の基本的理解を可能にするための概要を示す。この概要は、主要な要素または重要な要素を特定するよう意図されておらず、特定の実施形態の範囲または特許請求の範囲を正確に説明するよう意図されていない。この概要の唯一の目的は、後で提示されるより詳細な説明のための前置きとして、概念を簡略化された形態で提示することである。本明細書に記載された1つまたは複数の実施形態では、量子回路を三価格子にエンコードするか、または検出された故障に基づいて1つまたは複数のデータ量子ビット・エラーの構成を決定するか、あるいはその両方を実行することができるシステム、コンピュータ実装方法、装置、またはコンピュータ・プログラム製品、あるいはその組み合わせが説明される。
【0003】
一実施形態によれば、システムが提供される。このシステムは、コンピュータ実行可能コンポーネントを格納できるメモリを備えることができる。このシステムは、メモリに動作可能に結合され、メモリに格納されたコンピュータ実行可能コンポーネントを実行することができる、プロセッサを備えることもできる。コンピュータ実行可能コンポーネントは、量子回路を三価格子にエンコードすることができるグラフ・コンポーネントを含むことができ、三価格子は、量子回路の接続スキームに基づいて、複数のフラグ量子ビットを介して、補助量子ビットを複数のデータ量子ビットにマッピングする。
【0004】
一実施形態によれば、別のシステムが提供される。このシステムは、コンピュータ実行可能コンポーネントを格納できるメモリを備えることができる。このシステムは、メモリに動作可能に結合され、メモリに格納されたコンピュータ実行可能コンポーネントを実行することができる、プロセッサを備えることもできる。コンピュータ実行可能コンポーネントは、フラグ量子ビットを介して補助量子ビットを複数のデータ量子ビットにマッピングする三価格子にエンコードされた量子回路の接続スキームに基づいて、データ量子ビット・エラーの構成に対応するフラグ量子ビットの結果を決定できる結果コンポーネントを含むことができる。
【0005】
一実施形態によれば、コンピュータ実装方法が提供される。コンピュータ実装方法は、プロセッサに動作可能に結合されたシステムによって、量子回路を三価格子にエンコードすることを含むことができ、三価格子は、量子回路の接続スキームに基づいて、複数のフラグ量子ビットを介して、補助量子ビットを複数のデータ量子ビットにマッピングする。
【0006】
一実施形態によれば、別のコンピュータ実装方法が提供される。コンピュータ実装方法は、プロセッサに動作可能に結合されたシステムによって、フラグ量子ビットを介して補助量子ビットを複数のデータ量子ビットにマッピングする三価格子にエンコードされた量子回路の接続スキームに基づいて、データ量子ビット・エラーの構成に対応するフラグ量子ビットの結果を決定することを含むことができる。
【0007】
一実施形態によれば、量子回路の接続スキームをエンコードするためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えることができる。プログラム命令は、プロセッサによって実行可能であり、プロセッサに、プロセッサによって量子回路を三価格子にエンコードさせることができ、三価格子は、量子回路の接続スキームに基づいて、複数のフラグ量子ビットを介して、補助量子ビットを複数のデータ量子ビットにマッピングする。
【0008】
本特許ファイルまたは出願ファイルは、カラーで作成された少なくとも1つの図面を含む。カラー図面を含む本特許または特許出願公開のコピーは、要求および必要な料金の支払いに応じて、米国特許局によって提供される。
【図面の簡単な説明】
【0009】
図1】本明細書に記載された1つまたは複数の実施形態に従って、量子回路を特徴付ける接続スキームに基づいて量子回路を三価格子にエンコードできる例示的な非限定的システムのブロック図を示す図である。
図2】本明細書に記載された1つまたは複数の実施形態に従って、量子回路の接続スキームに基づいて1つまたは複数の補助量子ビット、フラグ量子ビット、またはデータ量子ビット、あるいはその組み合わせをマッピングすることができる例示的な非限定的三価格子を示す図である。
図3A】本明細書に記載された1つまたは複数の実施形態に従って、スタビライザ測定回路(stabilizer measurement circuit)を特徴付け、重み6のパウリZスタビライザ(Pauli-Zstabilizer)の測定を容易にすることができる、三価格子上に実装された例示的な非限定的六角形状を示す図である。
図3B】本明細書に記載された1つまたは複数の実施形態に従って、スタビライザ測定回路を特徴付け、重み6のパウリXスタビライザ(Pauli-X stabilizer)の測定を容易にすることができる、三価格子上に実装された例示的な非限定的六角形状を示す図である。
図4】本明細書に記載された1つまたは複数の実施形態に従って、量子回路を特徴付ける接続スキームに基づいて量子回路を三価格子にエンコードできる例示的な非限定的システムのブロック図を示す図である。
図5A】本明細書に記載された1つまたは複数の実施形態に従って、スタビライザ測定回路を特徴付け、重み4のパウリZスタビライザの測定を容易にすることができる、三価格子上に実装された例示的な非限定的台形形状を示す図である。
図5B】本明細書に記載された1つまたは複数の実施形態に従って、スタビライザ測定回路を特徴付け、重み4のパウリXスタビライザの測定を容易にすることができる、三価格子上に実装された例示的な非限定的台形形状を示す図である。
図6】本明細書に記載された1つまたは複数の実施形態に従って、量子回路を特徴付ける接続スキームに基づいて量子回路を三価格子にエンコードできる例示的な非限定的システムのブロック図を示す図である。
図7】本明細書に記載された1つまたは複数の実施形態に従って、量子回路の接続スキームに基づいて1つまたは複数の補助量子ビット、フラグ量子ビット、またはデータ量子ビット、あるいはその組み合わせをマッピングし、スケジューリング・スキームを組み込むことができる例示的な非限定的三価格子を示す図である。
図8】本明細書に記載された1つまたは複数の実施形態に従って、量子回路を特徴付ける接続スキームに基づいて1つまたは複数のデータ量子ビット・エラーの構成に対応する1つまたは複数のフラグ量子ビットの結果を決定できる例示的な非限定的システムのブロック図を示す図である。
図9A】本明細書に記載された1つまたは複数の実施形態に従って、量子回路を特徴付けるエンコードされた三価格子に基づいて決定されることができる例示的な非限定的データ量子ビット・エラーの相関関係を示す図である。
図9B】本明細書に記載された1つまたは複数の実施形態に従って、量子回路を特徴付けるエンコードされた三価格子に基づいて決定されることができる例示的な非限定的データ量子ビット・エラーの相関関係を示す図である。
図10】本明細書に記載された1つまたは複数の実施形態に従って、量子回路を特徴付ける1つまたは複数のエンコードされた三価格子をデコードできる例示的な非限定的システムのブロック図を示す図である。
図11】本明細書に記載された1つまたは複数の実施形態に従って、量子回路を特徴付ける1つまたは複数のエンコードされた三価格子をデコードすることを容易にすることができる例示的な非限定的フラグ・スキーム(flag scheme)を示す図である。
図12A】本明細書に記載された1つまたは複数の実施形態に従って、量子回路を特徴付ける1つまたは複数のエンコードされた三価格子をデコードすることを容易にすることができる例示的な非限定的フラグ・スキームを示す図である。
図12B】本明細書に記載された1つまたは複数の実施形態に従って、量子回路を特徴付ける1つまたは複数のエンコードされた三価格子をデコードすることを容易にすることができる例示的な非限定的フラグ・スキームを示す図である。
図12C】本明細書に記載された1つまたは複数の実施形態に従って、量子回路を特徴付ける1つまたは複数のエンコードされた三価格子をデコードすることを容易にすることができる例示的な非限定的フラグ・スキームを示す図である。
図13A】本明細書に記載された1つまたは複数の実施形態に従って、脱分極ノイズ・モデル(depolarizing noise model)による悪影響を受けている色分けされたエンコード済み三価格子の論理Xエラー率(logical X error rates)を描くことができる例示的な非限定的プロット・グラフを示す図である。
図13B】本明細書に記載された1つまたは複数の実施形態に従って、脱分極ノイズ・モデルによる悪影響を受けている色分けされたエンコード済み三価格子の論理Zエラー率(logical Z error rates)を描くことができる例示的な非限定的プロット・グラフを示す図である。
図14A】本明細書に記載された1つまたは複数の実施形態に従って、量子回路の接続スキームに基づいて1つまたは複数の補助量子ビット、フラグ量子ビット、またはデータ量子ビット、あるいはその組み合わせをマッピングし、スケジューリング・スキームを組み込むことができる例示的な非限定的三価格子を示す図である。
図14B】本明細書に記載された1つまたは複数の実施形態に従って、量子回路の接続スキームに基づいて1つまたは複数の補助量子ビット、フラグ量子ビット、またはデータ量子ビット、あるいはその組み合わせをマッピングし、スケジューリング・スキームを組み込むことができる三価格子から導き出されることができる例示的な非限定的エッジを示す図である。
図15】本明細書に記載された1つまたは複数の実施形態に従って、量子回路の接続スキームに基づいて1つまたは複数の補助量子ビット、フラグ量子ビット、またはデータ量子ビット、あるいはその組み合わせをマッピングし、スケジューリング・スキームを組み込むことができる三価格子から導き出されることができる例示的な非限定的対角線エッジを示す図である。
図16A】本明細書に記載された1つまたは複数の実施形態に従って、三価格子にマッピングされたか、または色分けされたサブグラフのための2つの異なる2次元グラフを接続するか、あるいはその両方である、例示的な非限定的3次元対角線エッジを示す図である。
図16B】本明細書に記載された1つまたは複数の実施形態に従って、三価格子にマッピングされたか、または色分けされたサブグラフのための2つの異なる2次元グラフを接続するか、あるいはその両方である、例示的な非限定的3次元対角線エッジを示す図である。
図16C】本明細書に記載された1つまたは複数の実施形態に従って、三価格子にマッピングされたか、または色分けされたサブグラフのための2つの異なる2次元グラフを接続するか、あるいはその両方である、例示的な非限定的3次元対角線エッジを示す図である。
図17】本明細書に記載された1つまたは複数の実施形態に従って、1つまたは複数の量子回路を三価格子にエンコードすることを容易にすることができる、例示的な非限定的コンピュータ実装方法のフロー図を示す図である。
図18】本明細書に記載された1つまたは複数の実施形態に従って、1つまたは複数の量子回路を三価格子にエンコードすることを容易にすることができる、例示的な非限定的コンピュータ実装方法のフロー図を示す図である。
図19】本明細書に記載された1つまたは複数の実施形態に従ってクラウド・コンピューティング環境を示す図である。
図20】本明細書に記載された1つまたは複数の実施形態に従って抽象モデル・レイヤを示す図である。
図21】本明細書に記載された1つまたは複数の実施形態を容易にすることができる例示的な非限定的動作環境のブロック図を示す図である。
【発明を実施するための形態】
【0010】
以下の詳細な説明は、例にすぎず、実施形態、または実施形態の適用もしくは使用、あるいはその両方を制限するよう意図されていない。さらに、先行する「背景技術」または「発明の概要」のセクション、あるいは「発明を実施するための形態」のセクションで提示された、いずれかの明示されたか、または暗示された情報によって制約されるという意図はない。
【0011】
ここで、図面を参照して1つまたは複数の実施形態が説明され、図面全体を通じて、類似する参照番号が、類似する要素を参照するために使用されている。以下の説明では、説明の目的で、1つまたは複数の実施形態を十分に理解できるように、多数の特定の詳細が示されている。しかし、これらの特定の詳細がなくても、さまざまな事例において、1つまたは複数の実施形態が実践され得るということは明らかである。
【0012】
六角形の色コードは、すべてのクリフォード・ゲートが横方向に実装されることができるトポロジー・コード群である。しかし、色コードは、表面コードの重み4のパウリ行列スタビライザ測定(Pauli matrix stabilizer measurements)と比較した重み6のパウリ行列スタビライザ測定に一部分において起因して、表面コードと比較して、より低いしきい値を有する。その結果、少数の故障が、重みの大きいエラーにつながることがあり、したがって、色コードの有効距離は、コードの実際の距離より小さくなる可能性がある。
【0013】
本発明のさまざまな実施形態は、効率的、効果的、かつ自律的な三価格子への量子回路のエンコーディングを(例えば、直接的な人間による誘導なしで)容易にする、コンピュータ処理システム、コンピュータ実装方法、装置、またはコンピュータ・プログラム製品、あるいはその組み合わせを対象にすることができる。例えば、本明細書に記載された1つまたは複数の実施形態は、フラグ量子ビットを三価格子にエンコードすることができ、三価格子は、完全なコード距離を実現できるような方法で、少数の故障から生じる重みの大きいエラーを識別するために使用されることができる。さらに、本明細書に記載されたさまざまな実施形態は、三価格子の実装によって、周波数衝突の数を最小限に抑えることができる。
【0014】
コンピュータ処理システム、コンピュータ実装方法、装置、またはコンピュータ・プログラム製品、あるいはその組み合わせは、本質的に高度に技術的であり、抽象的ではなく、人間による一連の精神的活動として実行できない問題(例えば、三価格子への量子回路のエンコーディング)を解決するための、ハードウェアまたはソフトウェアあるいはその両方を採用する。例えば、個人は、本明細書に記載されているように、容易に接続スキームを分析し、量子回路を三価格子にエンコードすることができない。さらに、本明細書に記載されたさまざまな実施形態は、周波数衝突を減らして、量子回路製造プロセスの歩留まりの向上を促進することによって、従来のエンコーディング技術を上回る技術的改良を示すことができる。
【0015】
図1は、量子回路を三価格子にエンコードすることができる例示的な非限定的システム100のブロック図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。本発明のさまざまな実施形態におけるシステム(例えば、システム100など)、装置、またはプロセスの態様は、1つまたは複数のマシン内で具現化された(例えば、1つまたは複数のマシンに関連付けられた1つまたは複数のコンピュータ可読媒体内で具現化された)1つまたは複数の機械実行可能コンポーネントを構成することができる。そのようなコンポーネントは、1つまたは複数のマシン(例えば、コンピュータ、コンピューティング・デバイス、仮想マシンなど)によって実行された場合に、マシンに、説明された動作を実行させることができる。
【0016】
図1に示されているように、システム100は、1つまたは複数のサーバ102、1つまたは複数のネットワーク104、または1つまたは複数の入力デバイス106、あるいはその組み合わせを備えることができる。サーバ102は、グラフ・コンポーネント108を備えることができる。グラフ・コンポーネント108は、第1のスタビライザ・コンポーネント110をさらに備えることができる。また、サーバ102は、少なくとも1つのメモリ112を備えるか、またはその他の方法で少なくとも1つのメモリ112に関連付けられることができる。サーバ102は、グラフ・コンポーネント108および関連するコンポーネント、メモリ112、通信コンポーネント116、またはプロセッサ118、あるいはその組み合わせなどの、ただしこれらに限定されない、さまざまなコンポーネントに結合することができる、システム・バス114をさらに備えることができる。図1ではサーバ102が示されているが、他の実施形態では、さまざまな種類の複数のデバイスが、図1に示されている特徴に関連付けられるか、または図1に示されている特徴を備えることができる。さらに、サーバ102は、1つまたは複数のクラウド・コンピューティング環境と通信することができる。
【0017】
1つまたは複数のネットワーク104は、セルラー・ネットワーク、広域ネットワーク(WAN:wide area network)(例えば、インターネット)またはローカル・エリア・ネットワーク(LAN:local area network)を含むが、これらに限定されない、有線ネットワークおよび無線ネットワークを含むことができる。例えば、サーバ102は、例えばセルラー方式、WAN、ワイヤレス・フィディリティ(Wi-Fi:wireless fidelity)、Wi-Max、WLAN、またはBluetooth技術、あるいはその組み合わせなどを含むが、これらに限定されない、実質的に任意の望ましい有線技術または無線技術を使用して、1つまたは複数の入力デバイス106と(およびその逆方向に)通信することができる。さらに、示されている実施形態では、グラフ・コンポーネント108を1つまたは複数のサーバ102上に設けることができるが、システム100のアーキテクチャがそのように制限されないということが理解されるべきである。例えば、グラフ・コンポーネント108またはグラフ・コンポーネント108の1つまたは複数のコンポーネントは、別のサーバ・デバイス、クライアント・デバイスなどの別のコンピュータ・デバイスに存在することができる。
【0018】
1つまたは複数の入力デバイス106は、パーソナル・コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、携帯電話(例えば、スマートフォン)、(例えば、プロセッサを備えている)コンピュータ化されたタブレット、スマート・ウォッチ、キーボード、タッチ・スクリーン、またはマウス、あるいはその組み合わせなどを含むことができるが、これらに限定されない、1つまたは複数のコンピュータ化されたデバイスを含むことができる。システム100のユーザは、1つまたは複数の入力デバイス106を利用して、1つまたは複数の接続スキームをシステム100に入力することができ、それによって、(例えば、直接接続によって、または1つまたは複数のネットワーク104を介して、あるいはその両方によって)前述のデータをサーバ102と共有する。例えば、1つまたは複数の入力デバイス106は、(例えば、直接接続を介して、または1つまたは複数のネットワーク104を介して、あるいはその両方によって)データを通信コンポーネント116に送信することができる。さらに、1つまたは複数の入力デバイス106は、システム100によって生成された1つまたは複数の出力をユーザに提示できる1つまたは複数のディスプレイを備えることができる。例えば、1つまたは複数のディスプレイは、陰極管ディスプレイ(CRT)、発光ダイオード・ディスプレイ(LED:light-emitting diode display)、電界発光ディスプレイ(ELD:electroluminescent display)、プラズマ・ディスプレイ・パネル(PDP:plasma display panel)、液晶ディスプレイ(LCD:liquid crystal display)、または有機発光ダイオード・ディスプレイ(OLED:organic light-emitting diode display)、あるいはその組み合わせなどを含むことができるが、これらに限定されない。
【0019】
システム100のユーザは、1つまたは複数の入力デバイス106または1つまたは複数のネットワーク104あるいはその両方を利用して、1つまたは複数の設定またはコマンドあるいはその両方をシステム100に入力することができる。例えば、本明細書に記載されたさまざまな実施形態では、システム100のユーザは、1つまたは複数の入力デバイス106を介してサーバ102または関連するコンポーネントあるいはその両方を動作させるか、または操作するか、あるいはその両方を行うことができる。さらに、システム100のユーザは、1つまたは複数の入力デバイス106を利用して、サーバ102または関連するコンポーネントあるいはその両方によって生成された1つまたは複数の出力(例えば、表示、データ、または視覚化、あるいはその組み合わせなど)を表示することができる。さらに、1つまたは複数の実施形態では、1つまたは複数の入力デバイス106が、クラウド・コンピューティング環境内に含まれるか、またはクラウド・コンピューティング環境に動作可能に結合されるか、あるいはその両方であることができる。
【0020】
通信コンポーネント116は、1つまたは複数の入力デバイス106と、サーバ102に関連付けられた1つまたは複数のコンポーネントの間の通信を容易にすることができる。例えば、さまざまな実施形態では、通信コンポーネントは、1つまたは複数の入力デバイス106とグラフ・コンポーネント108の間の通信を容易にすることができる。
【0021】
さまざまな実施形態では、グラフ・コンポーネント108は、量子回路を三価格子にエンコードすることができ、三価格子は、量子回路の1つまたは複数の接続スキームに基づいて、複数のフラグ量子ビットを介して、1つまたは複数の補助量子ビットを複数のデータ量子ビットにマッピングする。例えば、1つまたは複数の接続スキームは、量子回路の構成またはレイアウトあるいはその両方を考慮することができる。例えば、1つまたは複数の接続スキームは、量子回路に含まれているさまざまな量子ゲートの位置または種類あるいはその両方を示すことができる。さらに、1つまたは複数の接続スキームは、量子回路のさまざまな量子ビットが互いにどのようにもつれているかを示すことができる。例えば、1つまたは複数の接続スキームは、特定の補助量子ビットが1つまたは複数のフラグ量子ビットまたはデータ量子ビットあるいはその両方とどのようにもつれているかを示すことができる。
【0022】
1つまたは複数の実施形態では、グラフ・コンポーネント108は、量子回路を三価格子にエンコードし、1つまたは複数の交差共鳴(CR:cross resonance)ゲートを介して固定周波数トランズモン量子ビットが結合されている超伝導量子ビット・アーキテクチャの製造を容易にすることができる。超伝導量子ビット・アーキテクチャに関しては、補助量子ビットとデータ量子ビットの間の接続の次数を減らすことによって、周波数衝突またはクロストーク・エラーあるいはその両方を最小限に抑えることができる。グラフ・コンポーネント108は、特定の量子回路の補助量子ビットまたはデータ量子ビットあるいはその両方が次数3の接続を有することができるように、三価格子上で1つまたは複数の量子回路をエンコードすることによって、周波数衝突またはクロストーク・エラーあるいはその両方における減少を実現することができる。
【0023】
例えば、グラフ・コンポーネント108は、1つまたは複数の六角形状または台形形状あるいはその両方を三価格子上に実装することができる。六角形状または台形形状あるいはその両方の角は、1つまたは複数の接続スキームによって特徴付けられたデータ量子ビットに対応することができる。さらに、1つまたは複数の頂点が、データ量子ビットによって描かれた1つまたは複数の六角形の面内または台形の面内あるいはその両方の三価格子に配置されることができる。1つまたは複数の頂点が、1つまたは複数の補助量子ビットまたはフラグ量子ビットあるいはその両方に対応することができ、パウリXまたはパウリYあるいはその両方のスタビライザの重みを測定するために使用されることができる。さらに、各頂点の次数は、3以下であることができ、このようにして、CRゲートを使用して1つまたは複数の制御NOT(CNOT:controlled NOT)ゲートが実行されるときの周波数衝突の数を減らすことができる。
【0024】
図2は、本明細書に記載された1つまたは複数の実施形態に従って、例示的な非限定的三価格子200の図を示しており、三価格子200上で、グラフ・コンポーネント108が1つまたは複数の量子回路をエンコードすることができる。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。図2に示されているように、反復する六角形状で広がる実線によって、例示的な三価格子200が描かれることができる。当業者は、例示的な三価格子200のサイズが、図2に示された例示的なサイズに制限されず、例示的な三価格子200のサイズが、エンコードされている量子回路に依存することができるということを認識するであろう。
【0025】
さらに、グラフ・コンポーネント108は、1つまたは複数の六角形状または台形形状あるいはその両方を三価格子200上に実装することができ、実装される六角形状または台形形状あるいはその両方は、三価格子200の反復する六角形状より大きくなることができる。各六角形の領域または台形の領域あるいはその両方は、パウリ行列スタビライザ測定回路(例えば、重み6のスタビライザ測定または重み4のスタビライザ測定)に対応することができる。特定のスタビライザを測定するために1つの補助量子ビットのみが必要であるため、パウリ行列スタビライザ測定回路内の残りのすべての補助量子ビットは、少ない故障から生じる重みの大きいエラーを修正するためのフラグ量子ビットとして機能することができる。
【0026】
例えば、図2は、グラフ・コンポーネント108によって実装されることができる1つまたは複数の六角形状または台形形状あるいはその両方を、破線で示している。図2に示されているように、1つまたは複数の灰色の頂点は、複数のデータ量子ビットに対応することができ、または実装された六角形もしくは台形形状またはその両方の角に存在することができ、あるいはその両方であることができる。さらに、図2に示された1つまたは複数の白色の頂点は、複数のフラグ量子ビットに対応することができる。フラグ量子ビットの頂点は、三価格子上に配置されることができる。さらに、図2に示された1つまたは複数の黒色の頂点は、複数の補助量子ビットに対応することができる。補助量子ビットの頂点も、三価格子上に配置されることができる。図2に示されているように、(例えば、図2で黒色の円形によって表された)補助量子ビットの頂点または(例えば、図2で白色の円形によって表された)フラグ量子ビットの頂点あるいはその両方は、1つまたは複数の六角形状または台形形状あるいはその両方を(例えば、複数のデータ量子ビットの頂点によって定義された)三価格子200上に実装することによって定義された六角形の領域内または台形の領域内に配置されることができる。
【0027】
例えば、図2に示されているように、グラフ・コンポーネント108によって実装された六角形状の境界は、六角形状の角に配置された(例えば、図2で灰色の円形によって表された)6つのデータ量子ビットの頂点によって定義されることができる。六角形状によって定義された六角形の領域内で、例示的な三価格子200は、(例えば、白色の円形によって表された)3つのフラグ量子ビットの頂点または(例えば、黒色の円形によって表された)1つの補助量子ビットの頂点あるいはその両方を含むことができる。さらに、六角形の領域内の(例えば、黒色の円形によって表された)補助量子ビットの頂点は、例示的な三価格子200を介して、(例えば、白色の円形によって表された)3つのフラグ量子ビットの頂点に接続されることができる。次に、(例えば、白色の円形によって表された)3つのフラグ量子ビットの頂点の各々が、例示的な三価格子200を介して、(例えば、灰色の円形によって表された)2つのデータ量子ビットの頂点に接続されることができる。
【0028】
別の例では、グラフ・コンポーネント108によって実装された台形形状の境界は、台形形状の角に配置された(例えば、図2で灰色の円形によって表された)4つのデータ量子ビットの頂点によって定義されることができる。台形形状によって定義された台形の領域内で、例示的な三価格子200は、(例えば、白色の円形によって表された)2つのフラグ量子ビットの頂点または(例えば、黒色の円形によって表された)1つの補助量子ビットの頂点あるいはその両方を含むことができる。さらに、台形の領域内の(例えば、黒色の円形によって表された)補助量子ビットの頂点は、例示的な三価格子200を介して、(例えば、白色の円形によって表された)2つのフラグ量子ビットの頂点に接続されることができる。次に、(例えば、白色の円形によって表された)2つのフラグ量子ビットの頂点の各々が、例示的な三価格子200を介して、(例えば、灰色の円形によって表された)2つのデータ量子ビットの頂点に接続されることができる。
【0029】
図1を再び参照すると、さまざまな実施形態では、第1のスタビライザ・コンポーネント110が、量子回路の接続スキームに基づいて、重み6のパウリXスタビライザまたはパウリZスタビライザあるいはその両方の測定のために、複数のデータ量子ビットを三価格子(例えば、例示的な三価格子200)にエンコードすることができる。例えば、第1のスタビライザ・コンポーネント110は、六角形状を実装して、1つまたは複数の重み6のスタビライザ測定回路をエンコードすることができる。
【0030】
図3Aまたは3Bあるいはその両方は、本明細書に記載された1つまたは複数の実施形態に従って第1のスタビライザ・コンポーネント110によって実行されることができる例示的な非限定的エンコーディング動作の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。図3Aは、グラフ・コンポーネント108によってエンコードされることができる第1のスタビライザ測定回路302を示している。
【0031】
図3Aに示されているように、第1のスタビライザ測定回路302は、重み6のパウリZスタビライザを測定するための2フラグ回路であることができる。例えば、「v」故障が「v」より大きい重みのデータ量子ビット・エラーをもたらす場合、フラグ量子ビットのうちの少なくとも1つのフラグが立つことができる。第1のスタビライザ測定回路302は、黒色の円形によって描かれた補助量子ビットを含んでいる。さらに、第1のスタビライザ測定回路302は、番号付けされた白色の円形によって描かれた3つのフラグ量子ビット(例えば、図3Aに示されているようなフラグ量子ビット「1」、「2」、または「3」、あるいはその組み合わせ)を含むことができる。また、第1のスタビライザ測定回路302は、番号付けされた灰色の円形によって描かれた6つのデータ量子ビット(例えば、図3Aに示されているようなデータ量子ビット「1」、「2」、「3」、「4」、「5」、または「6」、あるいはその組み合わせ)を含むことができる。
【0032】
さまざまな実施形態では、第1のスタビライザ・コンポーネント110は、第1のスタビライザ測定回路302などの重み6のZスタビライザ測定回路を、図3Aの例示的な三価格子200を参照して示されたような三価格子にエンコードすることができる。例えば、第1のスタビライザ・コンポーネント110は、本明細書に記載されたさまざまな実施形態に従って、第1のスタビライザ測定回路302の番号付けされたデータ量子ビットに対応する(例えば、灰色の円形によって表された)6つのデータ量子ビットの頂点を、六角形の領域を定義できる例示的な三価格子200上の位置にマッピングすることができる。
【0033】
さらに、第1のスタビライザ・コンポーネント110は、本明細書に記載されたさまざまな実施形態に従って、第1のスタビライザ測定回路302の番号付けされたフラグ量子ビットに対応する(例えば、白色の円形によって表された)3つのフラグ量子ビットの頂点を、例示的な三価格子200上および定義された六角形の領域内の位置にマッピングすることができる。加えて、第1のスタビライザ測定回路302の接続に基づいて、3つのフラグ量子ビットの頂点の各々が、2つのデータ量子ビットの頂点に接続される。例えば、第1のスタビライザ測定回路302は、(例えば、「1」で番号付けされた灰色の円形によって表された)第1のデータ量子ビットおよび(例えば、「2」で番号付けされた灰色の円形によって表された)第2のデータ量子ビットともつれている(例えば、「1」で番号付けされた白色の円形によって表された)第1のフラグ量子ビットを示している。同様に、図3Aに示された例示的な三価格子200は、(例えば、「1」で番号付けされた灰色の円形によって表された)第1のデータ量子ビットの頂点および(例えば、「2」で番号付けされた灰色の円形によって表された)第2のデータ量子ビットの頂点に接続された(例えば、「1」で番号付けされた白色の円形によって表された)第1のフラグ量子ビットの頂点を示している。
【0034】
図3Bは、第2の例示的なスタビライザ測定回路304を示している。図3Bに示されているように、第2のスタビライザ測定回路304は、重み6のパウリXスタビライザを測定するための2フラグ回路であることができる。例えば、量子回路は、黒色の円形によって第2のスタビライザ測定回路304内に描かれた補助量子ビットを含むことができる。さらに、第2のスタビライザ測定回路304は、番号付けされた白色の円形によって描かれた3つのフラグ量子ビット(例えば、図3Bに示されているようなフラグ量子ビット「1」、「2」、または「3」、あるいはその組み合わせ)を含むことができる。また、第2のスタビライザ測定回路304は、番号付けされた灰色の円形によって描かれた6つのデータ量子ビット(例えば、図3Bに示されているようなデータ量子ビット「1」、「2」、「3」、「4」、「5」、または「6」、あるいはその組み合わせ)を含むことができる。
【0035】
さまざまな実施形態では、第1のスタビライザ・コンポーネント110は、第2のスタビライザ測定回路304などの重み6のXスタビライザ測定回路を、図3Bの例示的な三価格子200を参照して示されたような三価格子にエンコードすることもできる。例えば、第1のスタビライザ・コンポーネント110は、本明細書に記載されたさまざまな実施形態に従って、第2のスタビライザ測定回路304の番号付けされたデータ量子ビットに対応する(例えば、灰色の円形によって表された)6つのデータ量子ビットの頂点を、六角形の領域を定義できる例示的な三価格子200上の位置にマッピングすることができる。
【0036】
さらに、第1のスタビライザ・コンポーネント110は、本明細書に記載されたさまざまな実施形態に従って、第2のスタビライザ測定回路304の番号付けされたフラグ量子ビットに対応する(例えば、白色の円形によって表された)3つのフラグ量子ビットの頂点を、例示的な三価格子200上および定義された六角形の領域内の位置にマッピングすることができる。加えて、第2のスタビライザ測定回路304の接続に基づいて、3つのフラグ量子ビットの頂点の各々が、2つのデータ量子ビットの頂点に接続される。例えば、第2のスタビライザ測定回路304は、(例えば、「1」で番号付けされた灰色の円形によって表された)第1のデータ量子ビットおよび(例えば、「2」で番号付けされた灰色の円形によって表された)第2のデータ量子ビットともつれている(例えば、「1」で番号付けされた白色の円形によって表された)第1のフラグ量子ビットを示している。同様に、図3Bに示された例示的な三価格子200は、(例えば、「1」で番号付けされた灰色の円形によって表された)第1のデータ量子ビットの頂点および(例えば、「2」で番号付けされた灰色の円形によって表された)第2のデータ量子ビットの頂点に接続された(例えば、「1」で番号付けされた白色の円形によって表された)第1のフラグ量子ビットの頂点を示している。
【0037】
図4は、本明細書に記載された1つまたは複数の実施形態に従って、第2のスタビライザ・コンポーネント402をさらに備えている例示的な非限定的システム100の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。さまざまな実施形態では、第2のスタビライザ・コンポーネント402が、量子回路の接続スキームに基づいて、重み4のパウリXスタビライザまたはパウリZスタビライザあるいはその両方の測定のために、複数のデータ量子ビットを三価格子(例えば、例示的な三価格子200)にエンコードすることができる。例えば、第2のスタビライザ・コンポーネント402は、台形形状を実装して、1つまたは複数の重み4のスタビライザ測定回路をエンコードすることができる。
【0038】
図5Aまたは5Bあるいはその両方は、本明細書に記載された1つまたは複数の実施形態に従って第2のスタビライザ・コンポーネント402によって実行されることができる例示的な非限定的エンコーディング動作の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。図5Aは、例示的な第3のスタビライザ測定回路502を示している。図5Aに示されているように、第3のスタビライザ測定回路502は、重み4のパウリZスタビライザを測定するための1フラグ回路であることができる。例えば、単一故障が1より大きい重みのデータ量子ビット・エラーをもたらす場合、フラグ量子ビットのうちの少なくとも1つのフラグが立つことができる。第3のスタビライザ測定回路502は、黒色の円形によって描かれた補助量子ビットを含むことができる。さらに、第3のスタビライザ測定回路502は、番号付けされた白色の円形によって描かれた2つのフラグ量子ビット(例えば、図5Aに示されているようなフラグ量子ビット「1」、「2」、または「3」、あるいはその組み合わせ)を含むことができる。また、第3のスタビライザ測定回路502は、番号付けされた灰色の円形によって描かれた4つのデータ量子ビット(例えば、図5Aに示されているようなデータ量子ビット「1」、「2」、「3」、「4」)を含むことができる。
【0039】
さまざまな実施形態では、第2のスタビライザ・コンポーネント402は、第3のスタビライザ測定回路502などの重み4のZスタビライザ測定回路を、図5Aの例示的な三価格子200を参照して示されたような三価格子にエンコードすることができる。例えば、第2のスタビライザ・コンポーネント402は、本明細書に記載されたさまざまな実施形態に従って、第3のスタビライザ測定回路502の番号付けされたデータ量子ビットに対応する(例えば、灰色の円形によって表された)4つのデータ量子ビットの頂点を、台形の領域を定義できる例示的な三価格子200上の位置にマッピングすることができる。
【0040】
さらに、第2のスタビライザ・コンポーネント402は、本明細書に記載されたさまざまな実施形態に従って、第3のスタビライザ測定回路502の番号付けされたフラグ量子ビットに対応する(例えば、白色の円形によって表された)2つのフラグ量子ビットの頂点を、例示的な三価格子200上および定義された台形の領域内の位置にマッピングすることができる。加えて、第3のスタビライザ測定回路502の接続に基づいて、2つのフラグ量子ビットの頂点の各々が、2つのデータ量子ビットの頂点に接続される。例えば、第3のスタビライザ測定回路502は、(例えば、「2」で番号付けされた灰色の円形によって表された)第2のデータ量子ビットおよび(例えば、「4」で番号付けされた灰色の円形によって表された)第4のデータ量子ビットともつれている(例えば、「1」で番号付けされた白色の円形によって表された)第1のフラグ量子ビットを示している。同様に、図5Aに示された例示的な三価格子200は、(例えば、「2」で番号付けされた灰色の円形によって表された)第2のデータ量子ビットの頂点および(例えば、「4」で番号付けされた灰色の円形によって表された)第4のデータ量子ビットの頂点に接続された(例えば、「1」で番号付けされた白色の円形によって表された)第1のフラグ量子ビットの頂点を示している。
【0041】
図5Bは、別の量子回路を特徴付けることができる例示的な第4のスタビライザ測定回路504を示している。図5Bに示されているように、第4のスタビライザ測定回路504は、重み4のパウリXスタビライザを測定するための1フラグ回路であることができる。例えば、第4のスタビライザ測定回路504は、黒色の円形によって描かれた補助量子ビットを含むことができる。さらに、第4のスタビライザ測定回路504は、番号付けされた白色の円形によって描かれた2つのフラグ量子ビット(例えば、図5Bに示されているようなフラグ量子ビット「1」、「2」、または「3」、あるいはその組み合わせ)を含むことができる。また、第4のスタビライザ測定回路504は、番号付けされた灰色の円形によって描かれた4つのデータ量子ビット(例えば、図5Bに示されているようなデータ量子ビット「1」、「2」、「3」、「4」)を含むことができる。
【0042】
さまざまな実施形態では、第2のスタビライザ・コンポーネント402は、第4のスタビライザ測定回路504などの重み4のZスタビライザ測定回路を、図5Bの例示的な三価格子200を参照して示されたような三価格子にエンコードすることもできる。例えば、第2のスタビライザ・コンポーネント402は、本明細書に記載されたさまざまな実施形態に従って、第4のスタビライザ測定回路504の番号付けされたデータ量子ビットに対応する(例えば、灰色の円形によって表された)4つのデータ量子ビットの頂点を、台形の領域を定義できる例示的な三価格子200上の位置にマッピングすることができる。
【0043】
さらに、第2のスタビライザ・コンポーネント402は、本明細書に記載されたさまざまな実施形態に従って、第4のスタビライザ測定回路504の番号付けされたフラグ量子ビットに対応する(例えば、白色の円形によって表された)2つのフラグ量子ビットの頂点を、例示的な三価格子200上および定義された六角形の領域内の位置にマッピングすることができる。加えて、第4のスタビライザ測定回路504の接続に基づいて、2つのフラグ量子ビットの頂点の各々が、2つのデータ量子ビットの頂点に接続される。例えば、第4のスタビライザ測定回路504は、(例えば、「2」で番号付けされた灰色の円形によって表された)第2のデータ量子ビットおよび(例えば、「4」で番号付けされた灰色の円形によって表された)第4のデータ量子ビットともつれている(例えば、「1」で番号付けされた白色の円形によって表された)第1のフラグ量子ビットを示している。同様に、図5Bに示された例示的な三価格子200は、(例えば、「2」で番号付けされた灰色の円形によって表された)第2のデータ量子ビットの頂点および(例えば、「4」で番号付けされた灰色の円形によって表された)第4のデータ量子ビットの頂点に接続された(例えば、「1」で番号付けされた白色の円形によって表された)第1のフラグ量子ビットの頂点を示している。
【0044】
図6は、本明細書に記載された1つまたは複数の実施形態に従って、スケジューリング・コンポーネント602をさらに備えている例示的な非限定的システム100の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。さまざまな実施形態では、スケジューリング・コンポーネント602は、パウリXスタビライザまたはパウリZスタビライザあるいはその両方の測定のために、CNOTのスケジューリングを実行することができる。1つまたは複数の実施形態では、スケジューリング・コンポーネント602は、三価格子の境界での重み4のチェックのためのCNOTのスケジューリングを調整することによって、スケジューリングの競合を回避することができる。
【0045】
図7は、本明細書に記載された1つまたは複数の実施形態に従って、スケジューリング・コンポーネント602によって生成されることができる例示的な非限定的スケジューリング・スキーム700の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。図7は、5のコード距離を有している三価格子に関するCNOTのスケジューリング・スキーム700を示している。例えば、図7は、回路の深さの合計を最小限に抑えることができる、Xスタビライザ測定の1サイクルに関する完全なCNOTのスケジューリング・スキーム700を示すことができる。
【0046】
例えば、三価格子は、(例えば、図7の「b」、「b」、または「b」、あるいはその組み合わせによって表された)3つの境界によって定義されることができ、各境界は、5つのデータ量子ビットの頂点を含むことができる。図7に示されているように、スケジューリング・コンポーネント602は、1つまたは複数の補助量子ビットの頂点、フラグ量子ビットの頂点、またはデータ量子ビットの頂点、あるいはその組み合わせに関連付けられた時間ステップ(例えば、関連する量子ビットの頂点に隣接して示された整数1~6)に基づいて、スケジューリング・スキーム700を生成することができる。フレーム702内に示されているように、スケジューリング・コンポーネント602は、境界b、b、またはb、あるいはその組み合わせでの重み4のチェックのためのCNOTのスケジューリングが異なることを保証することによって、1つまたは複数のスケジューリングの競合を回避しながら、スケジューリング・スキームを生成することができる。(例えば、「b」、「b」、または「b」、あるいはその組み合わせによって表された)境界で重み4のスタビライザ測定のための同じCNOTのスケジューリングが使用された場合、Xスタビライザ測定を実行するために、追加の時間ステップが必要になる。したがって、スケジューリング・コンポーネント602は、各境界で、重み4のスタビライザのために異なるスケジューリングを利用することができる。
【0047】
図8は、本明細書に記載された1つまたは複数の実施形態に従って、結果コンポーネント802をさらに備えている例示的な非限定的システム100の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。さまざまな実施形態では、結果コンポーネント802は、三価格子(例えば、例示的な三価格子200)にエンコードされた量子回路の1つまたは複数の接続スキームに基づいて、1つまたは複数のデータ量子ビット・エラーの構成に対応する1つまたは複数のフラグ量子ビットの結果を決定することができる。
【0048】
コード距離(「d」)に関して、結果コンポーネント802は、最大で(d-1)/2個の故障の任意の集合から生じるエラーの修正を可能にすることができる。故障からのエラーが線形に結合するため、結果コンポーネント802は、フラグ量子ビットによってフラグが立てられた(d-1)個の故障の任意の集合から生じるエラーを検出することができる。例えば、(例えば、第1のスタビライザ・コンポーネント110または第2のスタビライザ・コンポーネント402あるいはその両方によってエンコードされた)スタビライザ測定において、故障からの2つ以上のエラーがデータ上に配置された場合は常に、フラグ量子ビットのフラグが立つことができるか、または少なくとも2つの故障が発生した可能性がある。また、論理パウリ演算子のサポートが、0個、2個、4個、または5個のいずれかの場所でスタビライザのサポートと交差するような方法で、三価格子内のデータ量子ビットに対する任意の論理パウリ演算子がサポートされる。論理パウリのサポートにおいて、分割量子ビット(partition qubits)が(例えば、共有量子ビット(sharing qubits)を含まない)個別のスタビライザに属することができ、mは、i個のそのような量子ビットを保有することができるスタビライザの数である。論理パウリ演算子のサポートのサイズは、少なくともd+2m+6mであることができる。上記を考慮して、検出されない(例えば、フラグ量子ビットのフラグが立てられず、補助量子ビットもトリガーされない)論理パウリ演算子は、d個より少ない故障から生じることができない。
【0049】
さまざまな実施形態では、結果コンポーネント802は、グラフ・コンポーネント108によってエンコードされた1フラグ回路を利用して、完全なコード距離「d」を可能にしながら、パウリ行列スタビライザを測定することができる。例えば、シンドローム抽出の1サイクル内で、d-1個以下の故障のどの集合も、フラグ量子ビットがフラグを立てずに、論理エラーがデータ上に配置されることを引き起こさない。それによって、[(d-1)/2]個以下の故障の2つの異なる集合が、フラグによって、またはシンドローム抽出の将来のサイクルによって、区別されることができる。
【0050】
Z型スタビライザまたはX型スタビライザを測定する回路が、補助量子ビットからデータ量子ビットにエラーを伝搬する場合、データ上に生じるエラーは、それぞれZエラーまたはXエラーになる可能性がある。フラグ量子ビットがフラグを立てずに非自明な論理演算子「P」を配置するために「f」個の故障を要する場合、結果コンポーネント802は、f≦f個の故障を使用して、論理演算子Z(P)を配置することができ、f’≦f個の故障を使用して、論理演算子X(P)を配置することができ、Z(P)は、PがZまたはYを含む場合は常にパウリZを含み、そうでない場合は単位元を含む、Z形パウリ列(Pauli string)であり、X(P)=PZ(P)である。Pが非自明であるため、Z(P)およびX(P)のうちの少なくとも1つも、完全にZ形またはX型であるが、非自明である。結果コンポーネント802は、コードの対称性を使用して、Z(P)が非自明であると仮定することができる。以下では、結果コンポーネント802は、純粋にZ形のエラーに注目を制限し、f≧f≧dの下限を確立することができる。
【0051】
Z形の論理パウリ演算子Pを前提として、結果コンポーネント802は、論理パウリ演算子Pのサポートの部分を各面に関連付けることができる。シンドローム抽出の1サイクルの間に、面I上のスタビライザを測定する回路内の故障は、集合A内の量子ビットでのZエラーをもたらすことができる。s個の面が存在し、Δが集合に対する対称差演算である場合、supp(P)=AΔAΔ...ΔAであるため、結果コンポーネント802では、集合{A}の集まりをsupp(P)の上位分割(over-partition)と呼ぶことができる。すべてのi≠jについてA∩A=φである場合、{A}は実際に分割であり、supp(P)=A∪A∪...∪Aである。x=0,1,...,6についてa=|{i:|A|=x}|とすると、結果コンポーネント802は、サイズxの集合の数を数えることができる。さらに、任意の上位分割について、
【数1】

および
【数2】

であり、{A}が分割である場合、かつ{A}が分割である場合にのみ等号が成り立つ。特定の論理演算子は、複数の上位分割および複数の分割を含むことができる。A‘⊆Aとなるように、上位分割{A}ごとに、分割{A’}が存在することができる(例えば、2つの集合AiおよびAjに現れる量子ビットが存在する場合、それを繰り返し見つけて、両方の集合からその量子ビットを除去することによって形成される)。さらに、{A’}は{A}の下位分割(sub-partition)であることができる。
【0052】
結果コンポーネント802は、少なくとも次の2つの事実を観察することができる。第一に、1フラグ回路のシンドローム抽出がデータ上の2つ以上のエラーをもたらす場合、2つ以上の故障が回路に発生したか、またはフラグが立った。第二に、任意の分割{A’}について、|supp(P)|≧d+a‘+2a’+4a‘+6a’である。例えば、{A}が論理演算子Pの分割であることができるため、A
【数3】

(例えば、面iのサポート内のAの補集合)に置き換えることは、別の論理演算子(すなわち、Pに面i上のスタビライザを掛ける)の上位分割であることができる。したがって、結果コンポーネント802は、|A|≦3である場合にB=Aを選択し、|A|≧4である場合に
【数4】

を選択して、論理演算子Qの上位分割を得ることができる。その結果、b=b=b=0、b≧a+a、b=a+a、b≦a+a、およびb=aとなる。すべての面が六角形である場合、bとaの間のすべての関係に等号が存在することができるが、正方形の面の存在は、不等号を成り立たせることができる。したがって、d≦|supp(Q)|≦b+2b+3b≦|supp(P)|-2a-4a-6a:=Nである。
【0053】
上記を考慮して、Qが、すべてのiについて|B|≦3、b>0、および|supp(Q)|≦b+2b+3b≦Nとなるような上位分割{B}を含む論理演算子である場合、すべてのiについて|B’|≦3、b’<b、および|supp(Q’)|≦b’+2b’+3b’≦N-(b-b‘)となるような上位分割{B’}を含む別の論理演算子Q’が存在することができる。さらに、g=g=g=g=0およびd≦|supp(R)|≦N-aとなるような上位分割{G}を含む論理演算子Rが存在することができ、Nを最後の不等号に組み込むことによって、前述したように、結果コンポーネント802によって観察された2番目の事実の証明を完了することができる。
【0054】
例えば、この証明は、2つのステップで進むことができる。第1のステップは、|supp(Q)|=c+2c+3c≦(b+2b+3b)-(b-c)となるようなQの下位分割{C}である。少なくともb-cのため、不等号が成り立つことができ、下位分割アルゴリズムの間に、サイズ3を有する集合Bは、サイズ2以下を有する集合Cになることができる。しかし、c=bであってよい。第2のステップでは、|C|=3となるような面iを見つけることができる。Qは、論理であることができるため、面i上でスタビライザと可換であることができ、面のサポートと重複することができ、それによって、別の量子ビットq∈supp(Q)を意味するが、
【数5】

であり、そのため一部のj≠iについてq∈Cである。次に、別の論理演算子Q’について、新しい上位分割{B’}が定義されることができる。さらに、
【0055】
【数6】

である。ここで、|supp(Q’)|≦b’+2b’+3b’≦|supp(Q)|-(c-b‘)≦N-(b-b’)となるように、b≧c>b‘≧c-2である。
【0056】
したがって、|A|≧2の場合に、A内のすべての量子ビットでエラーを引き起こすためには、少なくとも2つの故障を要することができる(例えば、合計で
【数7】

個の故障を意味する)。さらに、
【数8】

であり、この式の並べ替えが、d≦a‘+2a’+2a+2a+a≦fと示される。
【0057】
1つまたは複数のフラグ量子ビットによるフラグ設定イベントに応答して、結果コンポーネント802は、フラグ設定イベントを引き起こす可能性のあるデータ量子ビット・エラーの構成を決定するために、(例えば、グラフ・コンポーネント108によって)エンコードされた三価格子を分析し、特定の量子回路を特徴付けることができる。例えば、
【数9】

スタビライザ測定中に、結果コンポーネント802が故障(例えば、単一故障)を検出する場合、結果コンポーネント802は、第1のスタビライザ・コンポーネント110によって三価格子上に実装された六角形状に基づいて、1つまたは複数の可能性のあるデータ量子ビット・エラーを決定し、特定の量子ビット回路(例えば、図3Aに示された三価格子など)の接続スキームを特徴付けることができる。例えば、エンコードされた三価格子は、どのデータ量子ビットがトリガーされるフラグ量子ビットに接続されるかを示すことができ、それによって、検出された故障に関連付けられることができる。
【0058】
図9Aは、本明細書に記載された1つまたは複数の実施形態に従って、結果コンポーネント802によって決定されることができる例示的な非限定的データ量子ビット・エラーの相関関係の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。図9Aは、結果コンポーネント802によって決定されることができる6つのデータ量子ビット・エラーの相関関係を示している。明確にするために、図9Aに示された例示的なデータ量子ビット・エラーの相関関係は、図3Aに示されたエンコードされた例示的な三価格子に基づくことができる。例示的なデータ量子ビット・エラーの相関関係の各々について、矢印の左に、第1のスタビライザ測定コンポーネント302の3つのフラグ量子ビットに関する可能性のあるフラグの結果を示すことができ、矢印の右に、特定のフラグの結果に対応することができる可能性のあるデータ量子ビット・エラーを示すことができる。
【0059】
図9Aは、非自明なフラグ量子ビット測定結果につながる単一故障から生じる可能性のあるデータ量子ビット・エラーを示すことができる。例えば、重み6のZスタビライザの場合、2つの非自明なフラグ測定結果をもたらす単一故障から生じる可能性がある非自明なデータ量子ビット・エラーは、Zである(例えば、第1および第3のフラグ量子ビットが、非自明な測定結果を含む可能性がある場合)。2つ以上の非自明なフラグ測定結果をもたらす単一故障から生じる他のエラーは、データ量子ビットへの伝搬を回避することができる。さらに、単一故障は、2以下の重み値のデータ量子ビット・エラーをもたらすことができる。
【0060】
例えば、図9Aは、図3Aに示された例示的な三価格子200によって特徴付けられた
【数10】

スタビライザ測定中に単一故障から生じる可能性のあるフラグ量子ビットの結果またはデータ量子ビット・エラーの修正あるいはその両方を示している。図3Bに示された例示的な三価格子200によって特徴付けられた
【数11】

スタビライザ測定中に単一故障から生じるフラグ量子ビットの結果またはデータ量子ビット・エラーの相関関係あるいはその両方は、「Z」が「X」に置き換えられることを除いて、図9Aに示されたものと同一であることができる。例えば、単一故障が、-1になる第1のフラグ量子ビットおよび+1になる他の2つのフラグの結果の測定をもたらす場合、可能性のあるデータ量子ビット・エラーは、Z、Z、および単位元であることができる。
【0061】
図9Bは、本明細書に記載された1つまたは複数の実施形態に従って、結果コンポーネント802によって決定されることができるさらなる例示的な非限定的データ量子ビット・エラーの相関関係の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。図9Bは、重み4のスタビライザ測定に関するデータ量子ビット・エラーの相関関係を示すことができる。明確にするために、図9Bに示された例示的なデータ量子ビット・エラーの相関関係は、図5Aに示されたエンコードされた例示的な三価格子に基づくことができる。
【0062】
図9Bに示されているように、重み4のスタビライザ測定の場合、CNOTのスケジューリングが、3つの境界(例えば、b、b、またはb、あるいはその組み合わせ)ごとに異なることができるため、非自明なフラグ測定から生じる可能性のあるデータ量子ビット・エラーは、特定の境界に依存することができる。さらに、単一故障は、1以下の非自明なフラグ量子ビット測定結果をもたらすことができる。
【0063】
例えば、図9Bは、図3Aに示された例示的な三価格子200によって特徴付けられた
【数12】

スタビライザ測定中に単一故障から結果コンポーネント802によって識別されることができる可能性のあるフラグの結果および対応する可能性のあるデータ量子ビット・エラーを示すことができる。図5Bに示された例示的な三価格子200によって特徴付けられた
【数13】

スタビライザ測定中に単一故障から生じるフラグ量子ビットの結果またはデータ量子ビット・エラーの相関関係あるいはその両方は、「Z」が「X」に置き換えられることを除いて、図9Bに示されたものと同一であることができる。図7に示されているように、重み4のスタビライザの場合、境界(例えば、「b」、「b」、「b」)の各々は、異なるCNOTのスケジューリングを有することができる。したがって、フラグ設定イベントから生じるデータ量子ビット・エラーは、特定の境界に依存することができる。図9Bは、3つの可能性のある境界に関する例示的なデータ量子ビット・エラーの相関関係をそれぞれ示している。
【0064】
図10は、本明細書に記載された1つまたは複数の実施形態に従って、デコーディング・コンポーネント1002をさらに備えている例示的な非限定的システム100の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。さまざまな実施形態では、デコーディング・コンポーネント1002は、三価格子をデコードするために、アルゴリズムの最小重み完全マッチング(MWPM:minimum-weight perfect matching)プロセスの間に、2つの補助量子ビット間に伸びる三価格子のエッジを利用することができる。例えば、MWPMの間に、(例えば、グラフ・コンポーネント108によって)エンコードされた三価格子上のフラグ・エッジが強調される場合、デコーディング・コンポーネント1002は、エッジを、2つの対応する量子ビットを取り囲む4つの対応する2次元(2D:two-dimensional)エッジに投影することができる。
【0065】
1つまたは複数の実施形態では、デコーディング・コンポーネント1002は、1つまたは複数のエンコードされた三価格子(例えば、例示的な三価格子200)に関して、1つまたは複数のエッジの重みを計算することができる。例えば、六角形状の色コード群の赤色の頂点、緑色の頂点、または青色の頂点、あるいはその組み合わせをマッピングする三価格子について考え、六角形状の各面は、データ量子ビットに対応することができる。重み4のまたは重み6のスタビライザ測定中のフラグ量子ビット測定結果は、「f」によって表されることができる。fが図9Aまたは9Bあるいはその両方のフラグの結果に対応する場合、エラーによる悪影響を受ける可能性がある対応するデータ量子ビットは、集合「E」に含まれることができる。デコーディング・コンポーネント1002は、Eの外側のエッジ(例えば、E内のデータ量子ビットに対応する面に入射しないエッジ)のエッジ重み確率(edge weight probabilities)に、脱分極エラー確率(depolarizing error probability)「p」を掛けることができる。さらに、E内のデータ量子ビットに入射するエッジのエッジ重み確率は、元の値を維持することができる。
【0066】
図11は、本明細書に記載された1つまたは複数の実施形態に従って、デコーディング・コンポーネント1002によって実行されることができる例示的な非限定的フラグ・スキーム1100の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。図11は、複数のエッジ・ラインを含んでいるエンコードされた(例えば、本明細書に記載された1つまたは複数の実施形態に従ってグラフ・コンポーネント108によってエンコードされた)三価格子を示している。フラグ・スキーム1100の間に、デコーディング・アルゴリズムのMWPMステップの間に、(例えば、太いラインによって表された)例示的なエッジ・ライン1102などのエッジ・ラインが選択されることができる。図11に示されているように、デコーディング・コンポーネント1002は、選択されたエッジ・ライン(例えば、例示的なエッジ・ライン1102)を、選択されたエッジ・ラインと交差する(例えば、例示的なエッジ・ライン1102と交差する)2つの対応する量子ビットを取り囲む4つの他の2Dエッジに投影することができる。
【0067】
例えば、本明細書に記載されたさまざまな実施形態に従って、フラグ・エッジが色コード・マッチング三価格子(color code matching trivalent lattice)(例えば、3色コーディング・スキーム(three color coding scheme)を使用してエンコードされた三価格子)に追加されることができる。フラグを引き起こす単一故障が、2以下の重みのデータ量子ビット・エラーをもたらすことができるため、デコーディング・アルゴリズムのマッチング・ステップの間にエッジを選択することが、リフトを実行するときに両方のデータ量子ビットが識別されることを可能にすることができるように、フラグ・エッジが追加されることができる。図11は、結果コンポーネント802によって行われた決定(例えば、図9Aまたは9Bあるいはその両方に示されている例示的な結果)を使用して同じ色の2つの頂点を接続することができる追加されたフラグ・エッジを含む、2Dの色分けされたエンコード済み三価格子を示すことができる。重み6のスタビライザの場合、単一故障から生じる可能性のある重み2のデータ量子ビット・エラーは、Eq1q2、Eq3q4、またはEq5q6、あるいはその組み合わせであることができる(例えば、X型スタビライザまたはZ型スタビライザのいずれが測定されているかに応じて、Eqiは、XqiまたはZqiであることができる)。少なくとも、重み2のデータ量子ビット・エラーが同じ色の強調された頂点をもたらすことができるため、各補助頂点が、同じ色の頂点を接続する3つのフラグ・エッジによって取り囲まれることができる。
【0068】
図11は、2つの頂点を接続する重み2のデータ量子ビット・エラーEq1q2に対応する強調されたフラグ・エッジ1102を示している。例えば、図11は、頂点vを含む重み6のスタビライザ測定回路の間の単一故障が、重み2のデータ量子ビット・エラーEq1q2をもたらすことができる事例を示すことができる。さらに、フラグ・エッジの重みは、他のエッジと共に、デコーディング・コンポーネント1002によって再正規化されることができる。例えば、他の故障が存在しなかった場合、図11に示されているように、デコーディング・アルゴリズムのマッチング・ステップの間にフラグ・エッジが選択されることができる。これに対して、2のデータ量子ビット・エラーEq1q2が第1および第2のデータ量子ビット(例えば、qまたはqあるいはその両方)での故障から生じた場合、MWPMステップの間に、図11に示されている4つのエッジが強調されることができる。それによって、デコーディング・アルゴリズムのリフト・ステップを実施する前に、デコーディング・コンポーネント1002は、図11に示されているように、強調されたフラグ・エッジを4つの2Dエッジに投影することができる。
【0069】
フラグ・エッジは、単一故障から生じる重み2のエラーに使用されることができる。デコーディング・コンポーネント1002によって、MWPMを実行するときに、(例えば、図11に示されているように)2つ以下のサブグラフ内で特定のフラグ・エッジが選択されることができる。特定のサブグラフに対してMWPMを実行するときにフラグ・エッジが強調された場合、デコーディング・コンポーネント1002は、フラグ・エッジを、特定のサブグラフに属する2つの2Dエッジに投影することができる。他のエラーが存在する場合に、フラグ・エッジが属している2つの可能性のあるサブグラフのうちの1つにおいて、フラグ・エッジが選択されることが可能であり、フラグ・エッジが、4つの代わりに、2つの2Dエッジに投影されることができる。さらに、(例えば、図9Aに示されているように)フラグが存在するときに生じる2量子ビット・エラーは、同じ色の2つの強調された頂点をもたらすことができる。
【0070】
デコーディング・コンポーネント1002によって実行されることができるエッジの重みの再正規化に関して、デコーディング・コンポーネント1002は、次の脱分極ノイズ・モデルを仮定することができる。
1.確率pで、各単一量子ビット・ゲートの位置の後に、{X,Y,Z}から均一に独立して描かれたパウリ・エラーが続く可能性がある。
2.確率pで、各2量子ビット・ゲートの後に、
【数14】

から均一に独立して描かれた2量子ビット・パウリ・エラーが続く。
3.確率
【数15】

で、|0>状態の準備が、|1>=X|0>に置き換えられる可能性がある。同様に、確率
【数16】

で、|+>状態の準備が、|->=Z|+>に置き換えられる可能性がある。
4.確率
【数17】

で、任意の単一量子ビット測定の結果が反転される可能性がある。
5.確率pで、各アイドル・ゲートの位置の後に、{X,Y,Z}から均一に独立して描かれたパウリ・エラーが続く可能性がある。
【0071】
を、MWPMの間に特定のエッジEが強調される確率であるとする。Pは、デコーディング・コンポーネント1002によって、エッジEが強調される結果をもたらすすべてのエラーの構成の確率を(例えば、前述のノイズ・モデルを使用して)合計することによって計算されることができる。エッジEの重みは、W=-logPとして特徴付けられることができる。さらに、S=<g,g,...,g>を、色コードのスタビライザ・グループSに関して生成している集合であるとする。さらに、gの測定中に図9Aまたは9Bあるいはその両方のフラグ量子ビットの構成のフラグが立った場合は
【数18】

、そうでない場合はngi=0とする。その場合、m>0スタビライザにフラグが立てられる(例えば、
【数19】

であり、少なくとも1つの
【数20】

が非ゼロである)。どのフラグも引き起こさない故障から生じる1つまたは複数の他のエラーが、l≧1である場合に確率O(pm+1)で発生する可能性がある。例えば、(例えば、エラーの確率Pで)m個のフラグの集合から生じるエラーを含むことができないマッチング・グラフ内のエッジeは、P‘=pによって再正規化されることができ、一方、フラグから生じるエラーを含むことができるエッジeは、デコーディング・コンポーネント1002によって、特定のフラグの結果につながる単一故障を考慮することによって計算されることができるエラーの
【数21】

の確率で、エッジの重み
【数22】

を有することができる。さらに、考慮されるコードの完全な距離が維持されることができる(例えば、最大で
【数23】

から生じる任意のエラーが修正されることができる)。
【0072】
フラグが存在する場合、フラグ・エッジ
【数24】

が使用されることができるため、エッジ
【数25】

に関連付けられたフラグ量子ビットにフラグが立てられない限り、フラグ・エッジの重みが無限大に設定されることができる。さらに、フラグをもたらす単一故障は、重み1のデータ量子ビット・エラーを導入することもできる。
【0073】
図12A、12B、または12C、あるいはその組み合わせは、本明細書に記載された1つまたは複数の実施形態に従って、デコーディング・コンポーネント1002によって実行されることができる例示的な非限定的フラグ・スキームを示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。図12Aは、第1のフラグの結果に関連付けられた(例えば、色分けされたエンコード済み三価格子上の)フラグ・エッジおよび2Dエッジを示すことができる。図12Bは、第2のフラグの結果に関連付けられた(例えば、色分けされたエンコード済み三価格子上の)フラグ・エッジおよび2Dエッジを示すことができる。図12Cは、第3のフラグの結果に関連付けられた(例えば、色分けされたエンコード済み三価格子上の)フラグ・エッジおよび2Dエッジを示すことができる。
【0074】
図12A、12B、または12C、あるいはその組み合わせに示されているように、重みを有している単一量子ビット・エラーに関連付けられたフラグ・エッジおよびエッジは、図9Aまたは9Bあるいはその両方の可能性のあるフラグの結果の場合に、エラーの
【数26】

の確率で、
【数27】

に再正規化されることができる。図12A、12B、または12C、あるいはその組み合わせでは、デコーディング・コンポーネント1002は、対象の補助量子ビットの頂点を中心とするフラグ・エッジを考慮した。しかし、他の補助量子ビットの頂点を中心とするフラグ・エッジに関して、フラグ・エッジの同じパターンが選択されることができる。
【0075】
それによって、1つまたは複数の実施形態では、1つまたは複数のスタビライザ測定中に、
【数28】

個のフラグが立ち、m>0である。さらに、Cは、フラグをもたらす故障から生じる可能性のある単一量子ビット・エラーに関連付けられた2Dエッジに加えて、フラグの結果に関連付けられたエッジの集合であることができる。したがって、エッジe∈Cに関するエッジの重みは、
【数29】

の確率で
【数30】

に再正規化されることができる。
【数31】

がフラグ・エッジである場合、その重みは無限大であることができる。
【0076】
さらに、1つまたは複数の実施形態では、デコーディング・コンポーネント1002は、フラグ測定結果に基づいてマッチング・グラフのエッジの重みを再正規化することに加えて、または再正規化する代わりに、直接フラグ・スキーム(direct flag scheme)を実行することができる。例えば、例示的な第1のスタビライザ測定回路302に関して、重み6のスタビライザ測定中に第1のフラグ量子ビットfのみがフラグを立てる事例について考える。最大で1つの故障が存在する場合、(例えば、図9Aに示されているように、結果コンポーネント802によって決定された)可能性のあるデータ量子ビット・エラーは、{I,Z,Z}であることができる。したがって、フラグの結果が知られた後に、デコーディング・コンポーネント1002が修正Zをデータに適用する場合、残りのすべてのデータ量子ビット・エラーの重みは、最大で1になることができる。同様に、デコーディング・コンポーネント1002は、第2のフラグ量子ビットのフラグの結果に対して、修正Zを適用することができ、第3のフラグ量子ビットのフラグの結果に対して、修正Zを適用することができ、または第1および第3のフラグ量子ビットのフラグの結果に対して、修正Zを適用することができ、あるいはその組み合わせを適用することができる。さらに、異なるフラグの結果が得られた場合、デコーディング・コンポーネント1002は、修正をデータに適用することができない。いずれの場合でも、スタビライザの測定中に単一故障から生じる残りのデータ量子ビット・エラーは、最大で1になることができる。また、デコーディング・コンポーネント1002は、Zの修正を、同じ量子ビット上でサポートされているパウリXに置き換えることを除いて、Xスタビライザを測定するときに、このフラグ・スキームを適用することができる。さらに、デコーディング・コンポーネント1002は、重み4のスタビライザ測定に関して、同様のルールを定義することができる。
【0077】
直接フラグ・スキームを適用することによって、スタビライザ測定中に発生する単一故障が、1以下の重みのデータ量子ビット・エラーをもたらすことができる。しかし、スタビライザ測定ごとに、(例えば、図11~12Cに示されている)エッジの重みの再正規化フラグ・スキーム(renormalization flag schemes)と比較して、さらに多くのフラグ量子ビットが必要とされる可能性がある。例えば、単一のフラグ量子ビットが重み4のZ型スタビライザに使用され、単一故障がフラグをもたらした場合、可能性のあるZ型データ量子ビット・エラーは、{Z,Z,Z,Z,I}であることができる。単一のフラグ量子ビットが存在するため、デコーディング・コンポーネント1002は、ZまたはZの修正をデータに適用するべきかどうかを判定するための情報を欠いている可能性がある。しかし、デコーディング・コンポーネント1002は、図11~12Cに示されたフラグ・スキームの1つまたは複数の実施形態を利用し、データ量子ビット・エラーZ、Z、またはZ、あるいはその組み合わせに対応するエッジに関して、エッジの重みを再正規化することができる。それによって、本明細書に記載されたさまざまな実施形態に従って、デコーディング・コンポーネント1002は、色コードの有効コード距離を維持することができる。
【0078】
さらに、デコーディング・コンポーネント1002は、ノイズ・モデルに関わらず、直接フラグ・スキームを使用して、同じ動作をデータに適用することができる。高い確率で測定エラーが発生する場合、直接フラグ・スキームは、本明細書に記載された他のフラグ・スキームの実施形態よりも頻繁に、重み1の修正をデータに適用することができる。例えば、本明細書に記載された1つまたは複数の再正規化フラグ・スキームは、より高い測定エラーの確率をエッジの重みの割り当てに組み込むことができる。
【0079】
図13Aまたは13Bあるいはその両方は、本明細書に記載された1つまたは複数の実施形態に従って、前述のノイズ・モデルによる悪影響を受けている(例えば、グラフ・コンポーネント108によってエンコードされた)色分けされたエンコード済み三価格子に関して、例示的な非限定的論理Xエラー率または論理Zエラー率あるいはその両方の図を示すことができる。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。図13Aまたは13Bあるいはその両方は、コード容量ノイズ(code capacity noise)または(例えば、観察1~5によって特徴付けられた)本明細書に記載された回路全体のレベルの脱分極ノイズ・モデルあるいはその両方に関する論理故障率(logical failure rates)を示すプロットを含むことができる。
【0080】
コード容量ノイズに関して、各データ量子ビットは、それぞれ確率p/3で発生するXエラー、Yエラー、またはZエラーによる悪影響を受ける可能性がある。測定、状態の準備、またはゲート、あるいはその組み合わせが最適に実装されるということが、仮定されることができる。コード容量ノイズのしきい値は、エラーを修正するために使用されるコードおよびデコーディング・アルゴリズムの理論限界を示すことができる。図13Aまたは13Bあるいはその両方に示されているように、六角形の色コードに関する論理Xエラー率または論理Zエラー率あるいはその両方は、1つまたは複数の実施形態に従ってエッジの重みを再正規化するためのフラグ・スキームのうちの1つまたは複数と共に、本明細書に記載された脱分極ノイズ・モデルによる悪影響を受けている。図13Aまたは13Bあるいはその両方は、pth=0.002で発生するX論理故障率またはZ論理故障率あるいはその両方の例示的なしきい値を示している。
【0081】
特定のシンドローム測定サイクルの間に、最初にXスタビライザが測定され、それに続いてZスタビライザが測定されることができる。j番目のシンドローム測定サイクルの間に、例えば、Xスタビライザ測定の間に、フラグ量子ビットのサブセットがフラグを立てたと仮定する。Xスタビライザ測定結果に使用される3Dマッチング・グラフのj番目の2D層内で、有限の重みの範囲内のフラグ・エッジが導入されることができる。しかし、Zスタビライザ測定中にフラグを立てるフラグ量子ビットの場合、例えば、j+1番目のシンドローム測定サイクルの間に、非自明なフラグ測定につながった故障から生じるZエラーが検出されることができる。そのような場合、Zスタビライザ測定結果に使用される3Dマッチング・グラフのj+1番目の2D層内で、有限の重みを有するフラグ・エッジが導入されることができる。
【0082】
図14Aは、本明細書に記載された1つまたは複数の実施形態に従って、三価格子にエンコードされることができる例示的な非限定的第2のスケジューリング・スキーム1400の図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。1つまたは複数の実施形態では、本明細書に記載されたさまざまな実施形態に従って、第2のスケジューリング・スキーム1400の三価格子にエンコードされた補助量子ビットが色分けされることができる。例えば、補助頂点は、赤色、緑色、または青色、あるいはその組み合わせに色分けされることができる。図14Aは、三価格子上の六角形の色コードのバルク内で発生することができるような、第1の補助頂点1402と第2の補助頂点1404および第3の補助頂点1406との間の接続を示している。
【0083】
図14Bは、図14Aに示された第1の補助頂点1402と図14Aに示された第2の補助頂点1404および第3の補助頂点1406との間の接続を特徴付けることができる(例えば、「e」、「e」、「e」、「e」、「e」、または「e」、あるいはその組み合わせによって表された)例示的な非限定的エッジの図を示しており、これらのエッジは、本明細書に記載された1つまたは複数の実施形態に従って(例えば、図11~12Cに示された三価格子などの)RGBマッチング・グラフ(RGB matching graph)内で表されることができる。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。
【0084】
色分けされたエンコード済み三価格子の2Dエッジに加えて、測定エラーを処理するための2つの異なる時間ステップで同じ色の頂点を接続する3次元垂直エッジと共に、デコーディング・コンポーネント1002は、CNOTゲートの故障から生じる空間および時間の両方におけるエラーを関連付けることができる。例えば、図14Aは、バルク内の第1の補助頂点1402と第2の補助頂点1404および第3の補助頂点1406との間の接続を示すことができる。また、図14Bでは、第1の補助頂点1402と第2の補助頂点1404および第3の補助頂点1406との間の接続を表すエッジが、完全なRGBマッチング・グラフで提示されることができる。
【0085】
本明細書に記載されたさまざまな実施形態をさらに例示するために、エッジeに沿って第1の補助頂点1402および第3の補助頂点1406を(例えば、灰色の円形によって表された)データ量子ビットの頂点に接続するCNOTゲートについて考える。特に、(例えば、白色の円形によって表された)フラグ量子ビットの頂点とデータ量子ビットの頂点の間のCNOTゲートについて考える。
【数32】

が、シンドローム測定の特定のサイクルの間に時間ステップ「t」で適用される、色「l」の頂点を含む面に属するCNOTゲートに対応するとする。その場合、例えば、t番目のシンドローム測定サイクルの間に、CNOT
【数33】

が故障し、集合{ZZ,ZY,YZ,YY}からのエラーを導入する。図14Aに示されているように、スタビライザ測定回路(例えば、第1のスタビライザ測定回路302)を介してエラーを伝搬することによって、そのような故障がデータ量子ビットqでのZエラーを導入する可能性があるということを示すことができる。しかし、エラーが発生する時間ステップ(例えば、4番目の時間ステップ)を前提として、第3の補助頂点1406が強調されることができる。データ量子ビットqでのZエラーが、代わりにシンドローム測定サイクルtの1番目の時間ステップの間に発生した場合、(例えば、他のエラーが導入されなかったと仮定して)第3の補助頂点1406および第1の補助頂点1402の両方が強調されていることができる。次のシンドローム測定サイクルtj+1の間に、第1の補助頂点1402および第3の補助頂点1406の両方が強調されることができる。同様にCNOTゲート
【数34】

が故障したか、または集合{IZ,XZ,IY,XY}からのエラーを導入したか、あるいはその両方である場合、強調された補助頂点において同じパターンが観察されることができる。
【0086】
図15は、本明細書に記載された1つまたは複数の実施形態に従って、図14Aまたは14Bあるいはその両方に示された接続に関して1つまたは複数のフラグ・スキーム内でデコーディング・コンポーネント1002によって実装されることができる例示的な非限定的対角線エッジの図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。
【0087】
同じシンドローム測定サイクル内で(例えば、1番目の時間ステップで量子ビットq上のZデータ量子ビット・エラーによって引き起こされたサイクルtの間に)第1の補助頂点1402および第3の補助頂点1406の両方が強調される場合、デコーディング・コンポーネント1002によって、赤色-緑色(RG:red-green)サブグラフに対してMWPMを実行するときに、エッジeが選択されることができる。しかし、第1の補助頂点1402がサイクルtj+1の間に強調されることができ、一方、第3の補助頂点1406がサイクルtおよびtj+1内で強調されることができるため、デコーディング・コンポーネント1002は、図15に示されているエッジを追加することができる。少なくともデコーディング・コンポーネント1002が(例えば、MWPMによって)連続するサイクル間で特定の頂点の測定結果における変化を考慮することができるため、例えばサイクルtj+1内で1番目の補助頂点1402が強調されて、サイクルt内で第3の補助頂点1406が強調されることができる。したがって、図15に示されているエッジ1502を選択することによって、両方の頂点を接続する最短経路が得られることができる。MWPMの間に図15に示されているエッジ1502が選択された場合、デコーディング・コンポーネント1002は、3D RGグラフから2Dグラフへの垂直方向の折り畳みを実行するときに、エッジ1502をエッジeに投影することができる。また、CNOTゲート
【数35】

が故障したか、もしくは集合{IZ,XZ,IY,XY}からのエラーを導入したか、またはその両方である場合、あるいはCNOTゲート
【数36】

が故障したか、もしくは集合{ZZ,ZY,YZ,YY}からのエラーを導入したか、またはその両方である場合、図15に示されたエッジ1504が選択されることができる。図15に示されたエッジなどの3Dエッジは、2つの連続するシンドローム測定サイクル間で異なる強調された頂点をもたらすCNOTゲートから生じるエラーに少なくとも起因して、3D対角線エッジと呼ばれることができる。それによって、故障は、(例えば、3Dマッチング・グラフから2Dグラフへの垂直方向の折り畳みの実行後に)2D(例えば、赤色-緑色-青色(RGB:red-green-blue))マッチング・グラフ内の異なる位置に属する頂点間に強調されたエッジをもたらすことができる。測定エラーは、2つの異なるシンドローム測定サイクル内で同じ頂点を接続する3D垂直エッジをもたらすことができる。
【0088】
図16A、16B、または16C、あるいはその組み合わせは、三価格子にマッピングされたか、または2つの異なる2Dグラフ(例えば、本明細書に記載された1つまたは複数の実施形態に従って色分けされたサブグラフ)を接続するか、あるいはその両方である、例示的な非限定的3D対角線エッジの図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。例えば、第1-第3の補助頂点のサブグラフ(例えば、赤色-緑色(RG)サブグラフ)に関連付けられた3D対角線エッジの集合が、図16Aに示された接続を使用して生成されることができる。また、第1-第2の補助頂点のサブグラフ(例えば、赤色-青色(RB)サブグラフ)に関連付けられた3D対角線エッジの集合が、図16Bに示された接続を使用して生成されることができる。さらに、第3-第2の補助頂点のサブグラフ(例えば、緑色-青色(GB)サブグラフ)に関連付けられた3D対角線エッジの集合が、図16Cに示された接続を使用して生成されることができる。例えば、図16A、16B、または16C、あるいはその組み合わせに示された対角線エッジは、デコーディング・コンポーネント1002によって、図15に示されたエッジにつながる上で実行された分析に類似する分析を実行することによって、取得されることができる。例えば、図16A、16B、または16C、あるいはその組み合わせに示された対角線エッジは、図14Bに示された2Dエッジe~eに投影されることができるエッジにつながるCNOTの故障から生じる単一故障イベントを考慮して、取得されることができる。加えて、図16A、16B、または16C、あるいはその組み合わせは、三価格子のすべての境界位置でのCNOTのスケジューリングを考慮することができる。
【0089】
図15に示されたエッジ1502に関するエッジの重みに関しては、本明細書に記載された脱分極ノイズ・モデルから、各2量子ビットのパウリ演算子が、確率p/15で発生する可能性がある。CNOTゲート
【数37】

が故障するか、または(例えば、4p/15の全確率を有する)集合{ZZ,ZY,YZ,YY}からのエラーを導入するか、またはCNOTゲート
【数38】

の故障が発生しないか、あるいはその組み合わせの場合に、エッジ1502が発生することができる。代替として、
【数39】

が故障するか、または集合{IZ,XZ,IY,XY}からのエラーを導入し、
【数40】

の故障が発生しないか、あるいはその両方の場合に、エッジ1502が発生することができる。両方の場合の確率を合計して、図15のエッジ1502を取得する全確率は、下の方程式1によって特徴付けられることができる。
【0090】
【数41】

それによって、エッジの重みがW=-logpによって特徴付けられることができる。
【0091】
図17は、本明細書に記載された1つまたは複数の実施形態に従って、1つまたは複数の量子回路を三価格子にエンコードすることを容易にすることができる、例示的な非限定的コンピュータ実装方法1700のフロー図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。
【0092】
1702で、コンピュータ実装方法1700は、プロセッサ118に動作可能に結合されたシステム100によって(例えば、グラフ・コンポーネント108によって)、量子回路の接続スキームに基づいて、パウリ行列スタビライザの測定のために複数のデータ量子ビットを三価格子にエンコードすることを含むことができ、この測定は、パウリ行列スタビライザの重み6の測定およびパウリ行列スタビライザの重み4の測定から成る群から選択されることができる。例えば、1702でエンコードすることは、本明細書に記載されたさまざまな実施形態に従って(例えば、第1のスタビライザ・コンポーネント110または第2のスタビライザ・コンポーネント402あるいはその両方によって)1つまたは複数の六角形状または台形形状あるいはその両方を三価格子上に実装することを含むことができ、これらの形状によって形成された各六角形の領域または台形の領域あるいはその両方が、(例えば、図2、3A、3B、5A、または5B、あるいはその組み合わせに示されているように)Zスタビライザ測定またはXスタビライザ測定を特徴付けることができる。
【0093】
1704で、コンピュータ実装方法1700は、システム100によって(例えば、結果コンポーネント802によって)、フラグ量子ビットを介して補助量子ビットを複数のデータ量子ビットにマッピングすることができる三価格子にエンコードされた量子回路の接続スキームに基づいて、データ量子ビット・エラーの構成に対応するフラグ量子ビットの結果を決定することを含むことができる。例えば、1704で決定することは、図9Aまたは9Bあるいはその両方に例示されているように、1つまたは複数のデータ量子ビット・エラーの相関関係を識別することを含むことができる。
【0094】
図18は、本明細書に記載された1つまたは複数の実施形態に従って、1つまたは複数の量子回路を三価格子にエンコードすることを容易にすることができる、例示的な非限定的コンピュータ実装方法1800のフロー図を示している。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。
【0095】
1802で、コンピュータ実装方法1800は、プロセッサ118に動作可能に結合されたシステム100によって(例えば、グラフ・コンポーネント108によって)、量子回路を三価格子にエンコードすることを含むことができ、三価格子は、量子回路の接続スキームに基づいて、複数のフラグ量子ビットを介して、補助量子ビットを複数のデータ量子ビットにマッピングすることができる。1804で、コンピュータ実装方法1800は、システム100によって(例えば、結果コンポーネント802によって)、三価格子上の複数のデータ量子ビットと複数のフラグ量子ビットの間の関連付けに基づいて、複数のデータ量子ビットに関連付けられた対応するエラーの構成を含むフラグ量子ビットの結果を識別することを含むことができる。1806で、コンピュータ実装方法1800は、システム100によって(例えば、デコーディング・コンポーネント1002によって)、デコーディング・アルゴリズムのMEPMプロセスの間に、2つの補助量子ビット間に伸びる三価格子のエッジを使用して三価格子をデコードすることを含むことができる。
【0096】
本開示にはクラウド・コンピューティングに関する詳細な説明が含まれているが、本明細書において示された内容の実装は、クラウド・コンピューティング環境に限定されないと理解されるべきである。本発明の実施形態は、現在既知であるか、または今後開発される任意のその他の種類のコンピューティング環境と組み合わせて実装できる。
【0097】
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含むことができる。
【0098】
特徴は、次のとおりである。
【0099】
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間およびネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
【0100】
幅広いネットワーク・アクセス:クラウドの能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する。
【0101】
リソース・プール:プロバイダの計算リソースは、プールされ、マルチテナント・モデルを使用して複数の利用者に提供される。さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高い抽象レベルでは、場所(例えば、国、州、またはデータセンター)を指定できる場合がある。
【0102】
迅速な順応性:クラウドの能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、任意の量をいつでも無制限に購入できるように見える。
【0103】
測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した抽象レベルで、リソースの使用を自動的に制御および最適化する。リソースの使用状況は監視、制御、および報告することができ、利用されるサービスのプロバイダと利用者の両方に透明性が提供される。
【0104】
サービス・モデルは、次のとおりである。
【0105】
SaaS(Software as a Service):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザ(例えば、Webベースの電子メール)などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
【0106】
PaaS(Platform as a Service):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
【0107】
IaaS(Infrastructure as a Service):利用者に提供される能力は、処理、ストレージ、ネットワーク、およびその他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、およびデプロイされたアプリケーションを制御することができ、場合によっては、選択されたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御できる。
【0108】
デプロイメント・モデルは、次のとおりである。
【0109】
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【0110】
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【0111】
パブリック・クラウド:このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
【0112】
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースト)によって固有の実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
【0113】
クラウド・コンピューティング環境は、ステートレス、疎結合、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含んでいるインフラストラクチャである。
【0114】
ここで図19を参照すると、例示的なクラウド・コンピューティング環境1900が示されている。図示されているように、クラウド・コンピューティング環境1900は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)または携帯電話1904、デスクトップ・コンピュータ1906、ラップトップ・コンピュータ1908、または自動車コンピュータ・システム1910、あるいはその組み合わせなど)が通信できる1つまたは複数のクラウド・コンピューティング・ノード1902を含んでいる。ノード1902は、互いに通信してよい。ノード1902は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組み合わせなどに、物理的または仮想的にグループ化されてよい(図示されていない)。これによって、クラウド・コンピューティング環境1900は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組み合わせを提供できる。図19に示されたコンピューティング・デバイス1904~1910の種類は、例示のみが意図されており、コンピューティング・ノード1902およびクラウド・コンピューティング環境1900は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
【0115】
ここで図20を参照すると、クラウド・コンピューティング環境1900(図19)によって提供される機能的抽象レイヤのセットが示されている。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。図20に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
【0116】
ハードウェアおよびソフトウェア・レイヤ2002は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム2004、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ2006、サーバ2008、ブレード・サーバ2010、ストレージ・デバイス2012、ならびにネットワークおよびネットワーク・コンポーネント2014が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア2016およびデータベース・ソフトウェア2018を含む。
【0117】
仮想化レイヤ2020は、仮想サーバ2022、仮想ストレージ2024、仮想プライベート・ネットワークを含む仮想ネットワーク2026、仮想アプリケーションおよびオペレーティング・システム2028、ならびに仮想クライアント2030などの仮想的実体を提供できる抽象レイヤを備える。
【0118】
一例を挙げると、管理レイヤ2032は、以下で説明される機能を提供することができる。リソース・プロビジョニング2034は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよびその他のリソースの動的調達を行う。計測および価格設定2036は、クラウド・コンピューティング環境内でリソースが利用された際のコスト追跡、およびそれらのリソースの利用に対する請求書の作成と送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクのID検証を行うとともに、データおよびその他のリソースの保護を行う。ユーザ・ポータル2038は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理2040は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行2042は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
【0119】
ワークロード・レイヤ2044は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供されてよいワークロードおよび機能の例としては、マッピングおよびナビゲーション2046、ソフトウェア開発およびライフサイクル管理2048、仮想クラスルーム教育の配信2050、データ解析処理2052、トランザクション処理2054、および量子回路のエンコーディング2056が挙げられる。本発明のさまざまな実施形態は、図19および図20を参照して説明されたクラウド・コンピューティング環境を利用して、本明細書に記載された1つまたは複数の実施形態に従って量子回路を三価格子にエンコードすることができる。
【0120】
本発明は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含んでよい。コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(R)・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたは命令が記録されている溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
【0121】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0122】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行してよい。
【0123】
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
【0124】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を含むような特定の方法で、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに機能するように指示できるものであってもよい。
【0125】
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施するように、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれてもよく、それによって、一連の動作可能なステップを、コンピュータ上、その他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成するその他のデバイス上で実行させる。
【0126】
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
【0127】
本明細書に記載されたさまざまな実施形態のその他の背景を提供するために、図21および以下の説明は、本明細書に記載されたさまざまな実施形態が実装され得る適切なコンピューティング環境2100の概要を示すよう意図されている。実施形態は、1つまたは複数のコンピュータ上で実行されることができるコンピュータ実行可能命令の一般的状況において上で説明されたが、当業者は、実施形態が、他のプログラム・モジュールと組み合わせて、またはハードウェアとソフトウェアの組み合わせとして、あるいはその両方で実装されることもできるということを認識するであろう。
【0128】
通常、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造などを含む。さらに、当業者は、本発明の方法が、シングルプロセッサ・コンピュータ・システムまたはマルチプロセッサ・コンピュータ・システム、ミニコンピュータ、メインフレーム・コンピュータ、モノのインターネット(IoT:Internet of Things)デバイス、分散コンピューティング・システムだけでなく、パーソナル・コンピュータ、ハンドヘルド・コンピューティング・デバイス、マイクロプロセッサベースのコンシューマ・エレクトロニクスまたはプログラマブル・コンシューマ・エレクトロニクスなどを含む、他のコンピュータ・システム構成を使用して実践されることができ、これらの各々が1つまたは複数の関連するデバイスに動作可能に結合され得るということを理解するであろう。
【0129】
本明細書において示された実施形態は、通信ネットワークを介してリンクされたリモート処理デバイスによって特定のタスクが実行される、分散コンピューティング環境内で実践されることもできる。分散コンピューティング環境において、プログラム・モジュールは、ローカルおよびリモートの両方のメモリ・ストレージ・デバイスに配置され得る。
【0130】
コンピューティング・デバイスは、通常、コンピュータ可読ストレージ媒体、機械可読ストレージ媒体、または通信媒体、あるいはその組み合わせを含むことができる、さまざまな媒体を含み、本明細書では、次のように2つの用語が互いに異なって使用される。コンピュータ可読記憶媒体または機械可読ストレージ媒体は、コンピュータによってアクセスされることができる任意の使用可能なストレージ媒体であることができ、揮発性媒体および不揮発性媒体、取り外し可能な媒体および取り外し不可能な媒体を両方とも含む。例として、コンピュータ可読ストレージ媒体または機械可読ストレージ媒体は、コンピュータ可読命令または機械可読命令、プログラム・モジュール、構造化データまたは非構造化データなどの情報の格納のための任意の方法または技術に関連して実装されることができるが、これらに限定されない。
【0131】
コンピュータ可読ストレージ媒体は、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM:electrically erasable programmable read only memory)、フラッシュ・メモリまたはその他のメモリ技術、コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、ブルーレイ・ディスク(BD:Blu-ray disc)またはその他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気ストレージ・デバイス、半導体ドライブまたはその他の半導体ストレージ・デバイス、あるいは望ましい情報を格納するために使用され得るその他の有形の媒体もしくは非一過性の媒体またはその両方を含むことができるが、これらに限定されない。これに関して、本明細書における「有形」または「非一過性」という用語は、ストレージ、メモリ、またはコンピュータ可読媒体に適用されるとき、それ自体が伝搬する一過性の信号のみを修飾語句として除外し、それ自体が単に伝搬する一過性の信号ではないすべての標準的なストレージ、メモリ、またはコンピュータ可読媒体に対する権利を放棄しないと理解されるべきである。
【0132】
コンピュータ可読ストレージ媒体は、媒体によって格納された情報に関するさまざまな動作のために、例えばアクセス要求、クエリ、またはその他のデータ検索プロトコルを介して、1つまたは複数のローカル・コンピューティング・デバイスまたはリモート・コンピューティング・デバイスによってアクセスされることができる。
【0133】
通信媒体は、通常、コンピュータ可読命令、データ構造、プログラム・モジュール、あるいはその他の構造化データまたは非構造化データを、変調データ信号(例えば、搬送波またはその他の搬送機構)などのデータ信号で具現化し、任意の情報配信または輸送媒体を含む。「変調データ信号」という用語は、1つまたは複数の信号内の情報をエンコードするような方法で設定または変更される特性のうちの1つまたは複数を有する信号のことを指す。例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、および音響、RF、赤外線、およびその他の無線媒体などの無線媒体を含むが、これらに限定されない。
【0134】
図21を再び参照すると、本明細書に記載された態様のさまざまな実施形態を実装するための例示的な環境2100がコンピュータ2102を含んでおり、コンピュータ2102は、処理ユニット2104、システム・メモリ2106、およびシステム・バス2108を含んでいる。システム・バス2108は、システム・メモリ2106を含むが、これに限定されないシステム・コンポーネントを、処理ユニット2104に結合する。処理ユニット2104は、さまざまな市販されているプロセッサのいずれかであることができる。デュアル・マイクロプロセッサおよびその他のマルチプロセッサ・アーキテクチャが、処理ユニット2104として採用されることもできる。
【0135】
システム・バス2108は、さまざまな市販されているバス・アーキテクチャのいずれかを使用するメモリ・バス(メモリ・コントローラを含むか、または含まない)、ペリフェラル・バス、およびローカル・バスにさらに相互接続することができる複数の種類のバス構造のいずれかであることができる。システム・メモリ2106は、ROM2110およびRAM2112を含んでいる。基本入出力システム(BIOS:basic input/output system)は、ROM、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read only memory)、EEPROMなどの、不揮発性メモリに格納されることができ、BIOSは、起動などの間にコンピュータ2102内の要素間で情報を転送するのに役立つ基本的なルーチンを含む。RAM2112は、データをキャッシュするためのスタティックRAMなどの高速なRAMを含むこともできる。
【0136】
コンピュータ2102は、内部ハード・ディスク・ドライブ(HDD:hard disk drive)2114(例えば、EIDE、SATA)、1つまたは複数の外部ストレージ・デバイス2116(例えば、磁気フロッピー(R)・ディスク・ドライブ(FDD:magnetic floppy disk drive)、メモリ・スティックまたはフラッシュ・ドライブ・リーダ、メモリ・カード・リーダなど)、および光ディスク・ドライブ2120(例えば、CD-ROMディスク、DVD、BDなどに対して読み取りまたは書き込みを行うことができるドライブ)をさらに含む。内部HDD2114がコンピュータ2102内にあるように示されているが、内部HDD2114は、外部の適切な筐体(図示されていない)内で使用するように構成されることもできる。さらに、環境2100内に示されていないが、HDD2114に加えて、またはHDD2114の代わりに、半導体ドライブ(SSD:solid state drive)が使用されることができる。HDD2114、外部ストレージ・デバイス2116、および光ディスク・ドライブ2120は、HDDインターフェイス2124、外部ストレージ・インターフェイス2126、および光学ドライブ・インターフェイス2128によって、システム・バス2108にそれぞれ接続されることができる。外部ドライブの実装のためのインターフェイス2124は、ユニバーサル・シリアル・バス(USB:Universal Serial Bus)インターフェイス技術、および電気電子技術者協会(IEEE:Institute of Electrical and Electronics Engineers)1394インターフェイス技術のうちの少なくとも1つまたは両方を含むことができる。その他の外部ドライブ接続技術が、本明細書に記載された実施形態の企図に含まれる。
【0137】
ドライブおよびそれらに関連するコンピュータ可読ストレージ媒体は、データ、データ構造、コンピュータ実行可能命令などの不揮発性ストレージを提供する。コンピュータ2102のドライブおよびストレージ媒体は、適切なデジタル形式での任意のデータの格納に対応する。上記のコンピュータ可読ストレージ媒体の説明は各種のストレージ・デバイスに言及しているが、コンピュータによって読み取ることができる他の種類のストレージ媒体が、現在存在しているか、または将来開発されるかに関わらず、例示的な動作環境内で使用されることもできるということ、およびさらに、任意のそのようなストレージ媒体が、本明細書に記載された方法を実行するためのコンピュータ実行可能命令を含むことができるということが、当業者によって理解されるべきである。
【0138】
オペレーティング・システム2130、1つまたは複数のアプリケーション・プログラム2132、その他のプログラム・モジュール2134、およびプログラム・データ2136を含む複数のプログラム・モジュールが、ドライブおよびRAM2112に格納されることができる。オペレーティング・システム、アプリケーション、モジュール、またはデータ、あるいはその組み合わせのすべてまたは一部が、RAM2112にキャッシュされることもできる。本明細書に記載されたシステムおよび方法は、さまざまな市販されているオペレーティング・システムまたはオペレーティング・システムの組み合わせを利用して実装されることができる。
【0139】
コンピュータ2102は、任意選択的に、エミュレーション技術を含むことができる。例えば、ハイパーバイザ(図示されていない)またはその他の媒介が、オペレーティング・システム2130のハードウェア環境をエミュレートすることができ、エミュレートされるハードウェアは、任意選択的に、図21に示されているハードウェアと異なることができる。そのような実施形態では、オペレーティング・システム2130が、コンピュータ2102でホストされた複数の仮想マシン(VM:virtual machine)のうちの1つのVMを含むことができる。さらに、オペレーティング・システム2130は、Java(R)実行時環境または.NETフレームワークなどの実行時環境をアプリケーション2132に提供することができる。実行時環境は、アプリケーション2132が実行時環境を含んでいる任意のオペレーティング・システム上で実行されることを可能にする、一貫性のある実行環境である。同様に、オペレーティング・システム2130はコンテナをサポートすることができ、アプリケーション2132はコンテナの形態であることができ、コンテナは、例えばアプリケーション用のコード、ランタイム、システム・ツール、システム・ライブラリ、および設定を含んでいる、軽量なスタンドアロンの実行可能なソフトウェアのパッケージである。
【0140】
さらに、コンピュータ2102は、信頼できる処理モジュール(TPM:trusted processing module)などのセキュリティ・モジュールを使用して有効化されることができる。例えば、TPMを使用すると、ブート・コンポーネントは、時間的に次のブート・コンポーネントをハッシュし、保護された値とのハッシュ結果の一致を待機してから、次のブート・コンポーネントを読み込む。このプロセスは、コンピュータ2102のコード実行スタック内の任意の層で行われることができ、例えば、アプリケーション実行レベルで、またはオペレーティング・システム(OS:operating system)カーネル・レベルで適用され、それによって、コード実行の任意のレベルでセキュリティを有効化する。
【0141】
ユーザは、1つまたは複数の有線/無線入力デバイス(例えば、キーボード2138、タッチ・スクリーン2140、およびマウス2142などのポインティング・デバイス)を介して、コマンドおよび情報をコンピュータ2102に入力することができる。その他の入力デバイス(図示されていない)は、マイクロホン、赤外線(IR:infrared)遠隔制御、無線周波(RF:radio frequency)遠隔制御、またはその他の遠隔制御、ジョイスティック、仮想現実コントローラまたは仮想現実ヘッドセットあるいはその両方、ゲーム・パッド、タッチペン、画像入力デバイス(例えば、カメラ)、ジェスチャー・センサ入力デバイス、視覚移動センサ(vision movement sensor)入力デバイス、感情または顔検出デバイス、生体測定入力デバイス(例えば、指紋または虹彩スキャナ)など含むことができる。これらおよびその他の入力デバイスは、多くの場合、システム・バス2108に結合されることができる入力デバイス・インターフェイス2144を介して処理ユニット2104に接続されるが、パラレル・ポート、IEEE1394シリアル・ポート、ゲーム・ポート、USBポート、IRインターフェイス、BLUETOOTH(R)インターフェイスなどの、その他のインターフェイスによって接続されることができる。
【0142】
モニタ2146またはその他の種類のディスプレイ・デバイスが、ビデオ・アダプタ2148などのインターフェイスを介してシステム・バス2108に接続されることもできる。モニタ2146に加えて、コンピュータは通常、スピーカ、プリンタなどの、その他の周辺出力機器(図示されていない)を含む。
【0143】
コンピュータ2102は、有線通信または無線通信あるいはその両方を介するリモート・コンピュータ2150などの1つまたは複数のリモート・コンピュータへの論理接続を使用して、ネットワーク環境内で動作することができる。リモート・コンピュータ2150は、ワークステーション、サーバ・コンピュータ、ルータ、パーソナル・コンピュータ、ポータブル・コンピュータ、マイクロプロセッサベースのエンターテインメント機器、ピア・デバイス、またはその他の一般的なネットワーク・ノードであることができ、通常は、コンピュータ2102に関連して説明された要素のうちの多くまたはすべてを含むが、簡潔にするために、メモリ/ストレージ・デバイス2152のみが示されている。図に示されている論理接続は、ローカル・エリア・ネットワーク(LAN)2154またはさらに大きいネットワーク(例えば、広域ネットワーク(WAN)2156)あるいはその両方との有線接続/無線接続を含む。そのようなLANおよびWANネットワーク環境は、事務所および会社において一般的であり、イントラネットなどの企業全体のコンピュータ・ネットワークを容易にし、それらはすべて、グローバル通信ネットワーク(例えば、インターネット)に接続することができる。
【0144】
コンピュータ2102は、LANネットワーク環境内で使用された場合、有線または無線あるいはその両方の通信ネットワーク・インターフェイスまたはアダプタ2158を介して、ローカル・ネットワーク2154に接続されることができる。アダプタ2158は、LAN2154との有線通信または無線通信を容易にすることができ、LAN2154は、無線モードでアダプタ2158と通信するために配置された無線アクセスポイント(AP:access point)を含むこともできる。
【0145】
コンピュータ2102は、WANネットワーク環境内で使用された場合、モデム2160を含むことができ、またはインターネットを経由するなどのWAN2156を経由して通信を確立するためのその他の手段によって、WAN2156上の通信サーバに接続されることができる。内部または外部に存在する有線デバイスまたは無線デバイスであることができるモデム2160は、入力デバイス・インターフェイス2144を介してシステム・バス2108に接続されることができる。ネットワーク環境内で、コンピュータ2102またはその一部に関連して示されたプログラム・モジュールは、リモート・メモリ/ストレージ・デバイス2152に格納されることができる。示されているネットワーク接続が例であり、コンピュータ間の通信リンクを確立するその他の手段が使用され得るということが、理解されるであろう。
【0146】
コンピュータ2102は、LANネットワーク環境内またはWANネットワーク環境内のいずれかで使用された場合、前述したような外部ストレージ・デバイス2116に加えて、または外部ストレージ・デバイス2116の代わりに、クラウド・ストレージ・システムまたはその他のネットワークベースのストレージ・システムにアクセスすることができる。一般に、コンピュータ2102とクラウド・ストレージ・システムの間の接続は、例えば、それぞれアダプタ2158またはモデム2160によって、LAN2154またはWAN2156を経由して確立されることができる。コンピュータ2102を関連するクラウド・ストレージ・システムに接続するときに、外部ストレージ・インターフェイス2126は、アダプタ2158またはモデム2160あるいはその両方を用いて、他の種類の外部ストレージと同様に、クラウド・ストレージ・システムによって提供されたストレージを管理することができる。例えば、外部ストレージ・インターフェイス2126は、クラウド・ストレージ・ソースがコンピュータ2102に物理的に接続されているかのように、クラウド・ストレージ・ソースへのアクセスを提供するように構成されることができる。
【0147】
コンピュータ2102は、無線通信において動作可能に配置された任意の無線デバイスまたは実体(例えば、プリンタ、スキャナ、デスクトップ・コンピュータまたはポータブル・コンピュータあるはその両方、ポータブル・データ・アシスタント、通信衛星、無線で検出可能なタグに関連付けられた機器のいずれかの部品または位置(例えば、キオスク、新聞売店、商品棚など)、および電話)と通信するよう機能することができる。この通信は、ワイヤレス・フィディリティ(Wi-Fi)およびBLUETOOTH(R)無線技術を含むことができる。したがって、この通信は、従来のネットワークと同様に事前に定義された構造であるか、または単に、少なくとも2つのデバイス間のアドホック通信であることができる。
【0148】
前述した内容は、システム、コンピュータ・プログラム製品、およびコンピュータ実装方法の単なる例を含んでいる。当然ながら、本開示を説明する目的で、コンポーネント、製品、またはコンピュータ実装方法、あるいはその組み合わせの考えられるすべての組み合わせについて説明することは不可能であるが、当業者は、本開示の多くのその他の組み合わせおよび並べ替えが可能であるということを認識できる。さらに、「含む」、「有する」、「所有する」などの用語が、発明を実施するための形態、特許請求の範囲、付録、および図面において使用される範囲では、それらの用語は、「備えている」が特許請求における暫定的な用語として使用されるときに解釈されるような、用語「備えている」と同様の方法で、包含的であるよう意図されている。さまざまな実施形態の説明は、例示の目的で提示されているが、網羅的であることは意図されておらず、開示された実施形態に制限されない。記載された実施形態の範囲および思想を逸脱することなく多くの変更および変形が可能であることは、当業者にとって明らかであろう。本明細書で使用された用語は、実施形態の原理、実際の適用、または市場で見られる技術を超える技術的改良を最も適切に説明するため、または他の当業者が本明細書で開示された実施形態を理解できるようにするために選択されている。
図1
図2
図3A
図3B
図4
図5A
図5B
図6
図7
図8
図9A
図9B
図10
図11
図12A
図12B
図12C
図13A
図13B
図14A
図14B
図15
図16A
図16B
図16C
図17
図18
図19
図20
図21
【手続補正書】
【提出日】2022-12-09
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実行可能コンポーネントを格納するメモリと、
前記メモリに動作可能に結合され、前記メモリに格納された前記コンピュータ実行可能コンポーネントを実行するプロセッサとを備えているシステムであって、前記コンピュータ実行可能コンポーネントが、
量子回路を三価格子にエンコードするグラフ・コンポーネントを含み、前記三価格子が、前記量子回路の接続スキームに基づいて、複数のフラグ量子ビットを介して、補助量子ビットを複数のデータ量子ビットにマッピングする、システム。
【請求項2】
前記量子回路がスタビライザ測定回路を含み、前記システムが、
前記量子回路の前記接続スキームに基づいて、パウリ行列スタビライザの重み6の測定のために、前記複数のデータ量子ビットを前記三価格子にエンコードする第1のスタビライザ・コンポーネントをさらに備える、請求項1に記載のシステム。
【請求項3】
前記量子回路がスタビライザ測定回路を含み、前記システムが、
前記量子回路の前記接続スキームに基づいて、パウリ行列スタビライザの重み4の測定のために、前記複数のデータ量子ビットを前記三価格子にエンコードする第2のスタビライザ・コンポーネントをさらに備える、請求項1ないし2のいずれか一項に記載のシステム。
【請求項4】
前記三価格子が、六角形状および台形形状から成る群から選択された少なくとも1つの要素を含んでいる形状によって特徴付けられ、前記複数のデータ量子ビットが前記形状の角を定義し、前記補助量子ビットおよび前記複数のフラグ量子ビットが前記形状内の前記三価格子上に配置される、請求項1ないし3のいずれか一項に記載のシステム。
【請求項5】
前記三価格子上の前記複数のデータ量子ビットと前記複数のフラグ量子ビットの間の関連付けに基づいて、前記複数のデータ量子ビットに関連付けられた対応するエラーの構成を含むフラグ量子ビットの結果を識別する結果コンポーネントをさらに含む、請求項1ないし4のいずれか一項に記載のシステム。
【請求項6】
アルゴリズムの最小重み完全マッチング・プロセスの間に、前記補助量子ビットと第2の補助量子ビットの間に伸びる前記三価格子のエッジを利用して、前記三価格子をデコードするデコーディング・コンポーネントをさらに含む、請求項1ないし5のいずれか一項に記載のシステム。
【請求項7】
コンピュータ実行可能コンポーネントを格納するメモリと、
前記メモリに動作可能に結合され、前記メモリに格納された前記コンピュータ実行可能コンポーネントを実行するプロセッサとを備えているシステムであって、前記コンピュータ実行可能コンポーネントが、
フラグ量子ビットを介して補助量子ビットを複数のデータ量子ビットにマッピングする三価格子にエンコードされた量子回路の接続スキームに基づいて、データ量子ビット・エラーの構成に対応するフラグ量子ビットの結果を決定する結果コンポーネントを含む、システム。
【請求項8】
前記結果コンポーネントが、前記三価格子上の前記複数のデータ量子ビットと前記フラグ量子ビットの間の関連付けに基づいて、前記データ量子ビット・エラーの構成を決定する、請求項7に記載のシステム。
【請求項9】
前記量子回路がスタビライザ測定回路を含み、前記システムが、
前記量子回路の前記接続スキームに基づいて、パウリ行列スタビライザの重み6の測定のために、前記複数のデータ量子ビットを前記三価格子にエンコードする第1のスタビライザ・コンポーネントをさらに備える、請求項7ないし8のいずれか一項に記載のシステム。
【請求項10】
前記量子回路がスタビライザ測定回路を含み、前記システムが、
前記量子回路の前記接続スキームに基づいて、パウリ行列スタビライザの重み4の測定のために、前記複数のデータ量子ビットを前記三価格子にエンコードする第2のスタビライザ・コンポーネントをさらに備える、請求項7ないし9のいずれか一項に記載のシステム。
【請求項11】
前記三価格子が、六角形状および台形形状から成る群から選択された少なくとも1つの要素を含んでいる形状によって特徴付けられ、前記複数のデータ量子ビットが前記形状の角を定義し、前記補助量子ビットおよび前記フラグ量子ビットが前記形状内の前記三価格子上に配置される、請求項7ないし10のいずれか一項に記載のシステム。
【請求項12】
プロセッサに動作可能に結合されたシステムによって、量子回路を三価格子にエンコードすることを含んでいるコンピュータ実装方法であって、前記三価格子が、前記量子回路の接続スキームに基づいて、複数のフラグ量子ビットを介して、補助量子ビットを複数のデータ量子ビットにマッピングする、コンピュータ実装方法。
【請求項13】
前記システムによって、前記量子回路の前記接続スキームに基づいて、パウリ行列スタビライザの測定のために前記複数のデータ量子ビットを前記三価格子にエンコードすることをさらに含み、前記測定が、前記パウリ行列スタビライザの重み6の測定および前記パウリ行列スタビライザの重み4の測定から成る群から選択される、請求項12に記載のコンピュータ実装方法。
【請求項14】
前記システムによって、前記三価格子上の前記複数のデータ量子ビットと前記複数のフラグ量子ビットの間の関連付けに基づいて、前記複数のデータ量子ビットに関連付けられた対応するエラーの構成を含むフラグ量子ビットの結果を識別することをさらに含む、請求項12ないし13のいずれか一項に記載のコンピュータ実装方法。
【請求項15】
前記システムによって、デコーディング・アルゴリズムの最小重み完全マッチング・プロセスの間に、前記補助量子ビットと第2の補助量子ビットの間に伸びる前記三価格子のエッジを使用して前記三価格子をデコードすることをさらに含む、請求項12ないし14のいずれか一項に記載のコンピュータ実装方法。
【請求項16】
プロセッサに動作可能に結合されたシステムによって、フラグ量子ビットを介して補助量子ビットを複数のデータ量子ビットにマッピングする三価格子にエンコードされた量子回路の接続スキームに基づいて、データ量子ビット・エラーの構成に対応するフラグ量子ビットの結果を決定することを含む、コンピュータ実装方法。
【請求項17】
前記システムによって、前記量子回路の前記接続スキームに基づいて、パウリ行列スタビライザの測定のために前記複数のデータ量子ビットを前記三価格子にエンコードすることをさらに含み、前記測定が、前記パウリ行列スタビライザの重み6の測定および前記パウリ行列スタビライザの重み4の測定から成る群から選択される、請求項16に記載のコンピュータ実装方法。
【請求項18】
前記三価格子が、六角形状および台形形状から成る群から選択された少なくとも1つの要素を含んでいる形状によって特徴付けられ、前記複数のデータ量子ビットが前記形状の角を定義し、前記補助量子ビットおよび前記フラグ量子ビットが前記形状内の前記三価格子上に配置される、請求項16ないし17のいずれか一項に記載のコンピュータ実装方法。
【請求項19】
前記フラグ量子ビットの結果を前記決定することが、前記三価格子上の前記複数のデータ量子ビットと前記フラグ量子ビットの間の関連付けに基づく、請求項16ないし18のいずれか一項に記載のコンピュータ実装方法。
【請求項20】
量子回路の接続スキームをエンコードするためのコンピュータ・プログラムであって、コンピュータに、請求項12ないし19のいずれか一項に記載の方法を実行させるコンピュータ・プログラム。
【国際調査報告】