(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-16
(54)【発明の名称】量子システムの較正の後に迅速に波形を修正するための技法
(51)【国際特許分類】
G06N 10/40 20220101AFI20231109BHJP
G06N 10/80 20220101ALI20231109BHJP
【FI】
G06N10/40
G06N10/80
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023527815
(86)(22)【出願日】2021-11-08
(85)【翻訳文提出日】2023-05-09
(86)【国際出願番号】 EP2021080877
(87)【国際公開番号】W WO2022101116
(87)【国際公開日】2022-05-19
(32)【優先日】2020-11-11
(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)【復代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】ワック、アンドリュー
(72)【発明者】
【氏名】レメク、ジョン
(72)【発明者】
【氏名】ウー、ライアン
(72)【発明者】
【氏名】ユ、ジェシー
(57)【要約】
量子システムの較正の後の迅速な波形修正を促進する技法である。一例において、システムは、メモリに格納されたコンピュータ実行可能コンポーネントを実行するプロセッサを備え得る。コンピュータ実行可能コンポーネントは、較正コンポーネントおよび再生コンポーネントを含む。較正コンポーネントは、有向グラフの生成の後に生じる量子システムの較正によって変更される有向グラフのパラメータを識別し得る。再生コンポーネントは、識別されたパラメータに基づいて有向グラフを修正して、更新された有向グラフを生成し得る。
【特許請求の範囲】
【請求項1】
メモリに格納された以下のコンピュータ実行可能コンポーネントを実行するプロセッサ:
有向グラフの生成の後に生じる量子システムの較正によって変更される前記有向グラフのパラメータを識別する較正コンポーネント;および
識別された前記パラメータに基づいて前記有向グラフを修正して更新された有向グラフを生成する再生コンポーネント
を備える、システム。
【請求項2】
前記パラメータが:パルス位相;パルス持続時間;パルス周波数;パルス振幅;ゲート定義;またはそれらの組み合わせを含む、請求項1に記載のシステム。
【請求項3】
前記較正コンポーネントが、前記有向グラフを含む複数の指定のパルスに関連付けられたメタデータを使用して前記パラメータを識別する、前述の請求項のいずれか一項に記載のシステム。
【請求項4】
前記再生コンポーネントが、パルスのパルス周波数を改変することによって前記有向グラフを修正する、前述の請求項のいずれか一項に記載のシステム。
【請求項5】
前記再生コンポーネントが、前記パルスのリストトラバーサルまたはハッシュテーブルを使用して前記パルス周波数を改変する、請求項4に記載のシステム。
【請求項6】
前記再生コンポーネントが、プレースホルダーパルスを挿入または除去することによって前記有向グラフを修正して、前記更新された有向グラフ内の同期を維持する、前述の請求項のいずれか一項に記載のシステム。
【請求項7】
前記再生コンポーネントが、パルスのパルス振幅を改変することによって前記有向グラフを修正する、前述の請求項のいずれか一項に記載のシステム。
【請求項8】
較正データを監視して有向グラフを無効にする変更を検出する追跡コンポーネント
をさらに備える、前述の請求項のいずれか一項に記載のシステム。
【請求項9】
前記較正コンポーネントが、前記有向グラフを含む前記量子システムのジョブキューを中断させる、前述の請求項のいずれか一項に記載のシステム。
【請求項10】
システムによって、有向グラフの生成の後に生じる量子システムの較正によって変更される前記有向グラフのパラメータを識別する段階;および
前記システムによって、識別された前記パラメータに基づいて前記有向グラフを修正して、更新された有向グラフを生成する段階
を備える、コンピュータ実装方法。
【請求項11】
前記パラメータが:パルス位相;パルス持続時間;パルス周波数;パルス振幅;ゲート定義;またはそれらの組み合わせを含む、請求項10に記載のコンピュータ実装方法。
【請求項12】
前記システムが、前記有向グラフを含む複数の指定のパルスに関連付けられたメタデータを使用して前記パラメータを識別する、請求項10から11のいずれか一項に記載のコンピュータ実装方法。
【請求項13】
前記システムが、パルスのパルス周波数を改変することによって前記有向グラフを修正する、請求項10から12のいずれか一項に記載のコンピュータ実装方法。
【請求項14】
前記システムが、前記パルスのリストトラバーサルまたはハッシュテーブルを使用して前記パルス周波数を改変する、請求項13に記載のコンピュータ実装方法。
【請求項15】
前記システムが、プレースホルダーパルスを挿入または除去することによって前記有向グラフを修正して、前記更新された有向グラフ内の同期を維持する、請求項10から14のいずれか一項に記載のコンピュータ実装方法。
【請求項16】
前記システムが、パルスのパルス振幅を改変することによって前記有向グラフを修正する、請求項10から15のいずれか一項に記載のコンピュータ実装方法。
【請求項17】
前記システムによって、較正データを監視して、有向グラフを無効にする変更を検出する段階
をさらに備える、請求項10から16のいずれか一項に記載のコンピュータ実装方法。
【請求項18】
前記システムによって、前記有向グラフを含む前記量子システムのジョブキューを中断させる段階
をさらに備える、請求項10から17のいずれか一項に記載のコンピュータ実装方法。
【請求項19】
それにより具現化されたプログラム命令を有するコンピュータ可読記憶媒体を備えるコンピュータプログラム製品であって、前記プログラム命令はプロセッサによって、前記プロセッサに:
有向グラフの生成の後に生じる量子システムの較正によって変更される前記有向グラフのパラメータを識別する手順;および
識別された前記パラメータに基づいて前記有向グラフを修正して、更新された有向グラフを生成する手順
を行わせるように実行可能である、コンピュータプログラム製品。
【請求項20】
前記パラメータが:パルス位相;パルス持続時間;パルス周波数;パルス振幅;ゲート定義;またはそれらの組み合わせを含む、請求項19に記載のコンピュータプログラム製品。
【請求項21】
システムによって、有向グラフの生成の後に生じる量子システムの較正によって変更される前記有向グラフの複数のパラメータを識別する段階;および
前記システムによって、識別された前記複数のパラメータに基づいて前記有向グラフをワンパスで修正して、更新された有向グラフを生成する段階
を備える、コンピュータ実装方法。
【請求項22】
前記有向グラフのサブセットが前記更新された有向グラフにおいて不変のままである、請求項21に記載のコンピュータ実装方法。
【請求項23】
システムによって、有向グラフの生成の後に前記有向グラフを無効にする量子システムの較正を検出する段階;
前記システムによって、前記量子システムの前記較正によって変更された有向グラフのパラメータを識別する段階;および
前記システムによって、識別された前記パラメータに基づいて前記有向グラフを修正して、更新された有向グラフを生成する段階
を備える、コンピュータ実装方法。
【請求項24】
前記システムが、前記有向グラフを含む複数の指定のパルスに関連付けられたメタデータを使用して前記パラメータを識別する、請求項23に記載のコンピュータ実装方法。
【請求項25】
前記システムによってモデルを使用して、前記有向グラフを修正する前に、識別された前記パラメータに基づいて前記有向グラフの修正に関連付けられる計算コストを評価する段階;および
前記有向グラフの修正に関連付けられる前記計算コストがリビルドに関連付けられる計算コストを超えることを示す評価に応答して、前記システムによって、前記有向グラフの前記リビルドを行って、新たな有向グラフを生成する段階
をさらに備える、請求項23から24のいずれか一項に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、量子コンピューティングに関し、より具体的には、量子システムの較正の後の迅速な波形修正を促進する技法に関する。
【背景技術】
【0002】
いくつかの量子コンピュータは、波およびパルスの専門言語で量子回路またはプログラムを受信する。そのような量子回路が、いくつかの量子コンピュータが受信する波およびパルスの専門言語としてではなく、より高水準言語としてエンティティによってコンピューティングサービスに提出され得るように、相当な抽出が実現されている。コンピューティングサービスは、エンティティが提出するより高水準言語の量子回路またはプログラムを、量子コンピュータが波形生成を介して解釈することができる波形およびパルスのスケジュールに変換することができる。いくつかの点では、波形生成プロセスは、古典的コンピュータによる実装のための命令をアセンブルするためにアセンブラが実装するプロセスに類似するものとして解釈され得る。波形生成プロセスは、概して、所与の量子回路を実行することになる量子システムの直近の較正からの較正データに基づいて実行される。量子システムによって量子回路が実行され得るまたは動作し得る前に、そのような波形生成プロセスを実行するには、概して、無視できない量の時間および計算リソースがかかる。
【0003】
量子システムの制御パラメータは、較正状態から経時的に逸脱し、これにより、量子システム上での量子回路の実行から取得される結果にノイズおよび他の誤差源がもたらされる。例えば、量子回路は1つまたは複数のゲートを含み得る。較正により、これらのゲートの定義が規定パルスとして命令され得る。波形生成プロセスの間、これらの規定パルスがパルスの有向グラフに変換され得る。パルスの有向グラフのヘッドは規定パルスのシーケンスの最端部であり得、各エッジは前のパルスの方向に向けられている。それらのパルスは次いでスケジュールされてよく、パルスが量子システムに対して発され得るとき、およびパルスの発出が停止されるときの厳密な時間表現を受信し得る。較正状態からのいかなる逸脱もそれらの厳密な時間表現に悪影響を及ぼし得、これによりさらに、ノイズおよび他の誤差源がもたらされる。
【0004】
そのようなノイズおよび他の誤差源を軽減することは、概して、量子システムを較正して制御パラメータを較正状態に返すことを伴う。較正が生じると、以前の較正データに基づいて以前に生成された任意の波形は無効になるかまたは古くなる。無効になった波形を完全にリビルドまたは再生して再較正された量子システム上で実行することは、概して、新たな構成データを使用して波形生成プロセスの各ステップを再実行して、更新された波形を生成することを伴う。波形生成プロセスを実行するには、概して、無視できない量の時間および計算リソースがかかるという点で、波形生成プロセスの各ステップを繰り返すことなく、無効になった波形を修正することにより、誤差の低減および計算効率の改善の両方が得られる。
【発明の概要】
【0005】
以下では、発明の1つまたは複数の実施形態の基本的理解を提供するために概要を提示する。この概要は、主要または重要な要素を識別すること、または、特定の実施形態の任意の範囲または請求項の任意の範囲を画定することを意図するものではない。その唯一の目的は、後に提示されるより詳細な説明に対する前置きとして、簡略化された形式の概念を提示することである。本明細書で説明される1つまたは複数の実施形態では、量子システムの較正の後の迅速な波形の修正を促進するシステム、デバイス、コンピュータ実装方法、および/またはコンピュータプログラム製品が説明される。
【0006】
一実施形態によると、システムは、メモリに格納されたコンピュータ実行可能コンポーネントを実行するプロセッサを備え得る。コンピュータ実行可能コンポーネントは、較正コンポーネントよび再生コンポーネントを含む。較正コンポーネントは、有向グラフの生成の後に生じる量子システムの較正によって変更される有向グラフのパラメータを識別し得る。再生コンポーネントは、識別されたパラメータに基づいて有向グラフを修正して、更新された有向グラフを生成し得る。
【0007】
別の実施形態によれば、コンピュータ実装方法は、システムによって、有向グラフの生成の後に生じる量子システムの較正によって変更される前記有向グラフのパラメータを識別する段階を備え得る。コンピュータ実装方法は、前記システムによって、識別された前記パラメータに基づいて前記有向グラフを修正して、更新された有向グラフを生成する段階をさらに備え得る。
【0008】
別の実施形態によれば、コンピュータプログラム製品は、具現化されたプログラム命令を有するコンピュータ可読記憶媒体を含み得る。プログラム命令は、プロセッサによって実行可能であって、プロセッサに動作を実行させる。動作は、有向グラフの生成の後に生じる量子システムの較正によって変更される前記有向グラフのパラメータを識別する手順を含み得る。動作は、識別された前記パラメータに基づいて前記有向グラフを修正して、更新された有向グラフを生成する手順をさらに含み得る。
【0009】
別の実施形態によれば、コンピュータ実装方法は、システムによって、有向グラフの生成の後に生じる量子システムの較正によって変更される前記有向グラフの複数のパラメータを識別する段階を備え得る。コンピュータ実装方法は、前記システムによって、識別された前記複数のパラメータに基づいて前記有向グラフをワンパスで修正して、更新された有向グラフを生成する段階をさらに備え得る。
【0010】
別の実施形態によれば、コンピュータ実装方法は、システムによって、有向グラフの生成の後に前記有向グラフを無効にする量子システムの較正を検出する段階を備え得る。コンピュータ実装方法は、前記システムによって、前記量子システムの前記較正によって変更された有向グラフのパラメータを識別する段階をさらに備え得る。コンピュータ実装方法は、前記システムによって、識別された前記パラメータに基づいて前記有向グラフを修正して、更新された有向グラフを生成する段階をさらに備え得る。
【図面の簡単な説明】
【0011】
【
図1】本明細書に記載される1つまたは複数の実施形態による、量子システムの較正の後の迅速な波形修正を促進できる非限定的システムの一例のブロック図を示す。
【0012】
【
図2】本明細書に記載される1つまたは複数の実施形態の態様を実装するのに好適な非限定的な量子回路の一例を示す。
【0013】
【
図3】本明細書に記載される1つまたは複数の実施形態による非限定的な回路グラフの一例を示す。
【0014】
【
図4】本明細書に記載される1つまたは複数の実施形態による非限定的なパルス時系列グラフ(non-limiting pulse-in-time graph)の一例を示す。
【0015】
【
図5】本明細書に記載される1つまたは複数の実施形態による、非限定的な更新されたパルス時系列グラフの一例を示す。
【0016】
【
図6】本明細書に記載される1つまたは複数の実施形態による、非限定的な更新されたパルス時系列グラフの別の例を示す。
【0017】
【
図7】本明細書に記載される1つまたは複数の実施形態による、非限定的な更新されたパルス時系列グラフの別の例を示す。
【0018】
【
図8】本明細書に記載される1つまたは複数の実施形態による、非限定的な更新されたパルス時系列グラフの別の例を示す。
【0019】
【
図9】本明細書に記載される1つまたは複数の実施形態による、量子システムの較正の後に波形修正を促進する非限定的なコンピュータ実装方法の例のフロー図を示す。
【0020】
【
図10】本明細書に記載される1つまたは複数の実施形態による、量子システムの較正の後に波形修正を促進する非限定的なコンピュータ実装方法の別の例のフロー図を示す。
【0021】
【
図11】本明細書に記載される1つまたは複数の実施形態による、量子システムの較正の後に波形修正を促進する非限定的なコンピュータ実装方法の別の例のフロー図を示す。
【0022】
【
図12】本明細書に記載される1つまたは複数の実施形態が促進され得る例示的且つ非限定的な動作環境のブロック図を示す。
【発明を実施するための形態】
【0023】
以下の詳細な説明は単に例示であり、実施形態、および/または実施形態の用途または使用を制限することを意図するものではない。さらに、前述の背景または概要の章、または、詳細な説明の章に提示される任意の明示的または黙示的情報によって拘束される意図はない。
【0024】
ここで、図面を参照して1つまたは複数の実施形態を説明する。全体を通して、同様の参照番号は、同様の要素を指すために使用される。以下の説明では、説明の目的で、多くの特定の詳細を、1つまたは複数の実施形態のより完全な理解を提供すべく記載する。しかしながら、様々な場合において、これらの具体的な詳細なしで、1つまたは複数の実施形態が実施され得ることは明らかである。
【0025】
古典的コンピュータは、コンピューティングおよび情報処理機能を実行するために2進状態として情報を格納または表す二進数(またはビット)で動作する。対照的に、量子コンピューティングデバイスは、2進状態および2進状態の重ね合わせの両方として情報を格納または表す量子ビット(またはキュビット)で動作する。その点で、量子コンピューティングデバイスは、エンタングルメントおよび干渉などの量子力学的現象を利用する。
【0026】
量子計算は、古典計算ビットの代わりに、キュビットをその本質的な単位として使用する。キュビット(例えば、量子二進数)は、古典ビットの量子力学的な類似物である。古典ビットは2つの基底状態(例えば、0または1)のうちの1つのみを利用することができる一方、キュビットは、それらの基底状態の重ね合わせ(例えば、α|0)+β|1)、ここでαおよびβは|α|2+|β|2=1となる複素スカラーである)を利用することができ、これにより、ある数のキュビットは、理論上、同じ数の古典ビットよりも指数関数的に多くの情報を保持することが可能となる。そのため、量子コンピュータ(例えば、古典ビットのみの代わりにキュビットを利用するコンピュータ)は、理論上、古典的コンピュータにとって極度に困難であり得る問題を迅速に解決することができる。古典的コンピュータのビットは単純な二進数であり、0または1のいずれかの値である。2つの異なる状態にあるほとんどあらゆるデバイスは古典ビットを表すように機能し得る:スイッチ、バルブ、磁石、コインなど。キュビットは、量子の神秘性を帯びており、0と1の状態の重ね合わせを占め得る。キュビットは0.63などの中間値を有し得るものではなく、キュビットの状態が測定されたときは、結果は0または1のいずれかである。しかし、演算の進行において、キュビットは、例えば、63パーセントの0の状態および37パーセントの1の状態の混合であるかのように動作し得る。一般的な量子プログラムは、演算の量子的部分および古典的部分の調整を必要とする。一般的な量子プログラムに関して考える1つの手段は、量子アルゴリズムを指定すること、アルゴリズムを実行可能な形式に変換すること、実験またはシミュレーションを実行すること、および結果を分析することに伴う処理および抽象化を識別することである。これらのプロセスに通じる概念は中間表現の使用である。演算の中間表現(IR)は、そのソースである言語記述またはターゲットである機械命令のどちらでもなく、その間にあるものである。コンパイラは、プログラムを変換して最適化するプロセスの間にいくつかのIRを使用し得る。入力は、量子アルゴリズムおよびコンパイル時間パラメータを説明するソースコードである。出力は、高レベルIRを使用して表される量子/古典プログラムの組み合わせである。量子コンピュータおよび古典的コンピュータの違いは、量子コンピュータが確率的であり、そのため、アルゴリズム出力の測定が、アルゴリズム固有の信頼区間内で適切な解決手段を提供することである。演算は次に、満足できる確からしさの解決手段が実現され得るまで、繰り返される。
【0027】
量子力学の法則を使用して情報を処理することによって、量子コンピュータは、分子計算、金融リスク計算、最適化、およびより多くのものなどの演算タスクを実行するための新規の手段を提案する。
【0028】
上記のように、量子システムの制御パラメータは、較正状態から経時的に逸脱し、これにより、量子システム上での量子回路の実行から取得される結果にノイズおよび他の誤差源がもたらされる。そのようなノイズおよび他の誤差源を軽減することは、概して、量子システムを較正して制御パラメータを較正状態に返すことを伴う。較正が生じると、以前の較正データに基づいて以前に生成された任意の波形は無効になるかまたは古くなる。無効になった波形を完全にリビルドまたは再生して再較正された量子システム上で実行することは、概して、新たな構成データを使用して波形生成プロセスの各ステップを再実行して、更新された波形を生成することを伴う。
【0029】
本開示の実施形態は、更新された波形を生成するために波形生成プロセスの各ステップを繰り返すことなく、新たな構成データに基づいて波形(またはコンパイルされた量子プログラム)を修正する技法を説明する。本明細書に記載される1つまたは複数の実施形態によれば、既存の波形は、更新された波形を生成するために波形生成プロセスの各ステップを繰り返す場合に伴うよりも少ない計算リソースを使用して、新たな構成データに基づいて修正され得る。例えば、量子システムの較正により、量子システムに対して特定のゲートを実装するための波を発するための時間が増減し得る。以下でより詳細に説明されるように、波形生成プロセスの各ステップを繰り返す代わりに、本開示の実施形態を使用して更新された波形を生成するために、既存の波形またはパルスのスケジュールは、パルス持続時間を編集することによって修正され得る。そのため、本開示の実施形態は、量子システムの較正の後の迅速な波形修正を促進する、演算的に効率的な技法を提供する。
【0030】
図1は、本明細書に記載される1つまたは複数の実施形態による、量子システムの較正の後の迅速な波形修正を促進できる非限定的システム100の一例のブロック図を示す。システム100は、コンピュータ実行可能コンポーネントを格納するためのメモリ110、および1つまたは複数の通信バス130を介してメモリ110に動作可能に結合された、メモリ110に格納されたコンピュータ実行可能コンポーネントを実行するための1つまたは複数のプロセッサ120を含む。
図1に示されるように、コンピュータ実行可能コンポーネントは較正コンポーネント140および再生コンポーネント150を含む。
【0031】
較正コンポーネント140は、有向グラフの生成の後に生じる量子システムの較正によって変更される有向グラフのパラメータを識別し得る。一実施形態では、パラメータは、パルス位相、パルス持続時間、パルス周波数、パルス振幅、ゲート定義、またはそれらの組み合わせを含む。一実施形態では、較正コンポーネントは、有向グラフを含む複数の指定のパルスに関連付けられるメタデータを使用してパラメータを識別し得る。一実施形態では、較正コンポーネントは、有向グラフを含む量子システムのジョブキューを中断し得る。
【0032】
再生コンポーネント150は、識別されたパラメータに基づいて有向グラフを修正して、更新された有向グラフを生成し得る。一実施形態では、再生コンポーネント150は、パルスおよび関連付けられるパルスのそれぞれのパルス周波数を改変することによって有向グラフを修正し得る。一実施形態では、再生コンポーネント150は、パルスおよび関連付けられるパルスのリストトラバーサルまたはそれぞれのハッシュテーブルを使用してそれぞれのパルス周波数を改変し得る。一実施形態では、再生コンポーネント150は、プレースホルダーパルスを挿入または除去することによって有向グラフを修正して、更新された有向グラフ内の同期を維持し得る。一実施形態では、再生コンポーネント150は、パルスおよび関連付けられるパルスのそれぞれのパルス振幅を改変することによって有向グラフを修正し得る。一実施形態では、有向グラフのサブセットは、更新された有向グラフにおいて不変のままであり得る。
【0033】
一実施形態では、システム100は、再生コンポーネント150が有向グラフを修正する前に、モデルを使用して、識別されたパラメータに基づいて有向グラフを修正することに関連付けられる計算コストを評価し得る。一実施形態では、モデルは、有向グラフをリビルドすることおよび/または有向グラフを修正することに関連付けられる計算コストを決定するように訓練された1つまたは複数の機械学習されたモデルを使用して実装され得る。任意の人工知能、訓練データを使用して、1つまたは複数の機械学習されたモデルを訓練するために、機械学習、知識ベース、またはルールベースの機構が使用され得る。そのような機構の例には、サポートベクタマシン、ニューラルネットワーク、エキスパートシステム、ベイジアン信念ネットワーク、ファジー理論、データ融合エンジン、分類子などが含まれる。訓練データは、履歴較正データ、履歴計算コストデータ、またはそれらの組み合わせを含むデータセットから取得され得る。一実施形態では、システム100は、有向グラフを修正することに関連付けられる計算コストがリビルドすることに関連付けられる計算コストを超えることを示す評価に応答して、有向グラフをリビルドして、新たな有向グラフを生成し得る。
【0034】
一実施形態では、メモリ110に格納されたコンピュータ実行可能コンポーネントは追跡コンポーネント160をさらに含み得る。追跡コンポーネント160は、較正データを監視して、有向グラフを無効にする変更を検出し得る。実施形態によって利用されたコンピュータ実行可能コンポーネントの機能性は、以下でより詳細に包含される。
【0035】
図2は、本明細書に記載される1つまたは複数の実施形態の態様を実装するのに好適な非限定的な量子回路200の一例を示す。
図2によって示されるように、量子回路200は、第1のキュビット210に適用されるU1ゲート230および第2のキュビット220に適用されるU3ゲート240を含む。一実施形態では、U1ゲート230は、回転のZ軸の周りでの単一キュビット回転を実装し得、U3ゲート240は、回転の3軸(例えば、回転のX軸、回転のY軸、および回転のZ軸)の周りでの単一キュビット回転を実装し得る。量子回路200は、それぞれ第1のキュビット210および第2のキュビット220に対するU1ゲート230およびU3ゲート240の適用の後に第1のキュビット210および第2のキュビット220に適用されるバリアオペレーション250をさらに含む。一実施形態では、バリアオペレーション250は、量子回路200の異なるゲートまたはオペレーション間の分離の維持を促進する。
【0036】
バリアオペレーション250の適用後、量子回路220は、第2のキュビット220に適用されるU1ゲート235を含む。
図2は、量子回路200が、バリアオペレーション250の適用後に第1のキュビット210および第2のキュビット220に適用される制御Xゲート260、および第1のキュビット210および第2のキュビット220に対するU1ゲート235をそれぞれ含むことをさらに示す。一実施形態では、制御Xゲート260は、制御キュビット(例えば、第1のキュビット210)が|1〉状態にあるときにターゲットキュビット(例えば、第2のキュビット220)の状態を覆すことができる。量子回路200は、制御Xゲート260の適用後に第1のキュビット210に適用されるU3ゲート245をさらに含む。量子回路200において、U3ゲート245の適用後の第1のキュビット210に測定オペレーション270が適用され、制御Xゲート260の適用後の第2のキュビット220に測定オペレーション275が適用される。
【0037】
いくつかの実施形態では量子回路(例えば、
図2の量子回路200)は、波形生成を介して量子回路を物理的に実装または実行する量子システムへの入力のために波形に変換され得る。波形は、関連付けられたメタデータ、および、量子回路を実行するために駆動源が量子システムに適用する信号に対する指定のパルスのマッピングを含む、指定のパルス(またはパルス)の有向グラフであり得る。波形生成は3つのステップを含み得る。それらのステップのうちの1つは、量子回路を定義する高位情報を、将来のパルスに向けられた有向エッジを有する指定のパルスの有向グラフに変換することを含み得る。そのような変換によって生成された有向グラフは回路グラフと称され得、これは、
図3に関して以下でより詳細に説明される。
【0038】
波形生成の別のステップは、量子システムに対して実行された直近の較正からの較正データに基づいて回路グラフにタイミング情報を追加することを含み得る。そのようなタイミング情報を追加することにより、回路グラフの指定のパルスの、量子回路を実行するために駆動源が量子システムに適用する信号のタイムスロットとの適合(または整列)を促進することができる。一実施形態では、各タイムスロットは等しい時間区画を定義する。そのようなタイミング情報が追加されると、回路グラフは、パルス時系列グラフ(pulse-in-time graph)と称され得るグラフに変換され、これは
図4に関して以下でより詳細に説明される。一般的に、パルス時系列グラフは、メタデータを含む頂点を有する有向グラフであり得る。そのようなメタデータの例には、開始時間st、終了時間et、親ゲートpg、指定のパルスp、関連付けられるパルスのデータp'、およびそれらの組み合わせが含まれる。一実施形態では、量子システムは、量子回路を実行するためにパルス時系列グラフを並列で処理する複数のキュビットを含み得る。
【0039】
波形生成の別のステップは、波形の生成を促進するために、周波数情報、情報、および/または形状情報をパルス時系列グラフに追加することを含み得る。一実施形態では、波形は、2つの要素のセット{P,T}として実装され得、ここで、Pはパルス時系列グラフであり、Tは、指定のパルスpから実際の波へのルックアップテーブルである。ルックアップテーブルTは、周波数f、振幅a、および/または実際の各波の形状を含み得る。一実施形態では、ルックアップテーブルTは、関連付けられるパルス時系列グラフPを含む指定のパルスの、量子回路を実行するために駆動源が量子システムに適用する信号に対するマッピングであり得る。一実施形態では、波形を含む2つの要素のセット{P,T}は、量子システムのハードウェアを駆動する制御電子機器のための命令シーケンスが量子回路を実装することを促進し得る。
【0040】
図3は、本明細書に記載される1つまたは複数の実施形態による非限定的な回路グラフ300の一例を示す。一実施形態では、回路グラフ300は、
図2の量子回路200を定義する高位情報を変換することによって生成され得る。
図3に示されるように、回路グラフ300は、量子回路200の特定のゲートまたはオペレーションを実装するための1つまたは複数の指定のパルスに各々対応する複数のパルスを含む。回路グラフ300において、パルス302および304はそれぞれ、量子回路200のU1ゲート230を実装するために第1のキュビット210に適用され得るC0およびC2パルスに対応する。パルス316および318はそれぞれ、量子回路200のU3ゲート240を実装するために第2のキュビット220に適用され得るC1およびC0パルスに対応する。パルス306および320は、量子回路200のバリアオペレーション250を実装するために、第1のキュビット210および第2のキュビット220にそれぞれ適用され得る。
【0041】
回路グラフ300において、回路グラフ300のパルス322および324は、量子回路200のU1ゲート235を実装するために第2のキュビット220に適用され得るC0およびC2パルスにそれぞれ対応する。パルス308および310は、第1のキュビット210に関して制御Xゲート260を実装するために第1のキュビット210に適用され得る2つのC1パルスに対応する。パルス326、328および330は、第2のキュビット220に関して制御Xゲート260を実装するために第2のキュビット220に適用され得るC1、C3およびC0パルスにそれぞれ対応する。パルス312および314は、量子回路200のU3ゲート245を実装するために第1のキュビット210に適用され得るC1およびC0パルスに対応する。
【0042】
図4は、本明細書に記載される1つまたは複数の実施形態による非限定的なパルス時系列グラフ400の一例を示す。一実施形態では、パルス時系列グラフ400は、量子回路200を実装または実行するために量子システムに対して実行された直近の較正からの較正データに基づいて、
図3の回路グラフ300にタイミング情報を追加することによって生成され得る。回路グラフ300にタイミング情報を追加することは、較正データに基づいて決定または設定された対応する指定のパルスのパルス持続時間を使用して、回路グラフ300のパルスにタイムスロットを割り当てるまたはスケジュールすることを伴い得る。例として、直近の較正からの較正データに基づいて、C0、C1、およびC3パルスは各々が1時間単位のパルス持続時間を有すると決定され得、C2パルスは2時間単位のパルス持続時間を有すると決定され得る。タイムスロットは、パルス時系列グラフ400を生成するためにそれらのパルス持続時間を使用して回路グラフ300のパルスに割り当てられ得る。
【0043】
図4に図示される、指示子p'と共に両方向→によって表されるように、パルス時系列グラフ400のいくつかのパルスは関連付けられたパルスを有する。タイムスロットの割り当てまたはスケジュールにおいて、関連付けられたパルスを有するパルスは、関連付けられたパルスが同時(または実質的に同時)に量子システムへの入力をスケジュールされるように割り当てられ得る。例えば、
図4は、パルス306および320が関連付けられたパルスであるものとして図示している。それに応じて、パルス306および320は両方とも、t
3の開始時間stおよびt
4の終了時間etによって定義されるタイムスロットに割り当てられ得る。別の例として、
図4はまた、パルス308および326が関連付けられたパルスであるものとして図示している。関連付けられたパルスであるパルス308および326は両方とも、t
7の開始時間stおよびt
8の終了時間etによって定義されるタイムスロットに割り当てられ得る。
【0044】
関連付けられたパルスの割り当てにより生じる時間の任意のギャップを説明するためにアイデンティティ(またはプレースホルダー)パルスがパルス時系列グラフ400に追加または挿入され得る。例えば、関連付けられたパルス306および320の割り当てにより生じるパルス318およびパルス320の間の時間のギャップを説明するためにアイデンティティパルス460がパルス時系列グラフ400に追加され得る。
図4により示されるように、パルス時系列グラフ400は、時間の同様のギャップを説明するために追加されたアイデンティティパルス440、450および470をさらに含む。
【0045】
一実施形態では、アイデンティティパルスを追加または挿入することは、キュビットqiが、別のキュビットqj上の関連付けられたパルスp'を有するパルスpに遭遇することを伴い得る。これに応答して、キュビットqiに対してパルスpをスケジュールするためにtiの開始時間が提案され得る。キュビットqjが関連付けられたパルスp'に遭遇すると、関連付けられたパルスp'をスケジュールするためにtjの開始時間が提案され得る。パルスpおよび関連付けられたパルスp'は、パルス時系列グラフにおいて、より後の時間に生じる提案される開始時間(例えば、tiまたはtj)にスケジュールされ得る。|ti-tj|のパルス持続時間を有するアイデンティティパルスは、パルス時系列グラフにおいて、より早い時間に生じる提案された開始時間に対応するパルス(例えば、パルスpまたは関連付けられたパルスp')の前に挿入され得る。
【0046】
例えば、第1のキュビット210は、第2のキュビット220上の関連付けられたパルス(すなわち、パルス326)を有するパルス308に遭遇し得る。これに応答して、第1のキュビット210上のパルス308をスケジュールするためにt4の開始時間が提案され得る。第2のキュビット220がパルス326に遭遇すると、パルス322および324のスケジュールを促進するために、パルス326をスケジュールするためにt7の開始時間が提案され得る。パルス308および326は、パルス時系列グラフ400において、より後の時間に生じる提案される開始時間(すなわち、t7)にスケジュールされ得る。3時間単位(すなわち、|t4-t7|)のパルス持続時間を有するアイデンティティパルス440は、パルス時系列グラフ400において、パルス308の前に挿入され得る。
【0047】
図3の回路グラフ300にタイミング情報を追加することによってパルス時系列グラフ400を生成する際、パルス時系列グラフ400は、既存の有向グラフを格納する量子システムのジョブキューに追加され得る。パルス時系列グラフ400の生成の後、量子システムの較正により、ジョブキューに格納された有向グラフなどの、既存の波形または有向グラフが無効となり得る。量子システムのその較正によってパルス時系列グラフ400の1つまたは複数のパラメータが変更され得る。
【0048】
例えば、量子システムの較正は、パルス時系列グラフ400のC1およびC2パルスに関連付けられたパルス周波数を変更し得る。パルス時系列グラフ400が生成されたときに利用可能であった較正データに基づいて、C1およびC2パルスに関連付けられたパルス周波数はそれぞれ、2ヘルツ(Hz)に設定されていた。しかしながら、パルス時系列グラフ400を無効にした較正からの新たな構成データに基づいて、C1およびC2パルスに関連付けられたパルス周波数はそれぞれ3Hzに設定されるべきとなる。上記の波形生成プロセスの各ステップを繰り返す代わりに、パルス時系列グラフ400は、新たな構成データに基づいて修正されて、
図5の更新されたパルス時系列グラフ500が生成され得る。一実施形態では、その有向グラフの生成後に生じる量子システムの較正により変更される無効化されたパルス時系列グラフのパラメータ(例えば、パルス周波数)に関連付けられたパルスは、それらのパルスのリストトラバーサル(例えば、ルックアップテーブルTを用いる)またはハッシュテーブルを使用した修正のために特定され得る。
【0049】
図4および5の比較は、C1またはC2パルスに対応するパルス時系列グラフ400の各パルスが、3Hzのパルス周波数を含むように修正されたことを示している。例えば、パルス時系列グラフ400は、2Hzのパルス周波数を含むC1パルスにそれぞれ対応するパルス308、310、312、316および326;および2Hzのパルス周波数を含むC2パルスにそれぞれ対応するパルス304および324を含む。C1パルスまたはC2パルスに対応するパルス時系列グラフ400のそれらのパルスの各々のパルス周波数が2Hzから3Hzに修正されて、更新されたパルス時系列グラフ500が生成される。
図5により示されるように、パルス時系列グラフ400のサブセット(例えば、パルス302、314、320および328)は、更新されたパルス時系列グラフ500において不変のままである。C1パルスに対応するパルス(例えば、パルス508、510、512、516および526)またはC2パルスに対応するパルス(例えば、パルス504および524)のみが、更新されたパルス時系列グラフ500において変更されている。
【0050】
別の例として、量子システムの較正は、パルス時系列グラフ400のC0およびアイデンティティ(またはプレースホルダー)パルスに関連付けられたパルス振幅を変更し得る。パルス時系列グラフ400が生成されたときに利用可能であった較正データに基づいて、C0およびアイデンティティパルスに関連付けられたパルス振幅はそれぞれ、0.1ボルト(V)に設定されていた。しかしながら、パルス時系列グラフ400を無効にした較正からの新たな構成データに基づいて、C0およびアイデンティティパルスに関連付けられたパルス振幅はそれぞれ0.2Vに設定されるべきとなる。上記の波形生成プロセスの各ステップを繰り返す代わりに、パルス時系列グラフ400は、新たな構成データに基づいて修正されて、
図6の更新されたパルス時系列グラフ600が生成され得る。
【0051】
図4および6の比較は、C0またはアイデンティティパルスに対応するパルス時系列グラフ400の各パルスが、0.2Vのパルス振幅を含むように修正されたことを示している。例えば、パルス時系列グラフ400は、0.1Vのパルス振幅を含むC0パルスにそれぞれ対応するパルス302、314、318、322および330;および0.1Vのパルス振幅を含むアイデンティティパルスにそれぞれ対応するパルス440、450、460、および470を含む。C0またはアイデンティティパルスに対応するパルス時系列グラフ400のそれらのパルスの各々のパルス振幅が0.1Vから0.2Vに修正されて、更新されたパルス時系列グラフ600が生成される。
図6により示されるように、パルス時系列グラフ400のサブセット(例えば、パルス304、310、320および326)は、更新されたパルス時系列グラフ600において不変のままである。C0パルスに対応するパルス(例えば、パルス602、614、618、622および630)またはアイデンティティパルスに対応するパルス(例えば、パルス640、650、660、および670)のみが、更新されたパルス時系列グラフ600において変更されている。
【0052】
別の例として、量子システムの較正は、パルス時系列グラフ400のC2パルスに関連付けられたパルス持続時間を変更し得る。パルス時系列グラフ400が生成されたときに利用可能であった較正データに基づいて、C2パルスに関連付けられたパルス持続時間は2時間単位に設定されていた。しかしながら、パルス時系列グラフ400を無効にした較正からの新たな構成データに基づいて、C2パルスに関連付けられたパルス持続時間は1時間単位に設定されるべきとなる。上記の波形生成プロセスの各ステップを繰り返す代わりに、パルス時系列グラフ400は、新たな構成データに基づいて修正されて、
図7の更新されたパルス時系列グラフ700が生成され得る。
【0053】
更新されたパルス時系列グラフ700を生成するために、パルス時系列グラフ400に挿入された各アイデンティティパルスが除去され得る。それに応じて、アイデンティティパルス440、450、460および470はそれぞれパルス時系列グラフ400から除去されて、更新されたパルス時系列グラフ700が生成され得る。挿入されたアイデンティティパルスを除去する際、C2パルスが特定のキュビット上で遭遇される最初のとき(例えば、ti)に、C2パルスの終了時間(例えば、ti+1)は、対応する開始時間の1時間単位後に設定される。例えば、パルス304は、第1のキュビット210上でC2パルスが遭遇される最初のときであり、これはt1においてである。パルス時系列グラフ400におけるパルス304の終了時間はt3に設定される。更新されたパルス時系列グラフ700において、そのC2にパルスに対応するパルス704の開始時間はt1のままである。しかしながら、パルス704の終了時間は、C2パルスについて更新された1時間単位のパルス持続時間を反映するためにt3からt2に修正されている。同様に、パルス時系列グラフ400におけるパルス324は、第2のキュビット220上でC2パルスが遭遇される最初のときである。更新されたパルス時系列グラフ700において、パルス724の終了時間は、C2パルスについて更新された1時間単位のパルス持続時間を反映するために同様に修正されている。
【0054】
第1のキュビット210(例えば、パルス308、310、312および314)または第2のキュビット220(例えば、パルス326、328および330)についてC2パルスの後にスケジュールされた将来の各ゲートまたはオペレーションを含むパルス時系列グラフ400の下流部分は、パルス704および724のそれぞれの終了時間に応じて再スケジュールされる。それらの将来のゲートまたはオペレーションは再スケジュールされ得、一方で、
図7により示されるように、関連付けられたパルスが同時(または実質的に同時に)量子システムへの入力をスケジュールされたままであることが保証される。それらの将来のゲートまたはオペレーションを再スケジュールした後、
図4に関して上で説明したように、関連付けられたパルスの割り当てにより生じる時間の任意のギャップを説明するために、更新されたパルス時系列グラフ700にアイデンティティ(またはプレースホルダー)パルスが追加または挿入され得る。
図7において、更新されたパルス時系列グラフ700に挿入されたそのようなアイデンティティパルスは、パルス740、750および770を含む。量子システムの較正から生じるパルス持続時間の変更に関する前述の開示は、パルス持続時間の削減の観点で説明されている。しかしながら、当業者であれば、開示された技法が、同様に、量子システムの較正から生じるパルス持続時間の増加に適用され得ることを認識するであろう。
【0055】
別の例として、量子システムの較正は、パルス時系列グラフ400のパルスにより実装される各U1ゲート(例えば、
図2のUIゲート230および235)のゲート定義を変更し得る。パルス時系列グラフ400が生成されたときに利用可能であった較正データに基づいて、U1ゲートを実装するためのゲート定義は、U1ゲートを実装するためにC0パルスおよびそれに続くC2パルスを含むパルスシーケンスをキュビットに適用することを伴っていた。しかしながら、パルス時系列グラフ400を無効化した較正からの新たな構成データに基づいて、U1ゲートを実装するためのゲート定義は、U1ゲートを実装するためにC0パルスをキュビットに適用することを伴う。上記の波形生成プロセスの各ステップを繰り返す代わりに、パルス時系列グラフ400は、新たな構成データに基づいて修正されて、
図8の更新されたパルス時系列グラフ800が生成され得る。
【0056】
更新されたパルス時系列グラフ800を生成するために、パルス時系列グラフ400に挿入された各アイデンティティパルスが除去され得る。それに応じて、アイデンティティパルス440、450、460および470はそれぞれパルス時系列グラフ400から除去されて、更新されたパルス時系列グラフ800が生成され得る。挿入されたアイデンティティパルスを除去する際、U1ゲートを実装するパルス時系列グラフ400の各パルスが識別される。一実施形態では、変更されたゲート定義に関連付けられるゲートを実装する無効化されたパルス時系列グラフの各パルスは、それらのパルスのリストトラバーサル(例えば、ルックアップテーブルTを用いる)またはハッシュテーブルを使用した修正のために特定され得る。U1ゲートを実装するパルス時系列グラフ400の各パルス(例えば、U1ゲート230を実装するためのパルス302および304;およびU1ゲート235を実装するためのパルス322および324)は、除去されて、新たなゲート定義に適合するパルス(例えば、U1ゲート230を実装するためのパルス802およびU1ゲート235を実装するためのパルス822)で置き換得られ得る。
【0057】
第1のキュビット210(例えば、パルス306、308、310、312および314)または第2のキュビット220(例えば、パルス326、328および330)についてU1ゲートの後にスケジュールされた将来の各ゲートまたはオペレーションを含むパルス時系列グラフ400の下流部分は、パルス802および822のそれぞれの終了時間に応じて再スケジュールされる。それらの将来のゲートまたはオペレーションは再スケジュールされ得、一方で、
図8により示されるように、関連付けられたパルスが同時(または実質的に同時に)量子システムへの入力をスケジュールされたままであることが保証される。それらの将来のゲートまたはオペレーションを再スケジュールした後、
図4に関して上で説明したように、関連付けられたパルスの割り当てにより生じる時間の任意のギャップを説明するために、更新されたパルス時系列グラフ800にアイデンティティ(またはプレースホルダー)パルスが追加または挿入され得る。
図8において、更新されたパルス時系列グラフ800に挿入されたそのようなアイデンティティパルスは、パルス840、850、870、および880を含む。
【0058】
図9は、本明細書に記載される1つまたは複数の実施形態による、量子システムの較正の後に波形修正を促進する非限定的なコンピュータ実装方法900の例のフロー図を示す。本明細書に説明される他の実施形態では利用される同様の要素の繰り返しの説明は、簡潔さのために省略される。
【0059】
910において、コンピュータ実装方法900は、システム(例えば、
図1の較正コンポーネント140)によって、有向グラフの生成の後に生じる量子システムの較正によって変更される有向グラフのパラメータを識別する段階を含み得る。一実施形態では、パラメータは、パルス位相、パルス持続時間、パルス周波数、パルス振幅、ゲート定義、またはそれらの組み合わせを含む。一実施形態では、システムは、有向グラフを含む複数の指定のパルスに関連付けられるメタデータを使用してパラメータを識別し得る。
【0060】
920において、コンピュータ実装方法900は、システム(例えば、
図1の再生コンポーネント150)によって、識別されたパラメータに基づいて有向グラフを修正して、更新された有向グラフを生成する段階を含み得る。一実施形態では、システムは、パルスのパルス周波数を改変することによって有向グラフを修正し得る。一実施形態では、システムは、パルスのリストトラバーサルまたはハッシュテーブルを使用してパルス周波数を改変し得る。一実施形態では、システムは、プレースホルダーパルスを挿入または除去することによって有向グラフを修正して、更新された有向グラフ内の同期を維持し得る。一実施形態では、システムは、パルスのパルス振幅を改変することによって有向グラフを修正し得る。
【0061】
一実施形態では、コンピュータ実装方法900は、システム(例えば、
図1の追跡コンポーネント160)によって、較正データを監視して、有向グラフを無効にする変更を検出する段階をさらに含み得る。一実施形態では、コンピュータ実装方法900は、システム(例えば、較正コンポーネント140)によって、有向グラフを含む量子システムのジョブキューを中断させる段階をさらに含み得る。
【0062】
図10は、本明細書に記載される1つまたは複数の実施形態による、量子システムの較正の後に波形修正を促進する非限定的なコンピュータ実装方法1000の別の例のフロー図を示す。本明細書で説明する他の実施形態では利用される同様の要素の繰り返しの説明は、簡潔さのために省略する。1010において、コンピュータ実装方法1000は、システム(例えば、
図1の較正コンポーネント140)によって、有向グラフの生成の後に生じる量子システムの較正によって変更される有向グラフの複数のパラメータを識別する段階を含み得る。例えば、システムは、有向グラフの生成の後に生じる量子システムの較正によって変更された有向グラフに関連付けられるパルス位相およびパルス持続時間を識別し得る。別の例として、システムは、有向グラフの生成の後に生じる量子システムの較正によって変更される有向グラフに関連付けられるパルス振幅およびパルス周波数を識別し得る。1020において、コンピュータ実装方法1000は、システム(例えば、
図1の再生コンポーネント150)によって、識別された複数のパラメータに基づいて有向グラフをワンパスで修正して、更新された有向グラフを生成する段階を含み得る。一実施形態では、有向グラフのサブセットは、更新された有向グラフにおいて不変のままである。
【0063】
図11は、本明細書に記載される1つまたは複数の実施形態による、量子システムの較正の後に波形修正を促進する非限定的なコンピュータ実装方法1100の別の例のフロー図を示す。本明細書で説明する他の実施形態では利用される同様の要素の繰り返しの説明は、簡潔さのために省略する。1110において、コンピュータ実装方法1100は、システム(例えば、
図1の追跡コンポーネント160)によって、有向グラフの生成の後に有向グラフを無効にする量子システムの較正を検出する段階を含み得る。
【0064】
1120において、コンピュータ実装方法1100は、システム(例えば、
図1の較正コンポーネント140)によって、有向グラフの生成の後に生じる量子システムの較正によって変更される有向グラフのパラメータを識別する段階を含み得る。一実施形態では、システムは、有向グラフを含む複数の指定のパルスに関連付けられるメタデータを使用してパラメータを識別し得る。1130において、コンピュータ実装方法1100は、システム(例えば、
図1の再生コンポーネント150)によって、識別されたパラメータに基づいて有向グラフを修正して、更新された有向グラフを生成する段階をさらに含み得る。一実施形態では、有向グラフのサブセットは、更新された有向グラフにおいて不変のままである。
【0065】
一実施形態では、コンピュータ実装方法1100は、システムによってモデルを使用して、有向グラフを修正する前に、識別されたパラメータに基づいて有向グラフの修正に関連付けられる計算コストを評価する段階をさらに含み得る。一実施形態では、コンピュータ実装方法1100は、システムによって、有向グラフを修正することに関連付けられる計算コストがリビルドすることに関連付けられる計算コストを超えることを示す評価に応答して、有向グラフをリビルドして、新たな有向グラフを生成する段階をさらに含み得る。
【0066】
開示された主題の様々な態様についての文脈を提供するべく、
図12および後続の説明は、開示された主題の様々な態様が実装され得る好適な環境の一般的説明を提供することが意図される。
図12を参照して、本開示の様々な態様を実装するための好適な動作環境1200はまた、コンピュータ1212を含み得る。コンピュータ1212はまた、処理ユニット1214、システムメモリ1216、およびシステムバス1218を含み得る。システムバス1218は、システムメモリ1216を含むがそれに限定されるものではないシステムコンポーネントを処理ユニット1214に結合する。処理ユニット1214は、様々な利用可能なプロセッサのいずれかであり得る。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャはまた、処理ユニット1214として利用され得る。システムバス1218は、これらに限定されるものではないが、業界標準アーキテクチャ(ISA)、マイクロチャネルアーキテクチャ(MSA)、拡張ISA(EISA)、インテリジェントドライブエレクトロニクス(IDE)、VESAローカルバス(VLB)、ペリフェラルコンポーネントインターコネクト(PCI)、カードバス、ユニバーサルシリアルバス(USB)、アドバンスドグラフィックスポート(AGP)、Firewire(登録商標)(IEEE1094)、スモールコンピュータシステムインタフェース(SCSI)を含む様々な利用可能なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、ペリフェラルバスまたは外部バス、および/またはローカルバスを含むいくつかのタイプのバス構造のいずれかであり得る。システムメモリ1216はまた、揮発性メモリ1220および不揮発性メモリ1222を含み得る。起動中などにコンピュータ1212内の要素間で情報を転送するための基本ルーチンを含む基本入力/出力システム(BIOS)が不揮発性メモリ1222に格納される。限定ではなく例示として、不揮発性メモリ1222は、リードオンリメモリ(ROM)、プログラマブルROM(PROM)、電気プログラマブルROM(EPROM)、電気消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、または、不揮発性ランダムアクセスメモリ(RAM)(例えば、強誘電体RAM(FeRAM))を含み得る。揮発性メモリ1220はまた、外部キャッシュメモリとして動作するランダムアクセスメモリ(RAM)を含み得る。限定ではなく例示として、RAMは、静的RAM(SRAM)、動的RAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、拡張SDRAM(ESDRAM)、Synchlink DRAM(SLDRAM)、ダイレクトRambusRAM(DRRAM)、ダイレクトRambus動的RAM(DRDRAM)、およびRambus動的RAMなどの多くの形式で利用可能である。
【0067】
コンピュータ1212はまた、取り外し可能/取り外し不可能、揮発性/不揮発性コンピュータ記憶媒体を含み得る。
図12は例えばディスクストレージ1224を示す。ディスクストレージ1224はまた、これらに限定されるものではないが、磁気ディスクドライブ、フロッピディスクドライブ、テープドライブ、Jazドライブ、Zipドライブ、LS-100ドライブ、フラッシュメモリカード、またはメモリスティックのようなデバイスを含み得る。ディスクストレージ1224はまた、別個に、または他の記憶媒体との組み合わせで記憶媒体を含み得、他の記憶媒体は、これらに限定されるものではないが、コンパクトディスクROMデバイス(CD-ROM)、CD記録可能ドライブ(CD-Rドライブ)、CD書き換え可能ドライブ(CD-RWドライブ)、またはデジタル多用途ディスクROMドライブ(DVD-ROM)などの光ディスクドライブを含む。システムバス1218へのディスクストレージ1224の接続を促進するべく、インタフェース1226などの取り外し可能または取り外し不可能なインタフェースが典型的には使用される。
図12はまた、ユーザと、好適な動作環境1200において説明される基本コンピュータリソースとの間の仲介として動作するソフトウェアを図示する。そのようなソフトウェアはまた、例えば、オペレーティングシステム1228を含み得る。ディスクストレージ1224に格納され得るオペレーティングシステム1228は、コンピュータ1212のリソースを制御し割り当てるように動作する。システムアプリケーション1230は、例えば、システムメモリ1216またはディスクストレージ1224のいずれかに格納されるプログラムモジュール1232およびプログラムデータ1234を通じて、オペレーティングシステム1228によるリソースの管理を活用する。本開示は、様々なオペレーティングシステムまたはオペレーティングシステムの組み合わせで実装され得ることが認識されるべきである。ユーザは入力デバイス1236を通じてコンピュータ1212にコマンドまたは情報を入力する。入力デバイス1236は、これらに限定されるものではないが、マウス、トラックボール、スタイラス、タッチパッド、キーボード、マイク、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ、テレビチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラなどといったポインティングデバイスを含む。これらおよび他の入力デバイスは、インタフェースポート1238を介して、システムバス1218を通じて処理ユニット1214に接続する。インタフェースポート1238は、例えば、シリアルポート、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)を含む。出力デバイス1240は、同じタイプのポートのいくつかを入力デバイス1236として使用する。そのため、例えば、USBポートは、入力をコンピュータ1212に提供するために、および、コンピュータ1212からの情報を出力デバイス1240に出力するために使用され得る。特殊なアダプタを必要とする数ある他の出力デバイス1240の中でも特にモニタ、スピーカ、およびプリンタのような、いくつかの出力デバイス1240があることを示すために出力アダプタ1242が提供される。出力アダプタ1242は、限定ではなく例示として、出力デバイス1240とシステムバス1218との間の接続手段を提供するビデオおよびサウンドカードを含む。他のデバイスおよび/またはデバイスのシステムは、リモートコンピュータ1244などの、入力および出力の両方の能力を提供することに留意され得る。
【0068】
コンピュータ1212は、リモートコンピュータ1244などの1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境において動作し得る。リモートコンピュータ1244は、コンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサベースの機器、ピアデバイスまたは他の共通ネットワークノード等であり得、典型的には、コンピュータ1212に関して説明される要素の多くまたは全ても含み得る。簡潔にする目的で、メモリストレージデバイス1246のみがリモートコンピュータ1244と共に示される。リモートコンピュータ1244は、ネットワークインタフェース1248を通じて論理的にコンピュータ1212に接続され、次に、通信接続1250を介して物理的に接続される。ネットワークインタフェース1248は、有線および/または無線通信ネットワーク、例えばローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、セルラネットワークなどを包含する。LAN技術は、ファイバ分散データインタフェース(FDDI)、銅線分散データインタフェース(CDDI)、イーサネット(登録商標)、トークンリングなどを含む。WAN技術は、これらに限定されるものではないが、ポイントツーポイントリンク、統合サービスデジタルネットワーク(ISDN(登録商標))およびそのバリエーションのような回路スイッチネットワーク、パケットスイッチングネットワーク、およびデジタル加入者回線(DSL)を含む。通信接続1250は、ネットワークインタフェース1248をシステムバス1218に接続するために利用されるハードウェア/ソフトウェアを指す。明確な例示のために、通信接続1250がコンピュータ1212内部に示されているが、コンピュータ1212の外部にもあり得る。ネットワークインタフェース1248に接続するためのハードウェア/ソフトウェアはまた、例示の目的のみで、通常の電話グレードモデム、ケーブルモデム、DSLモデムを含むモデム、ISDNアダプタ、イーサネットカードなどの内部および外部技術を含み得る。
【0069】
本発明は、統合の任意の可能な技術的詳細レベルにおけるシステム、方法、機器および/またはコンピュータプログラム製品であり得る。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持および格納し得る、有形デバイスであり得る。コンピュータ可読記憶媒体は、限定されるものではないが、例えば、電子ストレージデバイス、磁気ストレージデバイス、光学ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、または、上記の任意の好適な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非包括的リストはまた、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピディスク、命令が記録されたパンチカードまたは溝における凸構造などの機械的に符号化されたデバイス、および、上記の任意の好適な組み合わせを含み得る。コンピュータ可読記憶媒体は、本明細書において使用されるように、電波または他の自由に伝搬する電磁波、導波路または他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号などの一時的な信号自体と解釈されてはならない。
【0070】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされてもよく、または、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および/または無線ネットワークを介して、外部コンピュータまたは外部ストレージデバイスにダウンロードされてもよい。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/またはエッジサーバを含み得る。各コンピューティング/処理デバイスにおけるネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を転送する。本発明のオペレーションを実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、または、Smalltalk(登録商標)、C++、または同様のものなどのオブジェクト指向プログラミング言語、「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで書かれたソースコードまたはオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、スタンドアロンのソフトウェアパッケージとして、ユーザのコンピュータ上で部分的かつリモートコンピュータ上で部分的に、または、リモートコンピュータまたはサーバ上で全体的に実行し得る。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続され得るか、または、接続は、(例えば、インターネットサービスプロバイダを使用してインターネットを通じて)外部コンピュータに行われ得る。いくつかの実施形態では、本発明の態様を実行するべく、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、または、プログラマブルロジックアレイ(PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行し得る。
【0071】
本発明の態様は、本明細書において、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照して、説明されている。フローチャート図および/またはブロック図の各ブロック、および、フローチャート図および/またはブロック図におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装可能であることが理解されるであろう。これらのコンピュータ可読プログラム命令は、機械を作成するために、汎用コンピュータ、専用コンピュータ、または、他のプログラマブルデータ処理装置のプロセッサに提供され得る。それにより、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行する命令は、フローチャートおよび/またはブロック図のブロックまたは複数のブロックにおいて指定される機能/行動を実装するための手段を形成する。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置および/または他のデバイスに、特定の方式で機能するよう指示できるコンピュータ可読記憶媒体に格納され得る。それにより、命令を格納したコンピュータ可読記憶媒体は、フローチャートおよび/またはブロック図のブロックまたは複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む、製品を含む。コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、または、他のデバイス上にロードされ得ることにより、一連の動作行動を、コンピュータ、他のプログラマブル装置、または、他のデバイス上で実行させ、コンピュータ実装プロセスを作成し、それにより、コンピュータ、他のプログラマブル装置、または、他のデバイス上で実行する命令が、フローチャートおよび/またはブロック図のブロックまたは複数のブロックにおいて指定される機能/行動を実装する。
【0072】
図面におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、および動作を示している。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能命令を含む、モジュール、セグメント、または、命令の一部を表し得る。いくつかの代替的な実装において、ブロックにおいて記載される機能は、図に記載された順序とは別の順序で生じ得る。例えば、実際に、連続して示される2つのブロックは、関与する機能性に応じて、実質的に同時に実行され得るか、または、ブロックは場合によっては、逆の順序で実行されてよい。また、ブロック図および/またはフローチャート図の各ブロック、およびブロック図および/またはフローチャート図のブロックの組み合わせは、指定された機能または動作を実行する、または専用ハードウェアとコンピュータ命令との組み合わせを実行する専用ハードウェアベースシステムによって実装できることにも留意されたい。
【0073】
主題は、コンピュータおよび/または複数のコンピュータ上で実行するコンピュータプログラム製品のコンピュータ実行可能命令の一般的文脈において上で説明されたが、当業者であれば、本開示は他のプログラムモジュールと組み合わせて実装されることもできることを認識し得る。概して、プログラムモジュールは、特定のタスクを実行する、および/または特定の抽象データタイプを実装する、ルーチン、プログラム、コンポーネント、データ構造などを含む。さらに、当業者であれば、本発明のコンピュータ実装方法は、シングルプロセッサまたはマルチプロセッサコンピュータシステム、ミニコンピューティングデバイス、メインフレームコンピュータ、コンピュータ、ハンドヘルドコンピューティングデバイス(例えばPDA(登録商標)、電話)、マイクロプロセッサベースまたはプログラマブルコンシューマ用または産業用電子機器などを含む他のコンピュータシステム構成で実施され得ることを認識するであろう。示される態様は、通信ネットワークを介して連結されるリモート処理デバイスによってタスクが実行される分散型コンピューティング環境においても実施され得る。しかしながら、本開示の全てではないがいくつかの態様は、スタンドアロンのコンピュータで実施され得る。分散型コンピューティング環境において、プログラムモジュールは、ローカルおよびリモート両方のメモリストレージデバイスに位置し得る。例えば、1つまたは複数の実施形態では、コンピュータ実行可能コンポーネントは、1つまたは複数の分散メモリユニットを含み得る、または、それらから構成され得るメモリから実行され得る。本明細書において使用される場合、「メモリ」および「メモリユニット」という用語は交換可能である。さらに、本明細書に説明される1つまたは複数の実施形態は、分散方式(例えば、1つまたは複数の分散メモリユニットからのコードを実行するために協働的に組み合わせる、または動作する複数のプロセッサ)でコンピュータ実行可能コンポーネントのコードを実行し得る。本明細書において使用される場合、「メモリ」という用語は、1つの位置のシングルメモリまたはメモリユニット、または、1つまたは複数の位置における複数のメモリまたはメモリユニットを包含し得る。
【0074】
本願において使用される場合、「コンポーネント」、「システム」、「プラットフォーム」、「インタフェース」などの用語は、コンピュータ関連エンティティ、または、1つまたは複数の固有の機能性を有する動作機械に関連するエンティティを指し得る、および/または、含み得る。本明細書に開示されるエンティティは、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかであり得る。例えば、コンポーネントは、プロセッサ上で実行するプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されるものではない。例として、サーバ上で実行されているアプリケーションとサーバの両方が、構成要素であってよい。1つまたは複数のコンポーネントは、実行のプロセスおよび/またはスレッドの中に存在してよく、コンポーネントは、1つのコンピュータに局在する、および/または2つまたはそれより多くのコンピュータの間で分散されてよい。別の例において、それぞれのコンポーネントは、様々なデータ構造が格納された様々なコンピュータ可読媒体から実行し得る。コンポーネントは、1つまたは複数のデータパケット(例えば、ローカルシステム、分散システム、および/または、信号を介する他のシステムとのインターネットなどのネットワークにおける別のコンポーネントと相互作用する1つのコンポーネントからのデータ)を有する信号などに従って、ローカルおよび/またはリモートのプロセスを介して通信し得る。別の例として、コンポーネントは、プロセッサによって実行されるソフトウェアまたはファームウェアアプリケーションによって動作する、電気または電子回路によって動作する機械部品によって提供される固有の機能性を有する機器であり得る。そのような場合において、プロセッサは、機器の内部または外部にあり得、ソフトウェアまたはファームウェアアプリケーションの少なくとも一部を実行し得る。さらに別の例として、コンポーネントは、機械部品を用いず電子コンポーネントを通じて固有の機能性を提供する機器であり得、当該電子コンポーネントは、電子コンポーネントの機能性を少なくとも部分的に提供するソフトウェアまたはファームウェアを実行するためのプロセッサまたは他の手段を含み得る。ある態様において、コンポーネントは、例えばクラウドコンピューティングシステム内の仮想マシンを介して電子コンポーネントをエミュレートし得る。
【0075】
加えて、「または」という用語は、排他的な「または」ではなく、包括的な「または」を意味することが意図されている。すなわち、別様に指定されない限り、または、文脈から明らかでない限り、「XがAまたはBを利用する」は、自然の包括的な入れ替えのいずれかを意味することが意図される。すなわち、XはAを利用する、XはBを利用する、または、XはAおよびBの両方を利用する場合、「XはAまたはBを利用する」が前述の例のいずれかのもとで満たされる。さらに、本明細書および添付の図面に使用される冠詞「a」および「an」は一般に、単数形を対象としていることが別様に指定されない限り、または文脈からそれが明らかではない限り、「1つまたは複数」を意味すると解釈されるべきである。本明細書において使用される場合、用語「例」および/または「例示的」は、例、インスタンス、または例示として機能することを意味するために利用される。疑義を回避するために、本明細書に開示される主題は、そのような例に限定されるものではない。加えて、「例」および/または「例示的」として本明細書において記載される任意の態様または設計は、他の態様または設計より好ましい、または有利であると必ずしも解釈されるわけではなく、当業者に知られている同等の例示的な構造および技法を除外する意図もない。
【0076】
本明細書において利用される「プロセッサ」という用語は、これらに限定されるものではないが、シングルコアプロセッサ、ソフトウェアマルチスレッド実行能力を有するシングルプロセッサ、マルチコアプロセッサ、ソフトウェアマルチスレッド実行能力を有するマルチコアプロセッサ、ハードウェアマルチスレッド技術を有するマルチコアプロセッサ、並列プラットフォーム、および、分散共有メモリを有する並列プラットフォームを含む実質的に任意のコンピューティング処理ユニットまたはデバイスを指し得る。追加的に、プロセッサとは、集積回路、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックコントローラ(PLC)、コンプレックスプログラマブルロジックデバイス(CPLD)、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、または、本明細書において記載される機能を実行するために設計されたそれらの任意の組み合わせを指し得る。さらに、プロセッサは、空間利用を最適化し、または、ユーザ機器のパフォーマンスを強化するべく、これらに限定されるものではないが、分子および量子ドットベースのトランジスタ、スイッチ、およびゲートなどのナノスケールアーキテクチャを利用し得る。プロセッサはまた、コンピューティング処理ユニットの組み合わせとして実装され得る。本開示において、「格納」、「ストレージ」、「データストア」、「データストレージ」、「データベース」およびコンポーネントのオペレーションおよび機能性に関連する実質的に任意の他の情報ストレージコンポーネントなどの用語は、「メモリ」またはメモリを含むコンポーネントにおいて具現化される「メモリコンポーネント」エンティティを指すために利用される。本明細書において記載されるメモリおよび/またはメモリコンポーネントは、揮発性メモリまたは不揮発性メモリのいずれかであり得るか、または、揮発性および不揮発性メモリの両方を含み得ることが認識されるべきである。限定ではなく例示として、不揮発性メモリは、リードオンリメモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気消去可能ROM(EEPROM)、フラッシュメモリ、または、不揮発性ランダムアクセスメモリ(RAM)(例えば、強誘電体RAM(FeRAM))を含み得る。揮発性メモリは、例えば外部キャッシュメモリとして動作し得るRAMを含み得る。限定ではなく例示として、RAMは、同期RAM(SRAM)、動的RAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、拡張SDRAM(ESDRAM)、Synchlink DRAM(SLDRAM)、ダイレクトRambus RAM(DRRAM)、ダイレクトRambus動的RAM(DRDRAM)および、Rambus動的RAM(RDRAM)など多くの形式で利用可能である。追加的に、本明細書におけるシステムまたはコンピュータ実装方法の開示されるメモリコンポーネントは、これらおよび任意の他の好適なタイプのメモリを含むことが意図されるが、これらに限定されない。
【0077】
上述のものは、システムおよびコンピュータ実装方法の例を含むに過ぎない。当然、本開示を説明する目的で、コンポーネントまたはコンピュータ実装方法の想定されるあらゆる組み合わせを説明することは不可能であるが、当業者であれば、本開示の多くのさらなる組み合わせおよび入れ替えが可能であることを認識し得る。さらに、「含む」、「有する」、「備える」などの用語が詳細な説明、特許請求の範囲、添付書類、および図面において使用される限り、そのような用語は、「備える」という用語が請求項において移行句として利用される場合に解釈されるのと同様の方式で包括的であることが意図される。
【0078】
様々な実施形態の説明は、例示の目的で提示され、包括的である、または、開示される実施形態に限定される意図はない。記載されている実施形態の範囲および主旨から逸脱することのない多くの修正および変形が、当業者には明らかであろう。本明細書において使用される専門用語は、実施形態の原理、市場で見られる技術の実用的な適用またはそれに対する技術的改善を最適に説明し、あるいは、本明細書において開示される実施形態を他の当業者が理解することを可能にするように選択された。
【手続補正書】
【提出日】2023-05-12
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
メモリに格納された以下のコンピュータ実行可能コンポーネントを実行するプロセッサ:
有向グラフの生成の後に生じる量子システムの較正によって変更される前記有向グラフのパラメータを識別する較正コンポーネント;および
識別された前記パラメータに基づいて前記有向グラフを修正して更新された有向グラフを生成する再生コンポーネント
を備える、システム。
【請求項2】
前記パラメータが:パルス位相;パルス持続時間;パルス周波数;パルス振幅;ゲート定義;またはそれらの組み合わせを含む、請求項1に記載のシステム。
【請求項3】
前記較正コンポーネントが、前記有向グラフを含む複数の指定のパルスに関連付けられたメタデータを使用して前記パラメータを識別する
、請求
項1または2に記載のシステム。
【請求項4】
前記再生コンポーネントが、パルスのパルス周波数を改変することによって前記有向グラフを修正する
、請求
項1から3のいずれか一項に記載のシステム。
【請求項5】
前記再生コンポーネントが、前記パルスのリストトラバーサルまたはハッシュテーブルを使用して前記パルス周波数を改変する、請求項4に記載のシステム。
【請求項6】
前記再生コンポーネントが、プレースホルダーパルスを挿入または除去することによって前記有向グラフを修正して、前記更新された有向グラフ内の同期を維持する
、請求
項1から5のいずれか一項に記載のシステム。
【請求項7】
前記再生コンポーネントが、パルスのパルス振幅を改変することによって前記有向グラフを修正する
、請求
項1から6のいずれか一項に記載のシステム。
【請求項8】
較正データを監視して有向グラフを無効にする変更を検出する追跡コンポーネント
をさらに備える
、請求
項1から7のいずれか一項に記載のシステム。
【請求項9】
前記較正コンポーネントが、前記有向グラフを含む前記量子システムのジョブキューを中断させる
、請求
項1から8のいずれか一項に記載のシステム。
【請求項10】
システムによって、有向グラフの生成の後に生じる量子システムの較正によって変更される前記有向グラフのパラメータを識別する段階;および
前記システムによって、識別された前記パラメータに基づいて前記有向グラフを修正して、更新された有向グラフを生成する段階
を備える、コンピュータ実装方法。
【請求項11】
前記パラメータが:パルス位相;パルス持続時間;パルス周波数;パルス振幅;ゲート定義;またはそれらの組み合わせを含む、請求項10に記載のコンピュータ実装方法。
【請求項12】
前記システムが、前記有向グラフを含む複数の指定のパルスに関連付けられたメタデータを使用して前記パラメータを識別する、請求項10から11のいずれか一項に記載のコンピュータ実装方法。
【請求項13】
前記システムが、パルスのパルス周波数を改変することによって前記有向グラフを修正する、請求項10から12のいずれか一項に記載のコンピュータ実装方法。
【請求項14】
前記システムが、前記パルスのリストトラバーサルまたはハッシュテーブルを使用して前記パルス周波数を改変する、請求項13に記載のコンピュータ実装方法。
【請求項15】
前記システムが、プレースホルダーパルスを挿入または除去することによって前記有向グラフを修正して、前記更新された有向グラフ内の同期を維持する、請求項10から14のいずれか一項に記載のコンピュータ実装方法。
【請求項16】
前記システムが、パルスのパルス振幅を改変することによって前記有向グラフを修正する、請求項10から15のいずれか一項に記載のコンピュータ実装方法。
【請求項17】
前記システムによって、較正データを監視して、有向グラフを無効にする変更を検出する段階
をさらに備える、請求項10から16のいずれか一項に記載のコンピュータ実装方法。
【請求項18】
前記システムによって、前記有向グラフを含む前記量子システムのジョブキューを中断させる段階
をさらに備える、請求項10から17のいずれか一項に記載のコンピュータ実装方法。
【請求項19】
プロセッサに:
有向グラフの生成の後に生じる量子システムの較正によって変更される前記有向グラフのパラメータを識別する手順;および
識別された前記パラメータに基づいて前記有向グラフを修正して、更新された有向グラフを生成する手順
を実行させるためのコンピュータプログラ
ム。
【請求項20】
前記パラメータが:パルス位相;パルス持続時間;パルス周波数;パルス振幅;ゲート定義;またはそれらの組み合わせを含む、請求項19に記載のコンピュータプログラ
ム。
【請求項21】
システムによって、有向グラフの生成の後に生じる量子システムの較正によって変更される前記有向グラフの複数のパラメータを識別する段階;および
前記システムによって、識別された前記複数のパラメータに基づいて前記有向グラフをワンパスで修正して、更新された有向グラフを生成する段階
を備える、コンピュータ実装方法。
【請求項22】
前記有向グラフのサブセットが前記更新された有向グラフにおいて不変のままである、請求項21に記載のコンピュータ実装方法。
【請求項23】
システムによって、有向グラフの生成の後に前記有向グラフを無効にする量子システムの較正を検出する段階;
前記システムによって、前記量子システムの前記較正によって変更された有向グラフのパラメータを識別する段階;および
前記システムによって、識別された前記パラメータに基づいて前記有向グラフを修正して、更新された有向グラフを生成する段階
を備える、コンピュータ実装方法。
【請求項24】
前記システムが、前記有向グラフを含む複数の指定のパルスに関連付けられたメタデータを使用して前記パラメータを識別する、請求項23に記載のコンピュータ実装方法。
【請求項25】
前記システムによってモデルを使用して、前記有向グラフを修正する前に、識別された前記パラメータに基づいて前記有向グラフの修正に関連付けられる計算コストを評価する段階;および
前記有向グラフの修正に関連付けられる前記計算コストがリビルドに関連付けられる計算コストを超えることを示す評価に応答して、前記システムによって、前記有向グラフの前記リビルドを行って、新たな有向グラフを生成する段階
をさらに備える、請求項23から24のいずれか一項に記載のコンピュータ実装方法。
【国際調査報告】