(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-01-15
(54)【発明の名称】スケーリングされたゲートに基づく量子エラー軽減
(51)【国際特許分類】
G06N 10/70 20220101AFI20250107BHJP
【FI】
G06N10/70
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024534264
(86)(22)【出願日】2022-12-02
(85)【翻訳文提出日】2024-06-07
(86)【国際出願番号】 EP2022084305
(87)【国際公開番号】W WO2023104671
(87)【国際公開日】2023-06-15
(32)【優先日】2021-12-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】アーネスト-ノーブル、ナタン
(72)【発明者】
【氏名】トルノウ、キャロライン
(72)【発明者】
【氏名】エッガー、ダニエル
(57)【要約】
量子エラー軽減に関する技術が提供される。例えば、本明細書に記載された1つまたは複数の実施形態は、コンピュータ実行可能コンポーネントを格納できるメモリを備えることができるシステムを含むことができる。このシステムは、メモリに動作可能に結合され、メモリに格納されたコンピュータ実行可能コンポーネントを実行することができる、プロセッサを備えることもできる。コンピュータ実行可能コンポーネントは、エラー軽減のためにスケーリングされた量子ゲートのセットを量子回路に追加することができる、エラー軽減コンポーネントを含むことができる。スケーリングされた量子ゲートのセットは、量子ゲートおよび量子ゲートの反転を含むことができる。また、スケーリングされた量子ゲートのセットは、ターゲット伸長係数を実現するために、パルス・スケジュールに基づいて回転角度を有することができる。
【特許請求の範囲】
【請求項1】
コンピュータ実行可能コンポーネントを格納するメモリと、
前記メモリに動作可能に結合され、前記メモリに格納された前記コンピュータ実行可能コンポーネントを実行するプロセッサと
を備えているシステムであって、前記コンピュータ実行可能コンポーネントが、
エラー軽減のために、スケーリングされた量子ゲートのセットを量子回路に追加するエラー軽減コンポーネントを含み、前記スケーリングされた量子ゲートのセットが、量子ゲートおよび前記量子ゲートの反転を含み、前記スケーリングされた量子ゲートのセットが、ターゲット伸長係数を実現するためのパルス・スケジュールに基づく回転角度を有する、システム。
【請求項2】
前記スケーリングされた量子ゲートのセットの前記回転角度が、前記量子回路に発生するノイズ量を制御する、請求項1に記載のシステム。
【請求項3】
前記量子回路に存在するターゲット量子ゲートに基づいて量子ゲートのセットを前記量子回路に挿入するゲート・コンポーネントをさらに備える、請求項1または2のいずれかに記載のシステム。
【請求項4】
前記量子ゲートのセットが、単一の交差共鳴パルス、回転項を含む交差共鳴パルス、前記回転項を含むエコー交差共鳴パルス、または直接CXゲートによって実施されるR
ZXゲートを含む、請求項3に記載のシステム。
【請求項5】
前記ターゲット量子ゲートの較正を実行し、前記ターゲット量子ゲートのパルス実施を決定する較正コンポーネントをさらに備える、請求項3または4のいずれかに記載のシステム。
【請求項6】
前記ターゲット量子ゲートの前記パルス実施および前記ターゲット伸長係数に基づいて前記量子ゲートのセットの前記パルス・スケジュールを生成するスケーリング・コンポーネントをさらに備え、前記パルス・スケジュールが前記量子ゲートのセットの回転角度をスケーリングして、前記スケーリングされた量子ゲートのセットを定義する、請求項5に記載のシステム。
【請求項7】
前記スケーリングされた量子ゲートのセットを用いて前記量子回路を実行する実行コンポーネントをさらに備える、請求項5または6のいずれかに記載のシステム。
【請求項8】
前記実行コンポーネントによって実現された結果を外挿して前記量子回路のノイズを軽減する外挿コンポーネントをさらに備える、請求項7に記載のシステム。
【請求項9】
コンピュータ実装方法であって、
プロセッサに動作可能に結合されたシステムによって、エラー軽減のために、スケーリングされた量子ゲートのセットを量子回路に追加することを
含み、前記スケーリングされた量子ゲートのセットが、量子ゲートおよび前記量子ゲートの反転を含み、前記スケーリングされた量子ゲートのセットが、ターゲット伸長係数を実現するためのパルス・スケジュールに基づく回転角度を有する、コンピュータ実装方法。
【請求項10】
前記スケーリングされた量子ゲートのセットの前記回転角度が、前記量子回路に発生するノイズ量を制御する、請求項9に記載のコンピュータ実装方法。
【請求項11】
前記システムによって、前記量子回路に存在するターゲット量子ゲートに基づいて量子ゲートのセットを前記量子回路に挿入することをさらに含む、請求項9または10のいずれかに記載のコンピュータ実装方法。
【請求項12】
前記量子ゲートのセットが、単一の交差共鳴パルス、回転項を含む交差共鳴パルス、前記回転項を含むエコー交差共鳴パルス、または直接CXゲートによって実施されるR
ZXゲートを含む、請求項11に記載のコンピュータ実装方法。
【請求項13】
前記システムによって、前記ターゲット量子ゲートの較正を抽出して、前記ターゲット量子ゲートのパルス実施を決定することをさらに含む、請求項11または12のいずれかに記載のコンピュータ実装方法。
【請求項14】
前記システムによって、前記ターゲット量子ゲートの前記パルス実施および前記ターゲット伸長係数に基づいて前記量子ゲートのセットの前記パルス・スケジュールを生成することをさらに含み、前記パルス・スケジュールが前記量子ゲートのセットの回転角度をスケーリングして、前記スケーリングされた量子ゲートのセットを定義する、請求項13に記載のコンピュータ実装方法。
【請求項15】
前記システムによって、前記スケーリングされた量子ゲートのセットを用いて前記量子回路を実行することと、
前記システムによって、前記実行からの結果を外挿して前記量子回路のノイズを軽減することと
をさらに含む、請求項14に記載のコンピュータ実装方法。
【請求項16】
量子回路のエラーを軽減するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えており、前記プログラム命令が、プロセッサによって実行可能であり、前記プロセッサに、
スケーリングされた量子ゲートのセットを前記量子回路に追加させ、前記スケーリングされた量子ゲートのセットが、量子ゲートおよび前記量子ゲートの反転を含み、前記スケーリングされた量子ゲートのセットが、ターゲット伸長係数を実現するためのパルス・スケジュールに基づく回転角度を有する、コンピュータ・プログラム製品。
【請求項17】
前記スケーリングされた量子ゲートのセットの前記回転角度が、前記量子回路に発生するノイズ量を制御する、請求項16に記載のコンピュータ・プログラム製品。
【請求項18】
前記プログラム命令が、前記プロセッサに、
前記量子回路に存在するターゲット量子ゲートに基づいて量子ゲートのセットを前記量子回路に挿入することをさらに行わせる、請求項16または17のいずれかに記載のコンピュータ・プログラム製品。
【請求項19】
前記プログラム命令が、前記プロセッサに、
前記ターゲット量子ゲートの較正を抽出して、前記ターゲット量子ゲートのパルス実施を決定することと、
前記ターゲット量子ゲートの前記パルス実施および前記ターゲット伸長係数に基づいて前記量子ゲートのセットの前記パルス・スケジュールを生成することと
をさらに行わせ、前記パルス・スケジュールが前記量子ゲートのセットの回転角度をスケーリングして、前記スケーリングされた量子ゲートのセットを定義する、請求項18に記載のコンピュータ・プログラム製品。
【請求項20】
前記プログラム命令が、前記プロセッサに、
前記スケーリングされた量子ゲートのセットを用いて前記量子回路を実行することと、
前記量子回路の実行によって実現された結果を外挿して前記量子回路のノイズを軽減することと
をさらに行わせる、請求項19に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、量子回路におけるエラー軽減に関連しており、より詳細には、量子回路に発生するノイズ量を制御できる1つまたは複数の伸長係数を実現するための、量子回路へのスケーリングされた量子ゲートの組み込みに関連している。
【背景技術】
【0002】
量子コンピュータは、量子回路の実行時間を通じて存在することがある固有のノイズから悪影響を受ける可能性がある。例えば、量子回路の量子ビット演算は、量子ビットのコヒーレンス時間などの、1つまたは複数のノイズ源から生じるエラー値に関連付けられ得る。エラー値は、量子回路の計算結果を劣化させる可能性がある。さらに、エラーの量は、量子ビット演算または回路コンポーネント(例えば、量子ゲート)あるいはその両方の数が増えるにつれて増加することがある。量子回路の結果におけるエラーの量を軽減するために、量子エラー軽減技術は、制御されたノイズ量を量子回路に導入して、ノイズのない結果を外挿する。
【0003】
例示的な量子エラー軽減技術はリチャードソン外挿であり、リチャードソン外挿では、種々の回路実行時間で量子回路が実行され、各実行が特定の伸長係数に対応する。リチャードソン外挿のためのパルス・ベースの手法およびデジタル・ベースの手法が存在する。パルス・ベースのチャードソン外挿は、量子回路を実行するために必要とされる量子ゲートの同じセットに対してパルス・スケジュール持続時間を変更することによって実施される。同一の、ただし異なる持続時間を含むスケジュールによって実施される、ゲート・セットの複数のコピーが調整され、同じ量子回路を実行するために使用され得る。デジタル・ベースのリチャードソン外挿は、量子回路実行時間を延長するための方法として、ノイズの多い量子ゲートを挿入することによって実施される。通常、恒等ゲートを含む2つのCNOTゲートが、CNOTゲートごとに元の量子回路に挿入される。
【発明の概要】
【0004】
以下に、本発明の1つまたは複数の実施形態の基本的理解を可能にするための概要を示す。この概要は、主要な要素または重要な要素を特定するよう意図されておらず、特定の実施形態の範囲または特許請求の範囲を正確に説明するよう意図されていない。この概要の唯一の目的は、後で提示されるより詳細な説明のための前置きとして、概念を簡略化された形態で提示することである。本明細書に記載された1つまたは複数の実施形態では、量子演算の量子エラー軽減を実行することができるシステム、コンピュータ実装方法、装置、またはコンピュータ・プログラム製品、あるいはその組み合わせが説明される。
【0005】
一実施形態によれば、システムが提供される。このシステムは、コンピュータ実行可能コンポーネントを格納できるメモリを備えることができる。このシステムは、メモリに動作可能に結合され、メモリに格納されたコンピュータ実行可能コンポーネントを実行することができる、プロセッサを備えることもできる。コンピュータ実行可能コンポーネントは、エラー軽減のためにスケーリングされた量子ゲートのセットを量子回路に追加することができる、エラー軽減コンポーネントを含むことができる。スケーリングされた量子ゲートのセットは、量子ゲートおよび量子ゲートの反転を含むことができる。また、スケーリングされた量子ゲートのセットは、ターゲット伸長係数(target stretch factor)を実現するために、パルス・スケジュールに基づいて回転角度を有することができる。そのようなシステムの利点は、エラー軽減において採用される改良された伸長係数分解能であることができる。
【0006】
一部の例では、スケーリングされた量子ゲートのセットの回転角度が、量子回路に発生するノイズ量を制御できる。そのようなシステムの利点は、較正される必要がない量子ゲートを介したノイズ導入の制御であることができる。
【0007】
実施形態によれば、コンピュータ実装方法が提供される。コンピュータ実装方法は、プロセッサに動作可能に結合されたシステムによって、エラー軽減のために、スケーリングされた量子ゲートのセットを量子回路に追加することを含むことができる。スケーリングされた量子ゲートのセットは、量子ゲートおよび量子ゲートの反転を含むことができる。また、スケーリングされた量子ゲートのセットは、ターゲット伸長係数を実現するために、パルス・スケジュールに基づいて回転角度を有することができる。そのようなコンピュータ実装方法の利点は、種々の深さの量子回路を使用する量子エラー軽減技術の使用であることができる。
【0008】
一部の例では、コンピュータ実装方法は、システムによって、量子回路に存在するターゲット量子ゲートに基づいて量子ゲートのセットを量子回路に挿入することを含むことができる。そのようなコンピュータ実装方法の利点は、クラウドベースのコンピューティング環境内でリチャードソン外挿アルゴリズムを容易にするための、挿入された量子ゲートのセットの使用であることができる。
【0009】
実施形態によれば、量子回路のエラーを軽減するためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えることができる。プログラム命令は、プロセッサによって実行可能であり、プロセッサに、スケーリングされた量子ゲートのセットを量子回路に追加させる。スケーリングされた量子ゲートのセットは、量子ゲートおよび量子ゲートの反転を含むことができる。また、スケーリングされた量子ゲートのセットは、ターゲット伸長係数を実現するために、パルス・スケジュールに基づいて回転角度を有することができる。そのようなコンピュータ・プログラム製品の利点は、リチャードソン外挿アルゴリズムの実行のための許容できる回路の深さにおける増加であることができる。
【0010】
一部の例では、プログラム命令は、プロセッサに、ターゲット量子ゲートの較正を抽出して、ターゲット量子ゲートのパルス実施を決定することをさらに行わせることができる。また、プログラム命令は、プロセッサに、ターゲット量子ゲートのパルス実施およびターゲット伸長係数に基づいて量子ゲートのセットのパルス・スケジュールを生成することをさらに行わせることができる。パルス・スケジュールは、量子ゲートのセットの回転角度をスケーリングして、スケーリングされた量子ゲートのセットを定義することができる。そのようなコンピュータ・プログラム製品の利点は、伸長係数値の高密度の分布の有効化された実施であることができる。
【図面の簡単な説明】
【0011】
【
図1】本明細書に記載された1つまたは複数の実施形態に従って、スケーリングされたパルス・スケジュールを使用して実施される1つまたは複数の挿入された量子ゲートのセットによって、量子エラー軽減を実行することができる例示的な非限定的システムのブロック図を示す図である。
【
図2A】本明細書に記載された1つまたは複数の実施形態に従って、1つまたは複数の量子コンピュータ上で1つまたは複数の量子アルゴリズムを実行するために実行され得る例示的な非限定的量子回路を示す図である。
【
図2B】本明細書に記載された1つまたは複数の実施形態に従って、元の量子回路内の多量子ビット量子ゲート(multi-qubit quantum gates)の存在に基づいて1つまたは複数の量子ゲートのセットを挿入することによって生成された例示的な変更された非限定的量子回路を示す図である。
【
図3】本明細書に記載された1つまたは複数の実施形態に従って、1つまたは複数のネイティブな多量子ビット量子ゲートに関連して、1つまたは複数の量子ゲートのセットを含むように変更された量子回路を使用して実施される、1つまたは複数のスケーリングされたパルス・スケジュールを生成することができる例示的な非限定的システムを示す図である。
【
図4】本明細書に記載された1つまたは複数の実施形態に従って、量子回路に挿入された1つまたは複数の量子ゲートのセットによって示され得る、伸長係数値と回転角度の関係を特徴付けることができる例示的な非限定的グラフを示す図である。
【
図5】本明細書に記載された1つまたは複数の実施形態に従って、1つまたは複数のスケーラブルな量子ゲートのセットを含むように変更された1つまたは複数の量子回路上で実施され得る、例示的で非限定的なスケーリングされたパルス・スケジュールを示す図である。
【
図6】本明細書に記載された1つまたは複数の実施形態に従って、複数の反復にわたって、種々のスケーリングされたパルス・スケジュールを使用して変更された量子回路を実行する例示的な非限定的システムを示す図である。
【
図7】本明細書に記載された1つまたは複数の実施形態に従って、リチャードソン外挿アルゴリズムを採用して、種々のスケーリングされたパルス・スケジュールを使用する量子回路の実行に関連付けられた、エラーが軽減された計算結果を決定する、例示的な非限定的システムを示す図である。
【
図8】本明細書に記載された1つまたは複数の実施形態に従って、種々の量子エラー軽減技術によって実現され得る、改良された伸長係数分解能を示すことができる例示的な非限定的グラフを示す図である。
【
図9】本明細書に記載された1つまたは複数の実施形態に従って、1つまたは複数の量子ゲートのセットを含むように変更された1つまたは複数の量子回路上の種々のスケーリングされたパルス・スケジュールの実行によって量子エラー軽減を容易にすることができる、例示的な非限定的コンピュータ実装方法のフロー図を示す図である。
【
図10】本明細書に記載された1つまたは複数の実施形態に従ってクラウド・コンピューティング環境を示す図である。
【
図11】本明細書に記載された1つまたは複数の実施形態に従って抽象モデル・レイヤを示す図である。
【
図12】本明細書に記載された1つまたは複数の実施形態を容易にすることができる例示的な非限定的動作環境を示すブロック図である。
【発明を実施するための形態】
【0012】
以下の詳細な説明は、例にすぎず、実施形態、または実施形態の適用もしくは使用、あるいはその両方を限定することは意図されていない。さらに、先行する「背景技術」または「発明の概要」のセクション、あるいは「発明を実施するための形態」のセクションで提示された、いずれか明示されたかまたは暗示された情報によって制約されるという意図はない。
【0013】
ここで、図面を参照して1つまたは複数の実施形態が説明され、図面全体を通じて、類似する参照番号が、類似する要素を参照するために使用されている。以下の説明では、説明の目的で、1つまたは複数の実施形態を十分に理解できるように、多数の特定の詳細が示されている。しかし、これらの特定の詳細がなくても、種々の事例において、1つまたは複数の実施形態が実践され得るということは明らかである。
【0014】
パルス・ベースのリチャードソン外挿は、引き伸ばされたパルス・スケジュールごとに、大量の較正オーバーヘッドを必要とする。例えば、交互の持続時間を実施することによって、他のパルス・パラメータも変更され得る。例えば、より長い持続時間を有するXゲートを実施することは、それに応じて振幅および場合によっては追加パラメータをスケーリングすることを必要とする可能性がある。したがって、異なるパラメータ値を含むスケジュール内のパルスは、較正を必要とし、それによって、大きい較正オーバーヘッドを引き起こす。さらに、デジタル・ベースのリチャードソン外挿は、制限された分解能を有し(例えば、ゲート数に基づいて適用可能な伸長係数の範囲が制限される)、したがって、かなりの回路の深さを有する量子回路では使用され得ない。量子エラー軽減の他の実施(例えば、パルス・ベースのリチャードソン外挿およびデジタル・ベースのリチャードソン外挿)に伴う問題を前提として、本開示は、1つまたは複数のターゲット伸長係数を達成するためのスケーリングされたパルス・スケジュールを有する2量子ビット・ゲートを量子回路に挿入するエラー軽減技術によって、これらの問題のうちの1つまたは複数に対する解決策を生み出すように実施され得る。本明細書に記載された1つまたは複数の実施形態が、デジタル・ベースのリチャードソン外挿と比較して、許容できる回路の深さを増やすことができるのは有利である。また、本明細書に記載された種々の実施形態は、少なくとも、実施されるスケーリングされた2量子ビット・ゲートが、(例えば、パルス・ベースのリチャードソン外挿において必要とされるように)各パルス・スケジュールを使用して較正される必要がないため、クラウド・コンピューティング環境内で効率的に採用され得る。
【0015】
本発明の種々の実施形態は、効率的、効果的、かつ自律的な(例えば、直接的な人間による誘導のない)量子エラー軽減を容易にする、コンピュータ処理システム、コンピュータ実装方法、装置、またはコンピュータ・プログラム製品、あるいはその組み合わせを対象にすることができる。例えば、本明細書に記載された1つまたは複数の実施形態は、量子回路の1つまたは複数のネイティブ・ゲートに関連して、特定の量子回路への1つまたは複数のスケーリングされた2量子ビット・ゲートのセットの挿入を含むことができる。追加されたゲートが元の量子回路の恒等性を構成するように、挿入されるゲートは、互いの反転であることができる。さらに、1つまたは複数のターゲット伸長係数を実現するために、追加された2量子ビット・ゲートのパルス・スケジュールがスケーリングされ得る。例えば、追加された2量子ビット・ゲートの回転角度は、量子回路の1つまたは複数のネイティブ・ゲートと比較してスケーリングされたパルス・スケジュールに基づくことができる。追加された2量子ビット・ゲートを含む量子回路は、複数のパルス・スケジュールを使用して実行されることが可能であり、各実行が各伸長係数を実現し、それによって、導入された各ノイズ量を実現する。変更された量子回路の複数の実行後に、計算結果がゼロに近いノイズ決定に外挿され得る。
【0016】
コンピュータ処理システム、コンピュータ実装方法、装置、またはコンピュータ・プログラム製品、あるいはその組み合わせは、本質的に高度に技術的であり、抽象的ではなく、人間による一連の精神的活動として実行できない問題(例えば、量子エラー軽減)を解決するための、ハードウェアまたはソフトウェアあるいはその両方を採用する。例えば、1人または複数の個人は、ほぼゼロ・ノイズの計算を外挿するために、スケーリングされた量子ゲートによって制御された種々の伸長係数を使用して量子回路を実行することができない。
【0017】
また、本明細書に記載された1つまたは複数の実施形態は、ターゲット伸長係数を実現するためにスケーリングされたパルス・スケジュールと共に1つまたは複数の量子ゲートのセットを含むように特定の量子回路を変更することによって、従来の量子エラー軽減を上回る技術的改良を構成することができる。さらに、本明細書に記載された種々の実施形態は、ターゲットのパルス・スケジュールを実施するために通常は必要とされる大量の較正オーバーヘッドを伴わずに、1つまたは複数のスケーリングされた量子ゲートのセットを採用することによって、従来の量子エラー軽減を上回る技術的改良を示すことができる。さらに、本明細書に記載された1つまたは複数の実施形態は、1つまたは複数の挿入された量子ゲートのセットによって実施され得る可能性のある伸長係数値の細かい分解能を可能にすることによって、実用的応用を有することができる。例えば、本明細書に記載された種々の実施形態は、標準的な量子エラー軽減技術より大きい回路の深さを容易にするために、可能性のある伸長係数のパラメトリック分布を含むことができる。
【0018】
図1は、1つまたは複数の量子回路計算におけるエラー値を軽減することができる例示的な非限定的システム100のブロック図を示している。本明細書に記載された他の実施形態で採用されている類似する要素の説明の繰り返しは、簡潔にするために省略されている。本発明の種々の実施形態におけるシステム(例えば、システム100など)、装置、またはプロセスの態様は、1つまたは複数のマシン内で具現化された(例えば、1つまたは複数のマシンに関連付けられた1つまたは複数のコンピュータ可読媒体内で具現化された)1つまたは複数の機械実行可能コンポーネントを構成することができる。そのようなコンポーネントは、1つまたは複数のマシン(例えば、コンピュータ、コンピューティング・デバイス、または仮想マシン、あるいはその組み合わせなど)によって実行された場合に、マシンに、説明された動作を実行させることができる。
【0019】
図1に示されているように、システム100は、1つまたは複数のサーバ102、1つまたは複数のネットワーク104、入力デバイス106、または量子コンピュータ108、あるいはその組み合わせを備えることができる。サーバ102は、エラー軽減コンポーネント110を備えることができる。エラー軽減コンポーネント110は、ゲート・コンポーネント114あるいはその両方をさらに備えることができる。また、サーバ102は、少なくとも1つのメモリ116を備えるか、またはその他の方法で少なくとも1つのメモリ116に関連付けられ得る。サーバ102は、エラー軽減コンポーネント110および関連するコンポーネント、メモリ116、またはプロセッサ120、あるいはその組み合わせなどの、ただしこれらに限定されない、種々のコンポーネントに結合することができる、システム・バス118をさらに備えることができる。
図1ではサーバ102が示されているが、他の実施形態では、種々の種類の複数のデバイスが、
図1に示されている特徴に関連付けられるか、または
図1に示されている特徴を備えることができる。さらに、サーバ102は、1つまたは複数のクラウド・コンピューティング環境と通信することができる。
【0020】
1つまたは複数のネットワーク104は、セルラー・ネットワーク、広域ネットワーク(WAN:wide area network)(例えば、インターネット)またはローカル・エリア・ネットワーク(LAN:local area network)を含むが、これらに限定されない、有線ネットワークおよび無線ネットワークを含むことができる。例えば、サーバ102は、例えばセルラー方式、WAN、ワイヤレス・フィディリティ(WiFi(登録商標):wireless fidelity)、Wi-Max、WLAN、またはBluetooth(登録商標)技術、あるいはその組み合わせなどを含むが、これらに限定されない、実質的に任意の望ましい有線技術または無線技術を使用して、1つまたは複数の入力デバイス106および/または量子コンピュータ108と(およびその逆方向に)通信することができる。さらに、示されている実施形態では、エラー軽減コンポーネント110を1つまたは複数のサーバ102上に設けることができるが、システム100のアーキテクチャがそのように制限されないということが理解されるべきである。例えば、エラー軽減コンポーネント110またはエラー軽減コンポーネント110の1つまたは複数のコンポーネントは、別のサーバ・デバイス、またはクライアント・デバイス、あるいはその組み合わせなどの、別のコンピュータ・デバイスに存在することができる。
【0021】
1つまたは複数の入力デバイス106は、パーソナル・コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、携帯電話(例えば、スマートフォン)、(例えば、プロセッサを備えている)コンピュータ化されたタブレット、スマート・ウォッチ、キーボード、タッチ・スクリーン、またはマウス、あるいはその組み合わせなどを含むことができるが、これらに限定されない、1つまたは複数のコンピュータ化されたデバイスを含むことができる。1つまたは複数の入力デバイス106は、1つまたは複数の量子回路122または伸長係数設定124あるいはその両方をシステム100に入力するために採用されることが可能であり、それによって、(例えば、直接接続を介して、または1つまたは複数のネットワーク104を介して、あるいはその両方によって)前述のデータをサーバ102と共有する。例えば、1つまたは複数の入力デバイス106は、(例えば、直接接続を介して、または1つまたは複数のネットワーク104を介して、あるいはその両方によって)データを通信コンポーネント112に送信することができる。さらに、1つまたは複数の入力デバイス106は、システム100によって生成された1つまたは複数の出力をユーザに提示できる1つまたは複数のディスプレイを備えることができる。例えば、1つまたは複数のディスプレイは、陰極管ディスプレイ(CRT:cathode tube display)、発光ダイオード・ディスプレイ(LED:light-emitting diode display)、電界発光ディスプレイ(ELD:electroluminescent display)、プラズマ・ディスプレイ・パネル(PDP:plasma display panel)、液晶ディスプレイ(LCD:liquid crystal display)、または有機発光ダイオード・ディスプレイ(OLED:organic light-emitting diode display)、あるいはその組み合わせなどを含むことができるが、これらに限定されない。
【0022】
種々の実施形態では、1つまたは複数の入力デバイス106または1つまたは複数のネットワーク104あるいはその両方が、1つまたは複数の設定またはコマンドあるいはその両方をシステム100に入力するために採用されることができる。例えば、本明細書に記載された種々の実施形態では、1つまたは複数の入力デバイス106が、サーバ102または関連するコンポーネントあるいはその両方を動作させるか、または操作するか、あるいはその両方を実行するために採用されることができる。さらに、1つまたは複数の入力デバイス106は、サーバ102または関連するコンポーネントあるいはその両方によって生成された1つまたは複数の出力(例えば、表示、データ、または視覚化、あるいはその組み合わせなど)を表示するために採用されることができる。さらに、1つまたは複数の実施形態では、1つまたは複数の入力デバイス106が、クラウド・コンピューティング環境内に含まれるか、またはクラウド・コンピューティング環境に動作可能に結合されるか、あるいはその両方であることができる。
【0023】
例えば、1つまたは複数の量子回路122をシステム100に入力するために、1つまたは複数の入力デバイス106が採用され得る。種々の実施形態では、エラー軽減コンポーネント110は、1つまたは複数の量子回路122を実行することから生じる計算に関連付けられたエラーの量を軽減するために、本明細書に記載された種々の量子エラー軽減技術を採用することができる。例えば、1つまたは複数の量子コンピュータ108は、1つまたは複数の量子回路122を使用して、1つまたは複数の量子アルゴリズムを実行することができる。1つまたは複数の量子回路122は、1つまたは複数の量子コンピュータ108の計算ルーチンを表現することができる。例えば、1つまたは複数の量子回路122は、量子データに対する1つまたは複数のコヒーレントな量子演算を表すことができる。種々の実施形態では、1つまたは複数の量子回路122は、1つまたは複数の量子アルゴリズムを実行するために1つまたは複数の量子コンピュータ108によって採用された量子ビットの数または量子ビットの接続性あるいはその両方を表現する(delineate)ことができる。例えば、1つまたは複数の量子回路122は、1つまたは複数の量子ビットに関して、初期化およびリセット動作(例えば、1つまたは複数の望ましい状態への1つまたは複数の量子ビットの初期化)、量子ゲート(例えば、アダマール・ゲート、位相シフタ・ゲート(phase shifter gates)、制御されたゲート、制御されないゲート、位相回転ゲート、制御NOTゲート(CNOT:controlled-NOT)ゲート、単一量子ビット・ゲート、多量子ビット・ゲート、交差共鳴ゲート、または同様のもの、あるいはその組み合わせ)、測定動作、または古典的に制御される量子ゲート、あるいはその組み合わせを表すことができる。
【0024】
さらに、1つまたは複数の伸長係数設定124をシステム100(例えば、ここで1つまたは複数の伸長係数設定124が、例えば1つまたは複数のメモリ116に格納され得る)に入力するために、1つまたは複数の入力デバイス106が採用され得る。種々の実施形態では、1つまたは複数のパルス・スケジュールに従って、1つまたは複数の量子回路122の1つまたは複数の量子ゲートが駆動され得る。パルス・スケジュールは、例えば、波形、振幅、または時間、あるいはその組み合わせによってパラメータ化され得る(例えば、1つまたは複数の量子コンピュータ108によって生成された)マイクロ波パルスのシーケンスを表すことができる。種々の実施形態では、量子ゲートを駆動するマイクロ波パルスの1つまたは複数のパラメータは、伸長係数値によって定義されたインクリメントによって変更され得る。例えば、伸長係数値は、駆動マイクロ波パルスの波形、振幅、または時間、あるいはその組み合わせに対する漸進的な変更を定義することができる。例えば、伸長係数値は、マイクロ波パルスの時間または振幅あるいはその両方における伸長を定義することができる。別の例では、伸長係数値は、パルス時間、立ち上がり時間/立ち下がり時間、待ち時間、パルスの一定振幅部分、または同様のこと、あるいはその組み合わせのスケーリングを定義することができる。それによって、伸長係数値は、量子ゲートを駆動するマイクロ波パルスの1つまたは複数のパラメータに対する変更の量を定義することができる。種々の実施形態では、1つまたは複数の伸長係数設定124が、エラー軽減コンポーネント110によって実施される伸長係数値の範囲を定義することができる。さらに、1つまたは複数の伸長係数設定124が、伸長係数値によって変更されるマイクロ波パルス・パラメータを定義することができる。例えば、複数の反復によって量子回路122が実行されることが可能であり、各反復は、伸長係数設定124からの各伸長係数値を使用する。各実行の反復で量子ゲートのパルス・スケジュールを変更することによって、量子回路122に、各実行で同じ量子計算に関連付けられた異なる量のノイズが発生し得る。1つまたは複数の実施形態では、エラー軽減コンポーネント110によって1つまたは複数の伸長係数設定124が生成され得るか、またはエラー軽減コンポーネント110が、(1つまたは複数のメモリ116に格納された)1つまたは複数のデフォルトの伸長係数設定124を使用することができるか、あるいはその両方である。
【0025】
種々の実施形態では、1つまたは複数の量子コンピュータ108は、(例えば、DiVincenzo基準を満たしながら)計算処理を容易にするために、量子力学の法則(例えば、重ね合わせまたは量子もつれあるいはその両方)を利用できる量子ハードウェア・デバイスを備えることができる。1つまたは複数の実施形態では、1つまたは複数の量子コンピュータ108は、量子データ・プレーン、制御プロセッサ・プレーン、制御および測定プレーン、または量子ビット技術、あるいはその組み合わせを備えることができる。
【0026】
1つまたは複数の実施形態では、量子データ・プレーンは、物理量子ビットを備えている1つまたは複数の量子ハードウェア・コンポーネント、量子ビットの位置を固定するための構造、または支援回路、あるいはその組み合わせを含むことができる。支援回路は、例えば、量子ビットの状態の測定を容易にするか、または(例えば、ゲートに基づくシステムの場合に)量子ビットに対するゲート演算を実行するか、あるいはその両方を行うことができる。一部の実施形態では、支援回路は、複数の量子ビットが互いに情報をやりとりすることを可能にすることができる有線ネットワークを備えることができる。さらに、有線ネットワークは、直接的電気接続または電磁放射(例えば、光信号、マイクロ波信号、または低周波信号、あるいはその組み合わせ)あるいはその両方を介して、制御信号の送信を容易にすることができる。例えば、支援回路は、1つまたは複数の量子ビットに動作可能に結合された1つまたは複数の超伝導共振器を備えることができる。本明細書において説明されているように、「超伝導」という用語は、アルミニウム(例えば、1.2ケルビンの超伝導臨界温度)またはニオブ(例えば、9.3ケルビンの超伝導臨界温度)などの、超伝導臨界温度以下で超伝導特性を示す材料を特徴付けることができる。さらに、当業者は、本明細書に記載された種々の実施形態において他の超伝導体材料(例えば、水素化リチウム/水素化マグネシウム合金などの水素化物超伝導体)が使用され得るということを認識するであろう。
【0027】
1つまたは複数の実施形態では、制御プロセッサ・プレーンは、量子ゲート演算または測定あるいはその両方のハミルトニアン・シーケンスを識別するか、またはトリガーするか、あるいはその両方を実行することができ、このシーケンスは、(例えば、1つまたは複数の量子回路122によって定義された)量子アルゴリズム実施するために、(例えば、エラー軽減コンポーネント110を介してサーバ102などのホスト・プロセッサによって提供された)プログラムを実行する。例えば、制御プロセッサ・プレーンは、制御および測定プレーンのために、コンパイルされたコードをコマンドに変換することができる。1つまたは複数の実施形態では、制御プロセッサ・プレーンは、1つまたは複数の量子エラー修正アルゴリズムをさらに実行することができる。
【0028】
1つまたは複数の実施形態では、制御および測定プレーンは、実行される量子演算を規定できる、制御プロセッサ・プレーンによって生成されたデジタル信号を、量子データ・プレーンにおいて1つまたは複数の量子ビットに対して演算を実行するためのアナログ制御信号に変換することができる。また、制御および測定プレーンは、データ・プレーンにおける量子ビットの1つまたは複数のアナログ測定出力を、システム100の他のコンポーネントと(例えば、制御プロセッサ・プレーンを介して、例えば、エラー軽減コンポーネント110などと)共有され得る古典的バイナリ・データに変換することができる。
【0029】
当業者は、種々の量子ビット技術が1つまたは複数の量子コンピュータ108の1つまたは複数の量子ビットの基礎を提供できるということを認識するであろう。さらに、制御および測定プレーンは、イオンの量子状態に影響を与えるためにイオンのうちの1つまたは複数に向けられるレーザー源もしくはマイクロ波源、イオンを冷却するか、もしくはイオンの測定を可能にするか、またはその両方のためのレーザー、またはイオンの状態を測定するための1つまたは複数の光子検出器、あるいはその組み合わせを含むことができる。別の事例では、超伝導量子ビット(例えば、超伝導量子干渉デバイス(SQUID:superconducting quantum interference devices)など)は、(例えば、電子電荷または磁束の量子化された状態に起因する)量子化されたエネルギー・レベルを示すようにミリケルビン温度に冷却され得るリソグラフィで定義された電子回路であることができる。超伝導量子ビットは、トランズモン量子ビットなどの、ジョセフソン接合に基づくことができる。また、超伝導量子ビットは、マイクロ波制御電子機器に適合することができ、ゲートに基づく技術または統合された極低温制御と共に利用され得る。さらなる例示的な量子ビット技術は、光子量子ビット、量子ドット量子ビット、ゲートに基づく中性原子量子ビット、半導体量子ビット(例えば、光学的にゲーティングされるか、または電気的にゲーティングされる)、またはトポロジー的量子ビット、あるいはその組み合わせなどを含むことができるが、これらに限定されない。
【0030】
1つまたは複数の実施形態では、通信コンポーネント112は、1つまたは複数の入力デバイス106から(例えば、直接的電気接続を介して、または1つまたは複数のネットワーク104を介して、あるいはその両方を介して)1つまたは複数の量子回路122を受信し、そのデータをエラー軽減コンポーネント110の種々の関連するコンポーネントと共有することができる。さらに、通信コンポーネント112は、(例えば、直接的電気接続を介して、または1つまたは複数のネットワーク104を介して、あるいはその両方を介して)エラー軽減コンポーネント110と1つまたは複数の量子コンピュータ108の間、またはその逆、あるいはその両方のデータの共有を容易にすることができる。
【0031】
種々の実施形態では、ゲート・コンポーネント114は、1つまたは複数の量子回路122を分析し、量子回路122のネイティブな多量子ビット量子ゲートを識別することができる。例えば、ゲート・コンポーネント114は、2量子ビット量子ゲートなどの、1つまたは複数の量子回路122に含まれている各多量子ビット量子ゲートを識別することができる。1つまたは複数の実施形態では、ゲート・コンポーネント114は、多量子ビット量子ゲートの種類、位置、またはシーケンス、あるいはその組み合わせを識別することができる。例えば、1つまたは複数の多量子ビット量子ゲートが、各量子ビット演算を接続する線などの1つまたは複数の標準化された表現によって、1つまたは複数の量子回路122内に示され得る。ゲート・コンポーネント114は、1つまたは複数の量子回路122をスキャンし、標準化された表現を相互に関連付けて、多量子ビット量子ゲートを関連付けることができる。
【0032】
図2Aは、1つまたは複数の入力デバイス106を介してシステム100に入力され、エラー軽減コンポーネント110によって分析され、または1つまたは複数の量子コンピュータ108によって実行され、あるいはその組み合わせが行われ得る、例示的な非限定的量子回路122aを示している。本明細書に記載された他の実施形態で採用されている類似する要素の説明の繰り返しは、簡潔にするために省略されている。
図2Aに示されているように、例示的な量子回路122aは、第1の量子ビットq
0および第2の量子ビットq
1に関して量子演算を表す。さらに、例示的な量子回路122aは、2つのCNOT量子ゲート202を含む。例示的な量子回路122aのCNOTゲート202は、第1の量子ビットq
0と第2の量子ビットq
1の間の交差共鳴ゲート(例えば、アダマール・ゲートまたはパウリ・ゲートあるいはその両方)から構築される。種々の実施形態では、ゲート・コンポーネント114は、例示的な量子回路122aを分析し、2つのCNOT量子ゲート202の各々を、例示的な量子回路122a内に含まれる多量子ビット・ゲート(例えば、2量子ビット・ゲート)として識別することができる。
【0033】
種々の実施形態では、ゲート・コンポーネント114は、識別された多量子ビット量子ゲートの各々に関連付けられた較正されたパラメータに関して、較正コンポーネント126に、さらに照会することができる。例えば、1つまたは複数の量子回路122内に含まれる各多量子ビット量子ゲートは、1つまたは複数の量子コンピュータ108内に含まれる量子ゲート・ハードウェアによって実施され得る。較正コンポーネント126は、1つまたは複数の量子コンピュータ108内の系統的エラーを減らすように、ハードウェアを較正することができる。1つまたは複数の多量子ビット・ゲート(例えば、2量子ビット・ゲート)を含んでいる量子回路122を実行するときに、ドリフトまたはクロストークなどの1つまたは複数のエラーに起因して、実現された結果が意図された効果と異なる可能性がある。較正コンポーネント126は、1つまたは複数の較正技術(例えば、フロケ較正(Floquet calibration)またはXEB較正(XEB calibration)あるいはその両方)を使用して、識別された多量子ビット・ゲートの各々の較正されたパルス・スケジュールを決定することができる。
【0034】
さらに、ゲート・コンポーネント114は、識別された多量子ビット量子ゲートに基づいて1つまたは複数の量子回路122を変更することができる。種々の実施形態では、ゲート・コンポーネント114は、識別された多量子ビット量子ゲートごとに量子ゲートのセットを1つまたは複数の量子回路122に挿入することができる。量子ゲートのセットは、恒等ゲートを構成する反転量子ゲートの対を含むことができる。例えば、量子ゲートのセットは、第1の量子ゲートおよび第2の量子ゲートを含むことができ、第2の量子ゲートは、第1の量子ゲートの反転である。量子ゲートのセットが理想的に(例えば、エラーなしで)動作する場合、新しい量子回路122によって実現された計算結果は、挿入された量子ゲートのセットの恒等性(identity nature)に起因して、元の量子回路122と同じになることができる。
【0035】
図2Bは、本明細書に記載された1つまたは複数の実施形態に従って、ゲート・コンポーネント114によって追加された、1つまたは複数の挿入された量子ゲートのセットを含むことができる例示的な変更された非限定的量子回路122bの図を示している。本明細書に記載された他の実施形態で採用されている類似する要素の説明の繰り返しは、簡潔にするために省略されている。
図2Bに示されている変更された量子回路122bは、
図2Aに示されている例示的な量子回路122aに基づく。例示的な量子回路122aに含まれる多量子ビット量子ゲート(例えば、2つのCNOTゲート202)の各々について、ゲート・コンポーネント114は、追加の量子ゲートのセット(例えば、第1の量子ゲートおよびその反転)を挿入することができる。
【0036】
1つまたは複数の実施形態では、量子回路122に挿入される量子ゲートの種類は、量子回路122のネイティブな多量子ビット量子ゲートをもたらす物理的メカニズムに基づくことができる。さらに、1つまたは複数の量子コンピュータ108内に含まれる多量子ビット量子ゲートの物理的メカニズムまたはハードウェア・アーキテクチャあるいはその両方は、(例えば、1つまたは複数のネットワーク104を介して)エラー軽減コンポーネント110と共有される較正情報の一部として、較正コンポーネント126によって定義され得る。例えば、例示的な量子回路122aでは、2つの識別された多量子ビット量子ゲートは、交差共鳴によって確立されたRZX回転に基づくCNOTゲートである。したがって、CNOTゲート202ごとに、ゲート・コンポーネント114は、R
ZXゲートのセット204を挿入することができ、それによって、ゲート・コンポーネント114は、ネイティブな多量子ビット・ゲートを基礎付ける物理的メカニズムに対応する量子ゲートのセットを挿入することができる。例えば、
図2Bに示されているように、ゲート・コンポーネント114は、CNOTゲート202ごとにR
ZXゲートのセット204を挿入して、変更された量子回路122bを生成することができる。各R
ZXゲートのセット204は、R
ZX(θ)ゲートおよび後続する反転R
ZX(-θ)を含み得る。
図2Bに示されているように、量子ゲートのセット(例えば、R
ZXゲートのセット204)は、関連するネイティブな多量子ビット量子ゲート(例えば、CNOTゲート202)の次の位置で、量子回路122(例えば、例示的な量子回路122a)に挿入され得る。別の例では、識別された多量子ビット量子ゲートのうちの1つまたは複数は、1つまたは複数の量子コンピュータ108内の調整可能な結合器ゲートなどの交換型ゲートとして実施されることが可能であり、ゲート・コンポーネント114は、交換型ゲートのスケーラブルなバージョン(例えば、調整可能な結合器ゲートのスケーラブルなバージョン)に対応する1つまたは複数の量子ゲートのセットを挿入することができる。量子ゲートがexp(-iθG/2)として特徴付けられる1つまたは複数の実施形態では、ゲート・コンポーネント114は、-θを採用することによって、量子ゲートの反転を挿入することができる。θは回転角度であることができ、「G」はジェネレータ(生成子;generator)であることができ(例えば、「G」はエルミート演算子であることができる)、「i」は「-1」の平方根であることができる。例えば、Rzxゲートは、ZおよびXはパウリ演算子であるとして、ジェネレータZXを含むことができる。それによって、1つまたは複数の例では、ゲート・コンポーネント114は、ネイティブな多量子ビット・ゲートからジェネレータGを識別し、R
G(θ)およびR
G(-θ)によって特徴付けられる量子ゲートのセットを挿入することができる。例えば、CNOTゲート202は、ZXに等しいジェネレータGを含むことができ、ゲート・コンポーネント114は、R
ZX(θ)およびR
ZX(-θ)によって特徴付けられるR
ZXゲートのセット204を挿入することができる。別の例では、調整可能な結合器ゲートは、XX+YYに等しいジェネレータGを含むことができ、ゲート・コンポーネント114は、R
XX+YY(θ)およびR
XX+YY(-θ)によって特徴付けられる量子ゲートのセットを挿入することができる。
【0037】
1つまたは複数の実施形態では、ゲート・コンポーネント114は、ゲート挿入テーブル128を参照して、1つまたは複数の量子回路122に挿入されるべき量子ゲートのセットの種類を決定することができる。例えば、ゲート挿入テーブル128は、関連する挿入可能なゲートの種類と共に、ネイティブな量子ゲートの種類またはハードウェア・アーキテクチャの種類あるいはその両方(例えば、交差共鳴ゲート、調整可能な結合器ゲート、または同様のもの、あるいはその組み合わせ)を含むことができる。例えば、ゲート挿入テーブル128は、例えば、R
ZXゲートを使用してCNOTゲートが作成され得る交差共鳴に基づくハードウェアに関連付けられた挿入可能なゲートの種類として、R
ZXゲートを含むことができる。
図1に示されているように、ゲート挿入テーブル128は、例えば、1つまたは複数のメモリ116に格納され得る。
【0038】
図3は、本明細書に記載された1つまたは複数の実施形態に従って、スケーリング・コンポーネント302をさらに備えている例示的な非限定的エラー軽減コンポーネント110の図を示している。本明細書に記載された他の実施形態で採用されている類似する要素の説明の繰り返しは、簡潔にするために省略されている。種々の実施形態では、スケーリング・コンポーネント302は、識別されネイティブな多量子ビット量子ゲートの較正情報および伸長係数設定124に基づいて、挿入された量子ゲートのセットのスケーリングされたパルス・スケジュールを生成することができる。1つまたは複数の実施形態では、パルス・スケジュールは、挿入された量子ゲートのセットの回転角度をスケーリングして、ターゲット伸長係数値を実現するスケーリングされた量子ゲートのセット実現することができる。
【0039】
種々の実施形態では、1つまたは複数の挿入された量子ゲートのセットは、1つまたは複数の伸長係数設定124によって定義された伸長係数値を実現するために、エラー軽減コンポーネント110によってスケーリングされ得る。例えば、挿入された量子ゲートのセットのターゲット伸長係数値は、挿入された量子ゲートのセットの回転角度の関数であることができる。例えば、挿入された量子ゲートのセットの回転角度が変化するにつれて、変更された量子回路122の特定の実行に関連付けられた伸長係数値も変化し得る。1つまたは複数の実施形態では、スケーリング・コンポーネント302は、1つまたは複数の挿入された量子ゲートのセットの回転角度を定義することによって、1つまたは複数の挿入された量子ゲートのセットに発生する伸長係数値を設定することができる。例えば、1つまたは複数の伸長係数設定124は、複数の実行の反復にわたって1つまたは複数の量子回路122を使用して実行される、複数の伸長係数値、または伸長係数値の範囲、あるいはその両方を定義することができる。スケーリング・コンポーネント302は、(例えば、下の説明に従って、1つまたは複数のスケーリング参照データベース304に格納された1つまたは複数の数式、チャート、テーブル、またはグラフ、あるいはその組み合わせによって定義され得る)定義された伸長係数値と回転角度の関係に基づいて、ターゲット伸長係数値ごとに、1つまたは複数の挿入された量子ゲートのセットの回転角度を決定することができる。
【0040】
例えば、下に示された数式1は、(例えば、
図2A~
図2Bに例示されたような)量子回路122内のCNOTゲート202の識別(identification)に基づいて、量子回路122に挿入されたR
ZXゲートのセット204の伸長係数値と回転角度の間の関係を特徴付けることができる。
【0041】
【数1】
ここで、「c」は伸長係数値であることができ、「τ
cx」は(例えば、較正コンポーネント126によって定義されるような)ネイティブなCNOTゲートの持続時間であることができ、「2・τ(θ)」は伸長された量子ゲート(例えば、伸長されたR
ZX(θ)ゲートおよびその反転ゲート)のセットの持続時間であることができる。
【0042】
種々の実施形態では、種々の量子ゲートの種類のゲート回転角度と伸長係数値との間の関係は、1つまたは複数のスケーリング参照データベース304において定義され得る。例えば、1つまたは複数のスケーリング参照データベース304は、ゲート・コンポーネント114によって1つまたは複数の量子回路122に挿入され得る複数の量子ゲートの種類を含むことができる。各量子ゲートの種類に関連して、1つまたは複数のスケーリング参照データベース304は、特定の量子ゲートに発生する伸長係数値と特定の量子ゲートの回転角度の間の数学的関係を特徴付ける、数式、グラフ、テーブル、または同様のもの、あるいはその組み合わせを含むことができる。1つまたは複数の実施形態では、1つまたは複数のスケーリング参照データベース304は、1つまたは複数の入力デバイス106を介してデータを追加され得る。また、1つまたは複数のスケーリング参照データベース304は、1つまたは複数のメモリ116に格納され得る。
【0043】
図4は、本明細書に記載された1つまたは複数の実施形態に従って、数式1によって特徴付けられた伸長係数値と回転角度の関係を示すことができる例示的な非限定的グラフ400の図を示している。本明細書に記載された他の実施形態で採用されている類似する要素の説明の繰り返しは、簡潔にするために省略されている。種々の実施形態では、グラフ400は、1つまたは複数のターゲット伸長係数値に対して挿入されたR
ZXゲートのセット204の回転角度を決定するために、1つまたは複数のスケーリング参照データベース304に含まれることが可能であり、またはスケーリング・コンポーネント302によって参照されることが可能であり、あるいはその両方が可能である。
【0044】
図4に示されているように、種々の実施形態では、挿入された量子ゲートのセットで実施され得る可能な伸長係数の範囲は、関連するネイティブな多量子ビット量子ゲートの1つまたは複数の特性によって制限され得る。例えば、グラフ400によって特徴付けられた例示的なR
ZXゲートのセット204は、1.8の最小伸長係数値を実施することができる。種々の実施形態では、挿入された量子ゲートのセットに関して実現され得る最小伸長係数値または最大伸長係数値あるいはその両方は、初期量子回路122のネイティブな多量子ビット量子ゲートの(例えば、較正コンポーネント126によって決定された較正情報に含まれる)パラメータに基づくことができる。例えば、エコー交差共鳴ゲートでは、パルスの較正なしで達成可能な最小伸長係数値は、単一量子ビットおよび2量子ビットのパルスの立ち上りまたは立ち下りによって決定され得る。最大伸長係数値は、制御電子メモリ、コヒーレンス時間、課される制約(例えば、スケジュールの合計持続時間)、または同様のもの、あるいはその組み合わせを含むが、これらに限定されない、1つまたは複数の量子コンピュータ108のハードウェアの能力に基づいて設定され得る。
【0045】
種々の実施形態では、スケーリング・コンポーネント302は、1つまたは複数の挿入された量子ゲートのセットの最小しきい値内または最大しきい値内あるいはその両方、および1つまたは複数の伸長係数設定124によって定義された複数の伸長係数値内または伸長係数値の範囲内あるいはその両方であることができるターゲット伸長係数値のセットを定義することができる。さらに、スケーリング・コンポーネント302は、ターゲット伸長係数のセットの各ターゲット伸長係数に関連付けられた量子ゲートの回転角度を決定することができる。
【0046】
1つまたは複数の実施形態では、スケーリング・コンポーネント302は、決定された量子ゲートの回転角度の各々を実施するために、パルス・スケジュールのセットをさらに生成することができる。パルス・スケジュールのセットは、調整された量子回路122(例えば、変更された量子回路122b)の関連する挿入された量子ゲートのセットの特定の回転角度を実現するために、初期の量子回路122(例えば、例示的な量子回路122a)のネイティブな多量子ビット量子ゲートの較正されたパルス・スケジュールからスケーリングされたパルス・スケジュールを含むことができる。種々の実施形態では、スケーリング・コンポーネント302は、ネイティブな多量子ビット量子ゲートの較正されたパルス・スケジュールに対して1つまたは複数のスケーリング技術を使用して、関連する挿入された量子ゲートのセットのスケーリングされたパルス・スケジュールを生成することができる。スケーリングされたパルス・スケジュールを生成するためにスケーリング・コンポーネント302によって使用され得る例示的なスケーリング技術は、単一の交差共鳴パルスを使用すること、回転項を使用すること、パルス・エコーを使用すること、ガウス型の立ち上りまたは立ち下りを含む方形パルスの平坦な上部をスケーリングすること、交換型ゲートもしくは制御位相ゲートまたはその両方を生成する調整可能な結合器パルスをスケーリングすること、または同様のこと、あるいはその組み合わせを含むことができるが、これらに限定されない。
【0047】
1つまたは複数の実施形態では、スケーリング・コンポーネント302は、ネイティブな多量子ビット量子ゲートの較正されたパルス・スケジュールの1つまたは複数のパラメータを変更するために、1つまたは複数のスケーリング技術を実施することができる。例えば、1つまたは複数のスケーリング技術は、較正されたパルス・スケジュールの振幅またはサイクル時間あるいはその両方を変更することができる。それによって、スケーリング・コンポーネント302によって生成されるスケーリングされたパルス・スケジュールは、1つまたは複数の量子回路122の代替の実行持続時間をもたらすことができる。
【0048】
図5は、本明細書に記載された1つまたは複数の実施形態に従って、1つまたは複数の挿入された量子ゲートのセットを使用して実施される、スケーリング・コンポーネント302によって生成され得る例示的で非限定的なスケーリングされたパルス・スケジュールの図を示している。本明細書に記載された他の実施形態で採用されている類似する要素の説明の繰り返しは、簡潔にするために省略されている。
図5は、グラフ400によって特徴付けられた伸長係数または回転角度あるいはその両方のうちの1つまたは複数を実現するために、変更された量子回路122bの1つまたは複数の挿入されたR
ZXゲートのセット204で実施される、スケーリング・コンポーネント302によって生成され得る3つの例示的なスケーリングされたパルス・スケジュールを示している。例示的なスケーリングされたパルス・スケジュールの各々は、量子ゲートのセットの両方の量子ゲート(例えば、第1の挿入された量子ゲートおよびその反転)にわたって実施され得る。
【0049】
図5に示されているように、第1の例示的なスケーリングされたパルス・スケジュール502は、交差共鳴パルスの幅などの1つまたは複数のパラメータを調整することによって、スケーリング・コンポーネント302によって生成され得る。第2の例示的なスケーリングされたパルス・スケジュール504は、1つまたは複数のパルス・エコーを較正されたパルス・スケジュールに追加することによって、スケーリング・コンポーネント302によって生成され得る。第3の例示的なスケーリングされたパルス・スケジュール506は、回転項を使用して、較正されたパルス・スケジュールの波形を変更することによって、スケーリング・コンポーネント302によって生成され得る。種々の実施形態では、1つまたは複数の挿入された量子ゲートのセットは、複数のスケーリング技術によって生成されるスケーリングされたパルス・スケジュールどおりに実施され得る。例えば、スケーリング・コンポーネント302は、第1の例示的なスケーリングされたパルス・スケジュール502、第2の例示的なスケーリングされたパルス・スケジュール504および第3のスケーリングされたパルス・スケジュール506の少なくとも1つあるいはその組み合わせを実施することができる。例えば、スケーリング・コンポーネント302は、較正されたパルス・スケジュールの波形を調整し、1つまたは複数のエコー・パルスを導入して、スケーリングされたパルス・スケジュールを生成することができる。別の例では、スケーリング・コンポーネント302は、較正されたパルス・スケジュールの波形を調整し、1つまたは複数の回転項を使用して、スケーリングされたパルス・スケジュールを生成することができる。さらなる例では、スケーリング・コンポーネントは、1つまたは複数のエコー・パルスまたは回転項あるいはその両方を較正されたパルス・スケジュールに導入して、1つまたは複数のスケーリングされたパルス・スケジュールを生成することができる。
【0050】
図6は、本明細書に記載された1つまたは複数の実施形態に従って、実行コンポーネント602をさらに備えている例示的な非限定的エラー軽減コンポーネント110の図を示している。本明細書に記載された他の実施形態で採用されている類似する要素の説明の繰り返しは、簡潔にするために省略されている。種々の実施形態では、実行コンポーネント602は、各反復で、スケーリング・コンポーネント302によって生成される各スケーリングされたパルス・スケジュールを使用して、1つまたは複数の調整された(例えば、1つまたは複数の挿入された量子ゲートのセットを含むように調整された)量子回路122を複数回実行することができる。
【0051】
1つまたは複数の実施形態では、実行コンポーネント602は、1つまたは複数の量子コンピュータ108上で、(例えば、1つまたは複数の挿入された量子ゲートのセットを含んでいる)調整された量子回路122を複数回実行することができ、各実行の反復は、各ターゲット伸長係数値に関連付けられ得る。また、各ターゲット伸長係数値は、1つまたは複数の挿入された量子ゲートのセットの(例えば、スケーリング・コンポーネント302によって決定された)回転角度に関連付けられ得る。さらに、各回転角度は、ゲート・コンポーネント114によって識別された1つまたは複数のネイティブな多量子ビット量子ゲートの(例えば、較正コンポーネント126によって決定される)較正されたパルス・スケジュールに基づいてスケーリングされ得る、スケーリング・コンポーネント302によって生成される各スケーリングされたパルス・スケジュールによって、実施され得る。
【0052】
例えば、実行コンポーネント602は、1つまたは複数の量子コンピュータ108上で、(例えば、1つまたは複数の挿入された量子ゲートのセットを含んでいる)調整された量子回路122の第1の実行を実行することができる。第1の実行中に、1つまたは複数の量子コンピュータ108は、第1のスケーリングされたパルス・スケジュールに従って1つまたは複数の挿入された量子ゲートのセットを駆動し、(例えば伸長係数設定124に基づいて、例えばスケーリング・コンポーネント302によって設定された伸長係数値のセットからの)第1の伸長係数値を実現することができる。さらに、実行コンポーネント602は、1つまたは複数の量子コンピュータ108上で、(例えば、1つまたは複数の挿入された量子ゲートのセットを含んでいる)同じ調整された量子回路122の第2の実行を実行することができる。第2の実行中に、1つまたは複数の量子コンピュータ108は、第2のスケーリングされたパルス・スケジュールに従って1つまたは複数の挿入された量子ゲートのセットを駆動し、第2の伸長係数値を実現すること(または、例えば第1の実行中に確立されたゲートの回転角度と異なる第2のゲートの回転角度を確立すること、あるいはその両方)ができる。同様に、実行コンポーネント602は、同じ調整された量子回路122の任意の数の追加の実行を実行することができ、各実行が、異なるスケーリングされたパルス・スケジュールを実施する。
【0053】
調整された量子回路122の各実行で、実行コンポーネント602は、1つまたは複数の量子コンピュータ108によって出力された計算結果を収集することができる。各実行が異なる伸長係数値に関連付けられているため、異なるノイズ量の含有に起因して、各実行の計算結果が変化することができる。さらに、実行コンポーネント602は、1つまたは複数の調整された量子回路122に関連付けられた結果データベース604を生成することができる。例えば、結果データベース604は、1つまたは複数の調整された量子回路122の各実行に関連付けられたターゲット伸長係数値と共に、各実行からの計算結果を含むことができる。例えば、1つまたは複数の結果データベース604は、1つまたは複数のメモリ116に格納され得る。
【0054】
図7は、本明細書に記載された1つまたは複数の実施形態に従って、外挿コンポーネント702をさらに備えている例示的な非限定的エラー軽減コンポーネント110の図を示している。本明細書に記載された他の実施形態で採用されている類似する要素の説明の繰り返しは、簡潔にするために省略されている。種々の実施形態では、外挿コンポーネント702は、1つまたは複数の結果データベース604に関して1つまたは複数の外挿技術を使用して、1つまたは複数の特定の量子回路122に関連付けられたゼロに近いノイズ計算を決定することができる。外挿コンポーネント702によって使用され得る例示的な外挿技術は、リチャードソン外挿または別の外挿方法であることができる。例えば、外挿コンポーネント702は、リチャードソン外挿アルゴリズムを使用して、1つまたは複数の結果データベース604に含まれている計算結果をゼロ・ノイズの極限に外挿することができる。
【0055】
図8は、本明細書に記載された1つまたは複数の実施形態に従って、標準的なエラー軽減技術と比較して、システム100によって達成可能な改良された分解能を示すことができる、例示的な非限定的グラフ800の図を示している。本明細書に記載された他の実施形態で採用されている類似する要素の説明の繰り返しは、簡潔にするために省略されている。グラフ800は、水素分子の基底状態エネルギーを計算するために利用される1つまたは複数の量子回路122(例えば、例示的な量子回路122a)を評価することができる。正方形の記号は、基底状態エネルギーの厳密値を表すことができる。黒色の円形は、本明細書に記載された種々の実施形態に従って種々のスケーリングされたパルス・スケジュールを使用する例示的な量子回路122aの各実行を表すことができる。グラフ800に示されているように、各スケーリングされたパルス・スケジュールは、異なる伸長係数値に関連付けられることが可能であり、異なる計算結果をもたらすことができる。黒色の三角形は、デジタル・ベースのリチャードソン外挿技術を使用する例示的な量子回路122aの実行を表すことができる。さらに、白色の円形は、リチャードソン外挿アルゴリズムを使用して、スケーリングされたパルス・スケジュールの実施から決定される外挿された結果を表す。また、白色の三角形は、リチャードソン外挿アルゴリズムを使用してデジタル・ベースのリチャードソンの実施から決定される外挿された結果を表す。
【0056】
デジタル・ベースのリチャードソン外挿の実施に対するスケーリングされたパルス・スケジュールの実施の比較は、本明細書に記載された種々の実施形態がより多くの複数の伸長係数値を実現できるということを示す。さらに、より多くの複数の伸長係数値は、より細かい範囲内(例えば、実施された最小伸長係数値から実施された最大伸長係数値まで)に高密度に配置され得る。対照的に、標準的な伸長係数値の実施は、より広い範囲にわたってより少ない使用可能な伸長係数値に制限される。さらに、実施されたターゲット伸長係数値のセットの改良された分解能は、基底状態エネルギーのより正確な計算の外挿を可能にした。
【0057】
図9は、本明細書に記載された1つまたは複数の実施形態に従って、量子エラー軽減を実行するためにシステム100によって実施され得る例示的な非限定的コンピュータ実装方法900のフロー図を示している。本明細書に記載された他の実施形態で採用されている類似する要素の説明の繰り返しは、簡潔にするために省略されている。
【0058】
902で、コンピュータ実装方法900は、プロセッサ120に動作可能に結合されたシステム100によって、(例えば、通信コンポーネント112を介して)1つまたは複数の量子回路122を受信することを含むことができる。種々の実施形態では、1つまたは複数の量子回路122は、1つまたは複数の入力デバイス106を介してシステム100に入力され得る。また、1つまたは複数の量子回路122は、1つまたは複数の量子コンピュータ108上の1つまたは複数の量子アルゴリズムの実行のための1つまたは複数の量子演算または量子ゲートあるいはその両方を表現することができる。
【0059】
904で、コンピュータ実装方法900は、システム100によって、(例えば、スケーリング・コンポーネント302によって)ターゲット伸長係数値のセットを決定することを含むことができる。種々の実施形態では、伸長係数値は、1つまたは複数の量子回路122の実行中に1つまたは複数の多量子ビット量子ゲートを駆動するパルス・スケジュールに対する変更を定義することができる。1つまたは複数の実施形態では、伸長係数設定124をシステム100に入力するために、1つまたは複数の入力デバイス106が採用されることが可能であり、ここでは、伸長係数設定124は、1つまたは複数のエラー軽減技術における実施を対象にする複数の伸長係数値または伸長係数値の範囲あるいはその両方を含むことができる。
【0060】
906で、コンピュータ実装方法900は、システム100によって、(例えば、ゲート・コンポーネント114によって)1つまたは複数の量子回路122内に含まれる1つまたは複数の多量子ビット量子ゲートを識別することを含むことができる。例えば、1つまたは複数の多量子ビット量子ゲートは、2量子ビット量子ゲートであることができる。多量子ビット量子ゲートの種類の例としては、交差共鳴ゲート(例えば、CNOTゲート)、パウリ・ゲート、もつれゲート、交換型様ゲート、制御位相ゲート、マルチ制御位相ゲート(multi-control phase gates)、または同様のもの、あるいはその組み合わせが挙げられ得るが、これらに限定されない。908で、コンピュータ実装方法900は、システム100によって、(例えば、較正コンポーネント126によって)1つまたは複数の識別された多量子ビット量子ゲートの較正されたパルス・スケジュールを取り出すことを含むことができる。例えば、1つまたは複数の量子コンピュータ108は、1つまたは複数の量子回路122によって定義された多量子ビット量子ゲートに関連付けられた量子ハードウェアを較正し、較正データをエラー軽減コンポーネント110に返すことができる。910で、コンピュータ実装方法900は、システム100によって、(例えばゲート・コンポーネント114によって)量子回路にとってネイティブな識別された多量子ビット量子ゲートごとに量子ゲートのセットを1つまたは複数の量子回路122に挿入することを含むことができる。種々の実施形態では、各挿入された量子ゲートのセットは、量子ゲートのセットが元の量子回路122の恒等性を構成することができるように、第1の量子ゲートおよび第1の量子ゲートの反転である第2の量子ゲートを含むことができる。
【0061】
912で、コンピュータ実装方法900は、システム100によって、(例えば、スケーリング・コンポーネント302によって)ターゲット伸長係数のセットからの伸長係数に基づいて、挿入された量子ゲートのセットの回転角度を決定することを含むことができる。例えば、本明細書に記載された1つまたは複数の実施形態に従って、1つまたは複数のゲート挿入テーブル128に含まれている、1つまたは複数の数式、チャート、テーブル、または同様のもの、あるいはその組み合わせによって、挿入された量子ゲートのセットの1つまたは複数の伸長係数値と回転角度の関係が定義され得る。例えば、910で決定することは、挿入された量子ゲートのセットによって実現される伸長係数値がどのようにゲートの回転角度に基づくことができるかを特徴付けることができる、グラフ400などのグラフを使用することができる。
【0062】
914で、コンピュータ実装方法900は、システム100によって、(例えば、スケーリング・コンポーネント302によって)回転または較正されたパルス・スケジュールあるいはその両方に基づいて、挿入された量子ゲートのセットのスケーリングされたパルス・スケジュールを生成することを含むことができる。種々の実施形態では、914で生成することは、1つまたは複数のスケーリング技術を使用して、挿入された量子ゲートのセットで実施され得るスケーリングされたパルス・スケジュールを生成することができる。例えば、スケーリングされたパルス・スケジュールは、較正されたパルス・スケジュールの波形を変更すること、1つまたは複数のパルス・エコーを導入すること、または1つまたは複数の回転項を使用すること、あるいはその組み合わせによって生成され得る。1つまたは複数の実施形態では、パルス・スケジュールをスケーリングすることは、例えば、1つまたは複数の量子回路122を実行することに関連付けられたサイクル持続時間を変更することができる。
【0063】
916で、コンピュータ実装方法900は、システム100によって、(例えば、実行コンポーネント602によって)1つまたは複数の量子コンピュータ108上でスケーリングされたパルス・スケジュールを使用して(例えば、1つまたは複数の挿入された量子ゲートのセットを含んでいる)1つまたは複数の調整された量子回路122を実行することを含むことができる。918で、コンピュータ実装方法900は、実施されるべき追加のターゲット伸長係数値が存在するかどうかを評価することができる。実施されるべき追加のターゲット伸長係数値が存在する場合、コンピュータ実装方法900は、次に、912~916を繰り返すことができる。例えば、コンピュータ実装方法900は、ターゲット伸長係数値のセットの各ターゲット伸長係数値に関して、ゲートの回転角度を決定すること、スケーリングされたパルス・スケジュールを生成すること、および調整された量子回路122を実行することを含むことができる。それによって、コンピュータ実装方法900は、複数の反復にわたって、調整された量子回路122を実行することができ、各反復は、種々のスケーリングされたパルス・スケジュールによって異なる伸長係数値を実現する。
【0064】
実施されるべき追加のターゲット伸長係数値が存在しない場合、コンピュータ実装方法900は、920に進むことができる。920で、コンピュータ実装方法900は、システム100によって、(例えば、実行コンポーネント602によって)1つまたは複数の調整された量子回路の各実行に関連付けられた計算結果を収集することを含むことができる。922で、コンピュータ実装方法900は、システム100によって、(例えば、外挿コンポーネント702によって)1つまたは複数の量子コンピュータ108からの計算結果を外挿して、エラーが軽減された結果を決定することを含むことができる。例えば、1つまたは複数の調整された量子回路122の複数の実行からのゼロ・ノイズの結果を外挿するために、リチャードソン外挿アルゴリズムが使用され得る。
【0065】
本開示にはクラウド・コンピューティングに関する詳細な説明が含まれているが、本明細書において示された内容の実装は、クラウド・コンピューティング環境に限定されないと理解されるべきである。本発明の実施形態は、現在既知であるか、または今後開発される任意のその他の種類のコンピューティング環境と組み合わせて実装できる。
【0066】
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含むことができる。
【0067】
特徴は、次のとおりである。
【0068】
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間およびネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
【0069】
幅広いネットワーク・アクセス:クラウドの能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する。
【0070】
リソース・プール:プロバイダの計算リソースは、プールされ、マルチテナント・モデルを使用して複数の利用者に提供される。種々の物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高い抽象レベルでは、場所(例えば、国、州、またはデータセンター)を指定できる場合がある。
【0071】
迅速な順応性:クラウドの能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、任意の量をいつでも無制限に購入できるように見える。
【0072】
測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した抽象レベルで、リソースの使用を自動的に制御および最適化する。リソースの使用状況は監視、制御、および報告することができ、利用されるサービスのプロバイダと利用者の両方に透明性が提供される。
【0073】
サービス・モデルは、次のとおりである。
【0074】
SaaS(Software as a Service):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザ(例えば、Webベースの電子メール)などのシン・クライアント・インターフェイスを介して、種々のクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
【0075】
PaaS(Platform as a Service):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
【0076】
IaaS(Infrastructure as a Service):利用者に提供される能力は、処理、ストレージ、ネットワーク、およびその他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、およびデプロイされたアプリケーションを制御することができ、場合によっては、選択されたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御できる。
【0077】
デプロイメント・モデルは、次のとおりである。
【0078】
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【0079】
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【0080】
パブリック・クラウド:このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
【0081】
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースト)によって固有の実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
【0082】
クラウド・コンピューティング環境は、ステートレス、疎結合、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含んでいるインフラストラクチャである。
【0083】
ここで
図10を参照すると、例示的なクラウド・コンピューティング環境1000が示されている。図示されているように、クラウド・コンピューティング環境1000は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)または携帯電話1004、デスクトップ・コンピュータ1006、ラップトップ・コンピュータ1008、または自動車コンピュータ・システム1010、あるいはその組み合わせなど)が通信できる1つまたは複数のクラウド・コンピューティング・ノード1002を含んでいる。ノード1002は、互いに通信してよい。ノード1002は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組み合わせなどに、物理的または仮想的にグループ化されてよい(図示されていない)。これによって、クラウド・コンピューティング環境1000は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組み合わせを提供できる。
図10に示されたコンピューティング・デバイス1004~1010の種類は、例示のみが意図されており、コンピューティング・ノード1002およびクラウド・コンピューティング環境1000は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
【0084】
ここで
図11を参照すると、クラウド・コンピューティング環境1000(
図10)によって提供される機能的抽象レイヤのセットが示されている。本明細書に記載の他の実施形態で使用している同様の要素の繰り返しの説明は、簡潔さのために省略する。
図11に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
【0085】
ハードウェアおよびソフトウェア・レイヤ1102は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム1104、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ1106、サーバ1108、ブレード・サーバ1110、ストレージ・デバイス1112、ならびにネットワークおよびネットワーク・コンポーネント1114が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア1116およびデータベース・ソフトウェア1118を含む。
【0086】
仮想化レイヤ1120は、仮想サーバ1122、仮想ストレージ1124、仮想プライベート・ネットワークを含む仮想ネットワーク1126、仮想アプリケーションおよびオペレーティング・システム1128、ならびに仮想クライアント1130などの仮想的実体を提供できる抽象レイヤを備える。
【0087】
一例を挙げると、管理レイヤ1132は、以下で説明される機能を提供することができる。リソース・プロビジョニング1134は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよびその他のリソースの動的調達を行う。計測および価格設定1136は、クラウド・コンピューティング環境内でリソースが利用された際のコスト追跡、およびそれらのリソースの利用に対する請求書の作成と送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクのID検証を行うとともに、データおよびその他のリソースの保護を行う。ユーザ・ポータル1138は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理1140は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行1142は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
【0088】
ワークロード・レイヤ1144は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供されてよいワークロードおよび機能の例としては、マッピングおよびナビゲーション1146、ソフトウェア開発およびライフサイクル管理1148、仮想クラスルーム教育の配信1150、データ解析処理1152、トランザクション処理1154、および量子コンピューティング1156が挙げられる。本発明の種々の実施形態は、本明細書に記載された1つまたは複数の実施形態に従って、
図10および11を参照して説明されたクラウド・コンピューティング環境を利用して、1つまたは複数の量子回路に対して、1つまたは複数の量子エラー軽減技術を実行することができる。
【0089】
本発明は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含んでよい。コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(登録商標)・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(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)、メモリ・スティック、フロッピー(登録商標)・ディスク、パンチカードまたは命令が記録されている溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
【0090】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0091】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいは、Smalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行してよい。
【0092】
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
【0093】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を含むような特定の方法で、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに機能するように指示できるものであってもよい。
【0094】
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施するように、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれてもよく、それによって、一連の動作可能なステップを、コンピュータ上、その他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成するその他のデバイス上で実行させる。
【0095】
図内のフローチャートおよびブロック図は、本発明の種々の実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
【0096】
本明細書に記載された種々の実施形態のその他の背景を提供するために、
図12および以下の説明は、本明細書に記載された種々の実施形態が実装され得る適切なコンピューティング環境1200の概要を示すよう意図されている。実施形態は、1つまたは複数のコンピュータ上で実行されることができるコンピュータ実行可能命令の一般的状況において上で説明されたが、当業者は、実施形態が、他のプログラム・モジュールと組み合わせて、またはハードウェアとソフトウェアの組み合わせとして、あるいはその両方で実装されることもできるということを認識するであろう。
【0097】
通常、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造などを含む。さらに、当業者は、本発明の方法が、シングルプロセッサ・コンピュータ・システムまたはマルチプロセッサ・コンピュータ・システム、ミニコンピュータ、メインフレーム・コンピュータ、モノのインターネット(IoT:Internet of Things)デバイス、分散コンピューティング・システムだけでなく、パーソナル・コンピュータ、ハンドヘルド・コンピューティング・デバイス、マイクロプロセッサベースのコンシューマ・エレクトロニクスまたはプログラマブル・コンシューマ・エレクトロニクスなどを含む、他のコンピュータ・システム構成を使用して実践されることができ、これらの各々が1つまたは複数の関連するデバイスに動作可能に結合され得るということを理解するであろう。
【0098】
本明細書において示された実施形態は、通信ネットワークを介してリンクされたリモート処理デバイスによって特定のタスクが実行される、分散コンピューティング環境内で実践されることもできる。分散コンピューティング環境において、プログラム・モジュールは、ローカルおよびリモートの両方のメモリ・ストレージ・デバイスに配置され得る。例えば、1つまたは複数の実施形態では、コンピュータ実行可能コンポーネントは、1つまたは複数の分散されたメモリ・ユニットを含むことができるか、または1つまたは複数の分散されたメモリ・ユニットから成ることができる、メモリから実行されることができる。本明細書において使用されるとき、「メモリ」および「メモリ・ユニット」という用語は交換可能である。さらに、本明細書に記載された1つまたは複数の実施形態は、コンピュータ実行可能コンポーネントのコードを、分散された方法で、例えば、1つまたは複数の分散されたメモリ・ユニットからのコードを実行するように結合しているか、または協調して動作している複数のプロセッサで、実行することができる。本明細書において使用されるとき、「メモリ」という用語は、1つの位置での単一のメモリまたはメモリ・ユニット、あるいは1つまたは複数の位置での複数のメモリまたはメモリ・ユニットを包含することができる。
【0099】
コンピューティング・デバイスは、通常、コンピュータ可読ストレージ媒体、機械可読ストレージ媒体、または通信媒体、あるいはその組み合わせを含むことができる、種々の媒体を含み、本明細書では、次のように2つの用語が互いに異なって使用される。コンピュータ可読記憶媒体または機械可読ストレージ媒体は、コンピュータによってアクセスされることができる任意の使用可能なストレージ媒体であることができ、揮発性媒体および不揮発性媒体、取り外し可能な媒体および取り外し不可能な媒体を両方とも含む。例として、コンピュータ可読ストレージ媒体または機械可読ストレージ媒体は、コンピュータ可読命令または機械可読命令、プログラム・モジュール、構造化データまたは非構造化データなどの情報の格納のための任意の方法または技術に関連して実装されることができるが、これらに限定されない。
【0100】
コンピュータ可読ストレージ媒体は、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM:electrically erasable programmable read only memory)、フラッシュ・メモリまたはその他のメモリ技術、コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、ブルーレイ・ディスク(BD:Blu-ray(登録商標) disc)またはその他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気ストレージ・デバイス、半導体ドライブまたはその他の半導体ストレージ・デバイス、あるいは望ましい情報を格納するために使用され得るその他の有形の媒体もしくは非一過性の媒体またはその両方を含むことができるが、これらに限定されない。これに関して、本明細書における「有形」または「非一過性」という用語は、ストレージ、メモリ、またはコンピュータ可読媒体に適用されるとき、それ自体が伝搬する一過性の信号のみを修飾語句として除外し、それ自体が単に伝搬する一過性の信号ではないすべての標準的なストレージ、メモリ、またはコンピュータ可読媒体に対する権利を放棄しないと理解されるべきである。
【0101】
コンピュータ可読ストレージ媒体は、媒体によって格納された情報に関する種々の動作のために、例えばアクセス要求、クエリ、またはその他のデータ検索プロトコルを介して、1つまたは複数のローカル・コンピューティング・デバイスまたはリモート・コンピューティング・デバイスによってアクセスされることができる。
【0102】
通信媒体は、通常、コンピュータ可読命令、データ構造、プログラム・モジュール、あるいはその他の構造化データまたは非構造化データを、変調データ信号(例えば、搬送波またはその他の搬送機構)などのデータ信号で具現化し、任意の情報配信または輸送媒体を含む。「変調データ信号」という用語は、1つまたは複数の信号内の情報をエンコードするような方法で設定または変更される特性のうちの1つまたは複数を有する信号のことを指す。例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、および音響、RF、赤外線、およびその他の無線媒体などの無線媒体を含むが、これらに限定されない。
【0103】
図12を再び参照すると、本明細書に記載された態様の種々の実施形態を実装するための例示的な環境1200がコンピュータ1202を含んでおり、コンピュータ1202は、処理ユニット1204、システム・メモリ1206、およびシステム・バス1208を含んでいる。システム・バス1208は、システム・メモリ1206を含むが、これに限定されないシステム・コンポーネントを、処理ユニット1204に結合する。処理ユニット1204は、種々の市販されているプロセッサのいずれかであることができる。デュアル・マイクロプロセッサおよびその他のマルチプロセッサ・アーキテクチャが、処理ユニット1204として採用されることもできる。
【0104】
システム・バス1208は、種々の市販されているバス・アーキテクチャのいずれかを使用するメモリ・バス(メモリ・コントローラを含むか、または含まない)、ペリフェラル・バス、およびローカル・バスにさらに相互接続することができる複数の種類のバス構造のいずれかであることができる。システム・メモリ1206は、ROM1210およびRAM1212を含んでいる。基本入出力システム(BIOS:basic input/output system)は、ROM、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read only memory)、EEPROMなどの、不揮発性メモリに格納されることができ、BIOSは、起動などの間にコンピュータ1202内の要素間で情報を転送するのに役立つ基本的なルーチンを含む。RAM1212は、データをキャッシュするためのスタティックRAMなどの高速なRAMを含むこともできる。
【0105】
コンピュータ1202は、内部ハード・ディスク・ドライブ(HDD:hard disk drive)1214(例えば、EIDE、SATA)、1つまたは複数の外部ストレージ・デバイス1216(例えば、磁気フロッピー(登録商標)・ディスク・ドライブ(FDD:magnetic floppy disk drive)、メモリ・スティックまたはフラッシュ・ドライブ・リーダ、メモリ・カード・リーダ、その組み合わせなど)、および光ディスク・ドライブ1220(例えば、CD-ROMディスク、DVD、BDなどに対して読み取りまたは書き込みを行うことができるドライブ)をさらに含む。内部HDD1214がコンピュータ1202内にあるように示されているが、内部HDD1214は、外部の適切な筐体(図示されていない)内で使用するように構成されることもできる。さらに、環境1200内に示されていないが、HDD1214に加えて、またはHDD1214の代わりに、半導体ドライブ(SSD:solid state drive)が使用されることができる。HDD1214、外部ストレージ・デバイス1216、および光ディスク・ドライブ1220は、HDDインターフェイス1224、外部ストレージ・インターフェイス1226、および光学ドライブ・インターフェイス1228によって、システム・バス1208にそれぞれ接続されることができる。外部ドライブの実装のためのインターフェイス1224は、ユニバーサル・シリアル・バス(USB:Universal Serial Bus)インターフェイス技術、および電気電子技術者協会(IEEE:Institute of Electrical and Electronics Engineers)1394インターフェイス技術のうちの少なくとも1つまたは両方を含むことができる。その他の外部ドライブ接続技術が、本明細書に記載された実施形態の企図に含まれる。
【0106】
ドライブおよびそれらに関連するコンピュータ可読ストレージ媒体は、データ、データ構造、コンピュータ実行可能命令などの不揮発性ストレージを提供する。コンピュータ1202のドライブおよびストレージ媒体は、適切なデジタル形式での任意のデータの格納に対応する。上記のコンピュータ可読ストレージ媒体の説明は各種のストレージ・デバイスに言及しているが、コンピュータによって読み取ることができる他の種類のストレージ媒体が、現在存在しているか、または将来開発されるかに関わらず、例示的な動作環境内で使用されることもできるということ、およびさらに、任意のそのようなストレージ媒体が、本明細書に記載された方法を実行するためのコンピュータ実行可能命令を含むことができるということが、当業者によって理解されるべきである。
【0107】
オペレーティング・システム1230、1つまたは複数のアプリケーション・プログラム1232、その他のプログラム・モジュール1234、およびプログラム・データ1236を含む複数のプログラム・モジュールが、ドライブおよびRAM1212に格納されることができる。オペレーティング・システム、アプリケーション、モジュール、またはデータ、あるいはその組み合わせのすべてまたは一部が、RAM1212にキャッシュされることもできる。本明細書に記載されたシステムおよび方法は、種々の市販されているオペレーティング・システムまたはオペレーティング・システムの組み合わせを利用して実装されることができる。
【0108】
コンピュータ1202は、任意選択的に、エミュレーション技術を含むことができる。例えば、ハイパーバイザ(図示されていない)またはその他の媒介が、オペレーティング・システム1230のハードウェア環境をエミュレートすることができ、エミュレートされるハードウェアは、任意選択的に、
図12に示されているハードウェアと異なることができる。そのような実施形態では、オペレーティング・システム1230が、コンピュータ1202でホストされた複数の仮想マシン(VM:virtual machine)のうちの1つのVMを含むことができる。さらに、オペレーティング・システム1230は、Java(登録商標)実行時環境または.NETフレームワークなどの実行時環境をアプリケーション1232に提供することができる。実行時環境は、アプリケーション1232が実行時環境を含んでいる任意のオペレーティング・システム上で実行されることを可能にする、一貫性のある実行環境である。同様に、オペレーティング・システム1230はコンテナをサポートすることができ、アプリケーション1232はコンテナの形態であることができ、コンテナは、例えばアプリケーション用のコード、ランタイム、システム・ツール、システム・ライブラリ、および設定を含んでいる、軽量なスタンドアロンの実行可能なソフトウェアのパッケージである。
【0109】
さらに、コンピュータ1202は、信頼できる処理モジュール(TPM:trusted processing module)などのセキュリティ・モジュールを使用して有効化されることができる。例えば、TPMを使用すると、ブート・コンポーネントは、時間的に次のブート・コンポーネントをハッシュし、保護された値とのハッシュ結果の一致を待機してから、次のブート・コンポーネントを読み込む。このプロセスは、コンピュータ1202のコード実行スタック内の任意の層で行われることができ、例えば、アプリケーション実行レベルで、またはオペレーティング・システム(OS:operating system)カーネル・レベルで適用され、それによって、コード実行の任意のレベルでセキュリティを有効化する。
【0110】
ユーザは、1つまたは複数の有線/無線入力デバイス(例えば、キーボード1238、タッチ・スクリーン1240、およびマウス1242などのポインティング・デバイス)を介して、コマンドおよび情報をコンピュータ1202に入力することができる。その他の入力デバイス(図示されていない)は、マイクロホン、赤外線(IR:infrared)遠隔制御、無線周波(RF:radio frequency)遠隔制御、またはその他の遠隔制御、ジョイスティック、仮想現実コントローラまたは仮想現実ヘッドセットあるいはその両方、ゲーム・パッド、タッチペン、画像入力デバイス(例えば、カメラ)、ジェスチャー・センサ入力デバイス、視覚移動センサ(vision movement sensor)入力デバイス、感情または顔検出デバイス、生体測定入力デバイス(例えば、指紋または虹彩スキャナ)など含むことができる。これらおよびその他の入力デバイスは、多くの場合、システム・バス1208に結合されることができる入力デバイス・インターフェイス1244を介して処理ユニット1204に接続されるが、パラレル・ポート、IEEE1394シリアル・ポート、ゲーム・ポート、USBポート、IRインターフェイス、BLUETOOTH(登録商標)インターフェイスなどの、その他のインターフェイスによって接続されることができる。
【0111】
モニタ1246またはその他の種類のディスプレイ・デバイスが、ビデオ・アダプタ1248などのインターフェイスを介してシステム・バス1208に接続されることもできる。モニタ1246に加えて、コンピュータは通常、スピーカ、プリンタ、その組み合わせなどの、その他の周辺出力機器(図示されていない)を含む。
【0112】
コンピュータ1202は、有線通信または無線通信あるいはその両方を介するリモート・コンピュータ1250などの1つまたは複数のリモート・コンピュータへの論理接続を使用して、ネットワーク環境内で動作することができる。リモート・コンピュータ1250は、ワークステーション、サーバ・コンピュータ、ルータ、パーソナル・コンピュータ、ポータブル・コンピュータ、マイクロプロセッサベースのエンターテインメント機器、ピア・デバイス、またはその他の一般的なネットワーク・ノードであることができ、通常は、コンピュータ1202に関連して説明された要素のうちの多くまたはすべてを含むが、簡潔にするために、メモリ/ストレージ・デバイス1252のみが示されている。図に示されている論理接続は、ローカル・エリア・ネットワーク(LAN)1254またはさらに大きいネットワーク(例えば、広域ネットワーク(WAN)1256)あるいはその両方との有線接続/無線接続を含む。そのようなLANおよびWANネットワーク環境は、事務所および会社において一般的であり、イントラネットなどの企業全体のコンピュータ・ネットワークを容易にし、それらはすべて、グローバル通信ネットワーク(例えば、インターネット)に接続することができる。
【0113】
コンピュータ1202は、LANネットワーク環境内で使用された場合、有線または無線あるいはその両方の通信ネットワーク・インターフェイスまたはアダプタ1258を介して、ローカル・ネットワーク1254に接続されることができる。アダプタ1258は、LAN1254との有線通信または無線通信を容易にすることができ、LAN1254は、無線モードでアダプタ1258と通信するために配置された無線アクセスポイント(AP:access point)を含むこともできる。
【0114】
コンピュータ1202は、WANネットワーク環境内で使用された場合、モデム1260を含むことができ、またはインターネットを経由するなどのWAN1256を経由して通信を確立するためのその他の手段によって、WAN1256上の通信サーバに接続されることができる。内部または外部に存在する有線デバイスまたは無線デバイスであることができるモデム1260は、入力デバイス・インターフェイス1244を介してシステム・バス1208に接続されることができる。ネットワーク環境内で、コンピュータ1202またはその一部に関連して示されたプログラム・モジュールは、リモート・メモリ/ストレージ・デバイス1252に格納されることができる。示されているネットワーク接続が例であり、コンピュータ間の通信リンクを確立するその他の手段が使用され得るということが、理解されるであろう。
【0115】
コンピュータ1202は、LANネットワーク環境内またはWANネットワーク環境内のいずれかで使用された場合、前述したような外部ストレージ・デバイス1216に加えて、または外部ストレージ・デバイス1216の代わりに、クラウド・ストレージ・システムまたはその他のネットワークベースのストレージ・システムにアクセスすることができる。一般に、コンピュータ1202とクラウド・ストレージ・システムの間の接続は、例えば、それぞれアダプタ1258またはモデム1260によって、LAN1254またはWAN1256を経由して確立されることができる。コンピュータ1202を関連するクラウド・ストレージ・システムに接続するときに、外部ストレージ・インターフェイス1226は、アダプタ1258またはモデム1260あるいはその両方を用いて、他の種類の外部ストレージと同様に、クラウド・ストレージ・システムによって提供されたストレージを管理することができる。例えば、外部ストレージ・インターフェイス1226は、クラウド・ストレージ・ソースがコンピュータ1202に物理的に接続されているかのように、クラウド・ストレージ・ソースへのアクセスを提供するように構成されることができる。
【0116】
コンピュータ1202は、無線通信において動作可能に配置された任意の無線デバイスまたは実体(例えば、プリンタ、スキャナ、デスクトップ・コンピュータまたはポータブル・コンピュータあるはその両方、ポータブル・データ・アシスタント、通信衛星、無線で検出可能なタグに関連付けられた機器のいずれかの部品または位置(例えば、キオスク、新聞売店、商品棚など)、および電話)と通信するよう機能することができる。この通信は、ワイヤレス・フィディリティ(WiFi(登録商標))およびBLUETOOTH(登録商標)無線技術を含むことができる。したがって、この通信は、従来のネットワークと同様に事前に定義された構造であるか、または単に、少なくとも2つのデバイス間のアドホック通信であることができる。
【0117】
前述した内容は、システム、コンピュータ・プログラム製品、およびコンピュータ実装方法の単なる例を含んでいる。当然ながら、本開示を説明する目的で、コンポーネント、製品、またはコンピュータ実装方法、あるいはその組み合わせの考えられるすべての組み合わせについて説明することは不可能であるが、当業者は、本開示の多くのその他の組み合わせおよび並べ替えが可能であるということを認識できる。さらに、「含む」、「有する」、「所有する」などの用語が、発明を実施するための形態、特許請求の範囲、付録、および図面において使用される範囲では、それらの用語は、「備えている」が特許請求における暫定的な用語として使用されるときに解釈されるような、用語「備えている」と同様の方法で、包含的であるよう意図されている。種々の実施形態の説明は、例示の目的で提示されているが、網羅的であることは意図されておらず、開示された実施形態に制限されない。記載された実施形態の範囲と精神を逸脱することなく多くの変更および変形が可能であることは、当業者にとって明らかであろう。本明細書で使用された用語は、実施形態の原理、実際の適用、または市場で見られる技術を超える技術的改良を最も適切に説明するため、または他の当業者が本明細書で開示された実施形態を理解できるようにするために選択されている。
【手続補正書】
【提出日】2024-06-12
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実行可能コンポーネントを格納するメモリと、
前記メモリに動作可能に結合され、前記メモリに格納された前記コンピュータ実行可能コンポーネントを実行するプロセッサと
を備えているシステムであって、前記コンピュータ実行可能コンポーネントが、
エラー軽減のために、スケーリングされた量子ゲートのセットを量子回路に追加するエラー軽減コンポーネントを含み、前記スケーリングされた量子ゲートのセットが、量子ゲートおよび前記量子ゲートの反転を含み、前記スケーリングされた量子ゲートのセットが、ターゲット伸長係数を実現するためのパルス・スケジュールに基づく回転角度を有する、システム。
【請求項2】
前記スケーリングされた量子ゲートのセットの前記回転角度が、前記量子回路に発生するノイズ量を制御する、請求項1に記載のシステム。
【請求項3】
前記量子回路に存在するターゲット量子ゲートに基づいて量子ゲートのセットを前記量子回路に挿入するゲート・コンポーネントをさらに備える、請求項1に記載のシステム。
【請求項4】
前記量子ゲートのセットが、単一の交差共鳴パルス、回転項を含む交差共鳴パルス、前記回転項を含むエコー交差共鳴パルス、または直接CXゲートによって実施されるRZXゲートを含む、請求項3に記載のシステム。
【請求項5】
前記ターゲット量子ゲートの較正を実行し、前記ターゲット量子ゲートのパルス実施を決定する較正コンポーネントをさらに備える、請求項3に記載のシステム。
【請求項6】
前記ターゲット量子ゲートの前記パルス実施および前記ターゲット伸長係数に基づいて前記量子ゲートのセットの前記パルス・スケジュールを生成するスケーリング・コンポーネントをさらに備え、前記パルス・スケジュールが前記量子ゲートのセットの回転角度をスケーリングして、前記スケーリングされた量子ゲートのセットを定義する、請求項5に記載のシステム。
【請求項7】
前記スケーリングされた量子ゲートのセットを用いて前記量子回路を実行する実行コンポーネントをさらに備える、請求項5または6のいずれかに記載のシステム。
【請求項8】
前記実行コンポーネントによって実現された結果を外挿して前記量子回路のノイズを軽減する外挿コンポーネントをさらに備える、請求項7に記載のシステム。
【請求項9】
コンピュータによる情報処理によるコンピュータ実装方法であって、
プロセッサに動作可能に結合されたシステムによって、エラー軽減のために、スケーリングされた量子ゲートのセットを量子回路に追加することを
含み、前記スケーリングされた量子ゲートのセットが、量子ゲートおよび前記量子ゲートの反転を含み、前記スケーリングされた量子ゲートのセットが、ターゲット伸長係数を実現するためのパルス・スケジュールに基づく回転角度を有する、コンピュータ実装方法。
【請求項10】
前記スケーリングされた量子ゲートのセットの前記回転角度が、前記量子回路に発生するノイズ量を制御する、請求項9に記載のコンピュータ実装方法。
【請求項11】
前記システムによって、前記量子回路に存在するターゲット量子ゲートに基づいて量子ゲートのセットを前記量子回路に挿入することをさらに含む、請求項9に記載のコンピュータ実装方法。
【請求項12】
前記量子ゲートのセットが、単一の交差共鳴パルス、回転項を含む交差共鳴パルス、前記回転項を含むエコー交差共鳴パルス、または直接CXゲートによって実施されるRZXゲートを含む、請求項11に記載のコンピュータ実装方法。
【請求項13】
前記システムによって、前記ターゲット量子ゲートの較正を抽出して、前記ターゲット量子ゲートのパルス実施を決定することをさらに含む、請求項11に記載のコンピュータ実装方法。
【請求項14】
前記システムによって、前記ターゲット量子ゲートの前記パルス実施および前記ターゲット伸長係数に基づいて前記量子ゲートのセットの前記パルス・スケジュールを生成することをさらに含み、前記パルス・スケジュールが前記量子ゲートのセットの回転角度をスケーリングして、前記スケーリングされた量子ゲートのセットを定義する、請求項13に記載のコンピュータ実装方法。
【請求項15】
前記システムによって、前記スケーリングされた量子ゲートのセットを用いて前記量子回路を実行することと、
前記システムによって、前記実行からの結果を外挿して前記量子回路のノイズを軽減することと
をさらに含む、請求項14に記載のコンピュータ実装方法。
【請求項16】
量子回路のエラーを軽減するためのコンピュータ・プログラムであって、プロセッサに、スケーリングされた量子ゲートのセットを前記量子回路に追加させることを特徴とし、前記スケーリングされた量子ゲートのセットが、量子ゲートおよび前記量子ゲートの反転を含み、前記スケーリングされた量子ゲートのセットが、ターゲット伸長係数を実現するためのパルス・スケジュールに基づく回転角度を有する、コンピュータ・プログラム。
【請求項17】
プロセッサに、請求項9~15のいずれか1項に記載のコンピュータ実装方法を実行させるためのコンピュータ可読な記録媒体。
【国際調査報告】