JP7048930B2 - 回路再書込みによる量子回路のデバッギングのためのシステム、コンピュータ実装される方法、およびコンピュータ・プログラム - Google Patents

回路再書込みによる量子回路のデバッギングのためのシステム、コンピュータ実装される方法、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP7048930B2
JP7048930B2 JP2020517092A JP2020517092A JP7048930B2 JP 7048930 B2 JP7048930 B2 JP 7048930B2 JP 2020517092 A JP2020517092 A JP 2020517092A JP 2020517092 A JP2020517092 A JP 2020517092A JP 7048930 B2 JP7048930 B2 JP 7048930B2
Authority
JP
Japan
Prior art keywords
circuit
computer
quantum
instrumented
quantum circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020517092A
Other languages
English (en)
Other versions
JP2020535519A (ja
Inventor
クロス、アンドリュー
ガンベッタ、ジェイ
ビショップ、レフ、サミュエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2020535519A publication Critical patent/JP2020535519A/ja
Application granted granted Critical
Publication of JP7048930B2 publication Critical patent/JP7048930B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Description

本開示は、量子計算に関し、より詳細には、量子回路のデバッギングに関する。
内部状態の測定は、実行結果を変え、不可逆的プロセスであるので、コード実行を介するシングルステップの間の従来の計算機械の内部状態の観測などの標準デバッギング方法は、量子コンピュータでは不可能である。
量子回路デバッギングの自動化を円滑にすることが求められる。
本発明の1つまたは複数の実施形態の基本理解をもたらすために、以下に概要を提示する。本概要は、極めて重要なまたは決定的な要素を識別すること、あるいは特定の実施形態の範囲または本特許請求の範囲を線引きすることを意図されていない。その唯一の目的は、後で提示されるさらに詳しい説明に対する前置きとして、簡略化された形で概念を示すことである。本明細書に記載の1つまたは複数の実施形態において、量子回路デバッギングの自動化を円滑にするデバイス、システム、コンピュータ実装される方法、装置またはコンピュータ・プログラム製品あるいはその組合せが説明される。
一実施形態によれば、システムは、ソース回路に対応するソフトウェア・コードに関連付けられたインストルメンテーション命令情報(instrumentation instruction information)に基づいてインストルメント化された回路(instrumented circuit)内に量子コンピュータのソース回路を再書込みする回路再書込み構成要素を備えることができる。実行構成要素は、インストルメント化された回路を実行して測定データを生み出すことができる。回路再書込み構成要素は、回路再書込みルールを適用して、インストルメンテーション命令情報に由来するデッド・コードを取り除くことができる。一態様では、システムによって生み出された測定データは、デバッグまたは改良あるいはその両方が行われた量子回路をもたらすことができる。
もう1つの実施形態によれば、コンピュータ実装される方法が提供される。このコンピュータ実装される方法は、ソース量子回路は量子コンピュータと関連付けられているソース量子回路をインストルメント化するインストルメンテーション命令情報に基づいて、インストルメント化された回路内にソース量子回路を、プロセッサに動作可能なように結合されたシステムによって、自動的に再書込みすることを含むことができる。さらに、このコンピュータ実装される方法は、インストルメント化された回路を、デバイスによって、実行してソース回路内の異なる位置に対応する測定データを取得することと、測定データをデバイスによって出力することとを含むことができる。一態様では、コンピュータ実装される方法によって生み出された測定データは、デバッグまたは改良あるいはその両方が行われた量子回路をもたらすことができる。
さらにもう1つの実施形態によれば、量子回路デバッギングを円滑にするコンピュータ・プログラム製品は、プログラム命令が具現化されたコンピュータ可読記憶媒体を備えることができる。プログラム命令は、プロセッサによって実行可能になり得、ソース量子回路に対応するソフトウェア・コードに挿入されたインストルメンテーション命令情報に基づいてソース量子回路をインストルメント化された回路に自動的に再書込みすること、インストルメント化された回路を実行してソース量子回路内のキュビットの異なる状態データに対応する測定データを取得すること、および測定データを処理してソース量子回路に関連する量子コンピュータの1つまたは複数の内部状態またはプロセスに対応する生成された情報を出力することをプロセッサに行わせることができる。一態様では、コンピュータ・プログラム製品によって生み出された生成された情報は、デバッグまたは改良あるいはその両方が行われた量子回路をもたらすことができる。
もう1つの実施形態では、コンピュータ実装される方法は、ソース量子回路に対応するソフトウェア・コードに挿入されたインストルメンテーション命令情報に基づいてソース量子回路をインストルメント化された回路内に再書込みすることと、インストルメント化された回路を実行してソース量子回路内のキュビットの異なる状態データに対応する測定データを取得することと、測定データを処理してソース量子回路に関連する量子コンピュータの1つまたは複数の内部状態またはプロセスに対応する生成された情報を出力することとを含むことができる。測定データを処理することは、状態トモグラフィおよび再構成を実行すること、またはプロセス・トモグラフィおよび再構成を実行することを含むことができる。一態様では、コンピュータ実装される方法によって生み出された生成された情報は、デバッグまたは改良あるいはその両方が行われた量子回路をもたらすことができる。
さらにもう1つの実施形態では、システムは、ソース量子回路に対応するソフトウェア・コードに挿入されたインストルメンテーション命令情報に基づいてソース量子回路をインストルメント化された回路内に再書込みする回路再書込み構成要素を備え得る。実行構成要素は、インストルメント化された回路を実行してソース量子回路内のキュビットの異なる状態データに対応する測定データを取得することができる。統計的推定構成要素は、測定データを処理してソース量子回路に関連する量子コンピュータの1つまたは複数の内部状態またはプロセスに対応する生成された情報を出力することができる。一態様では、システムによって生み出された生成された情報は、デバッグまたは改良あるいはその両方が行われた量子回路をもたらすことができる。
本明細書に記載の1つまたは複数の実施形態による量子デバッガ構成要素を含む例示的な、非限定的システムのブロック図である。 本明細書に記載の1つまたは複数の実施形態による量子デバッガ構成要素を含む例示的な、非限定的システムのブロック図である。 本明細書に記載の1つまたは複数の実施形態による量子デバッガ構成要素を含む例示的な、非限定的システムのブロック図である。 本明細書に記載の1つまたは複数の実施形態によるインストルメント化された回路インスタンス内に再書込みされたブレークポイントを有する入力回路を含むもう1つの例示的な、非限定的システムのブロック図である。 本明細書に記載の1つまたは複数の実施形態による、インストルメンテーションの影響を回路を通して後方へ伝搬すること(たとえば、ブレークポイントに対して)によってその状態がインストルメンテーションに因果的につながれ得るキュビットを判定する手法を使用するインストルメント化された回路を再書込みする例示的な、非限定的システムのブロック図である。 本明細書に記載の1つまたは複数の実施形態による、インストルメンテーションの影響を回路を通して後方へ伝搬すること(たとえば、ブレークポイントに対して)によってその状態がインストルメンテーションに因果的につながれ得るキュビットを判定する手法を使用するインストルメント化された回路を再書込みする例示的な、非限定的システムのブロック図である。 本明細書に記載の1つまたは複数の実施形態による、インストルメンテーションの影響を回路を通して前方へ伝搬すること(たとえば、ブレークポイントに対して)によってその状態がインストルメンテーションに因果的につながれ得るキュビットを判定する手法を使用するインストルメント化された回路を再書込みする例示的な、非限定的システムのブロック図である。 本明細書に記載の1つまたは複数の実施形態による、インストルメンテーションの影響を回路を通して前方へ伝搬すること(たとえば、ブレークポイントに対して)によってその状態がインストルメンテーションに因果的につながれ得るキュビットを判定する手法を使用するインストルメント化された回路を再書込みする例示的な、非限定的システムのブロック図である。 本明細書に記載の1つまたは複数の実施形態によるデバッギング(図10)を円滑にするインストルメント化された回路(図9)内への注釈付き量子回路の再書込みを円滑にする例示的な、非限定的コンピュータ実装される方法の流れ図である。 本明細書に記載の1つまたは複数の実施形態によるデバッギング(図10)を円滑にするインストルメント化された回路(図9)内への注釈付き量子回路の再書込みを円滑にする例示的な、非限定的コンピュータ実装される方法の流れ図である。 本明細書に記載の1つまたは複数の実施形態による、インストルメント化された回路内に注釈付き量子回路を再書込みすること、インストルメント化された回路を実行して出力を提供すること、および出力を処理することを円滑に進める例示的な、非限定的コンピュータ実装される方法の流れ図である。 本明細書に記載の1つまたは複数の実施形態を円滑に進めることができる例示的な、非限定的動作環境のブロック図である。
以下の詳細な説明は、単に例示であり、実施形態もしくは適用例またはその両方あるいは実施形態の利用法を制限することを意図されていない。さらに、前述の背景技術または発明の概要のセクションにおいて、あるいは発明を実施するための形態のセクションにおいて示される明示的または黙示的情報のいずれによる制約も意図されていない。
1つまたは複数の実施形態について、図面を参照してここで説明する。図面を通して、類似の参照番号は類似の要素を参照するために使用される。以下の記述では、説明を目的として、1つまたは複数の実施形態のより十分な理解をもたらすために、多くの具体的詳細が記載される。しかしながら、様々なケースで、1つまたは複数の実施形態がこれらの具体的詳細なしに実施され得ることは明らかである。
量子計算は、トランジスタに基づく2値デジタル技法と対照に、情報をエンコードするために量子物理学を使用する。たとえば、量子コンピュータは、量子情報の基本単位である量子ビット(たとえば、キュビット)を使用することができる。キュビットは、量子物理学の重ね合わせ原理(superposition principle of quantum physics)および量子物理学のエンタングルメント原理(entanglement principle)に従って動作する。量子物理学の重ね合わせ原理は、各キュビットが同時に「1」の値および「0」の値の両方を表すことができると述べる。量子物理学のエンタングルメント原理は、重ね合わせ内のキュビットは互いに相関し得ると述べる。たとえば、第1の値(たとえば、「1」の値または「0」の値)の状態は、第2の値の状態に依存し得る。そのようなものとして、量子コンピュータは、キュビットを使用して情報をエンコードすることができる。
量子計算の知られているプロパティは、量子計算回路内のキュビットまたはキュビットのサブセットの状態を測定することは、測定されない場合の結果に対して、回路の結果を変更するということである。結果として、キュビットの測定は、一般に、不可逆的プロセスであり、それにより標準デバッギング技法の方法(命令の実行を通してシングルステップしつつ計算機械の内部状態を観測することなど)は、量子コンピュータでは不可能である。
図1~3は、本明細書に記載の1つまたは複数の実施形態による量子デバッガ構成要素を含む例示的な、非限定的システムのブロック図を示す。本明細書に記載の他の実施形態において使用される類似の要素の繰り返しの説明は、簡潔にするために、省略される。
図1~3は、量子回路のデバッギングを円滑にするデバッガ構成要素102などを含む、例示的な、非限定的システム100のブロック図を示す。ソース量子回路(たとえば、デバッグされることになる)に対応する量子回路コード104は、デバッガ構成要素102への入力として取得することができる。ユーザ・インターフェース106(または自動化されたプロセス)は、たとえば、たとえばコード/回路におけるそのポイントにおけるキュビットの状態またはキュビットのセットの測定を円滑にするために、適切な位置において少なくとも1つのブレークポイントを挿入することによって、または命令集合の周りの開始および終了ブレークポイントの少なくとも1つのペアを挿入することによって、あるいはその両方によって、インストルメント化された量子回路コード(instrumented quantum circuit code)108内に量子回路コード104を修正するために使用することができる。理解されるように、いくつかの実施形態において、インストルメント化された量子回路コード108がデバッガ構成要素102への入力としてより直接に提供され得るように、ユーザ・インターフェース106(または任意の自動化された動作機構あるいはその両方)は、デバッガ構成要素102の外部でもよい。
図1にさらに表されるように、回路再書込み構成要素110は、複数のインストルメント化された量子回路(112(1)~112(n))内にソース回路を再書込みすることができ(インストルメント化された量子回路コード108および回路再書込みルール111に基づく)、インストルメント化された量子回路は、インストルメント化された量子回路を介して異なる場所において測定値を取得するように、様々なインスタンスである。一般に、本明細書に記載のように、回路再書込みは、インストルメンテーション命令を挿入し、インストルメンテーションに由来するデッド・コードを取り除くことができる。
システム100は、抽象的ではないおよび人間による精神的活動のセットとして実行することができない、量子回路のデバッギングを含む、本質的に高度に技術的な問題を解決するためにハードウェアまたはソフトウェアあるいはその両方を使用することができる。さらに、ある種の実施形態では、実行されるプロセスのうちのいくつかは、機械学習に関連する定義されたタスクを実行するための1つまたは複数の専用のコンピュータ(たとえば、1つまたは複数の専用の処理装置、トモグラフィおよび再構成などの専用のコンピュータ、統計的推定など)によって実行することができる。システム100またはシステム100の構成要素あるいはその両方は、前述の技術、コンピュータ・アーキテクチャなど、あるいはその組合せにおける進歩を通して生じる新しい問題を解決するために使用することができる。システム100の1つまたは複数の実施形態は、量子回路システム、量子プロセッサ・システム、量子計算システム、人工知能システム、または他のシステムあるいはその組合せに技術的改良をもたらすことができる。システム100の1つまたは複数の実施形態はまた、量子プロセッサの処理性能の改善、量子プロセッサの処理効率の改善、量子プロセッサの処理特性の改善、量子プロセッサのタイミング特性の改善または量子プロセッサの電力効率の改善あるいはその組合せによって量子プロセッサ(たとえば、超電導量子プロセッサ)に技術的改良をもたらすことができる。
図2は、デバッガ構成要素102に組み込むことができるシステム100の別の構成要素、すなわち回路実行構成要素114、を表す。回路実行構成要素114は、インストルメント化された量子回路112(1)~112(n)を実行して個々の実行動作に対応する測定データ116(1)~116(n)を取得することができる。たとえば、実行構成要素は、1つまたは複数のキュビットをゲートまたはインストルメント化された回路あるいはその両方に入力し、指定された測定点において結果を測定し、次いで、次のインストルメント化された回路などで処理を繰り返すことができる。測定データは、ソース回路に関する状態情報を推論するために、結合させることができる。
図3に表されるように、測定データ116(1)~116(n)は、ソース回路内の様々な場所において量子コンピュータの推論されたデータ(inferred data)120(たとえば、推論された内部状態/推論されたプロセス)を出力するために、統計的推定構成要素118によって処理することができる。たとえば、統計的推定構成要素118は、測定データ、またはよく知られているプロセス・トモグラフィおよび再構成動作あるいはその両方で、よく知られている状態トモグラフィおよび再構成動作を実行することができる。補助的クラシック計算システム(たとえば、大きなクラスタまたは特殊用途機械)は、結果として生じる測定データ116(1)~116(n)の処理専用でもよい。推論されたデータ120は、図1のユーザ・インターフェース106の一部でもよい、ユーザ・インターフェース・インスタンス122で適切な形式で出力され得る。このようにして、キュビット状態またはキュビットの相関関係からの状態が、全体の実行結果を変えることなく、実際に測定することができるかのように、量子回路コード104(量子ソース回路に対応する)に関する情報が取得され得る。
さらに一般的には、本明細書に記載の1つまたは複数の実施形態において、量子コンピュータの内部状態またはプロセスあるいはその両方を推論する任意の統計的推定手続きが、注釈付き入力回路のインストルメンテーション回路の作成(図1の回路再書込みルール111を使用する)、インストルメンテーション回路の実行、および、入力回路内の異なる場所におけるキュビット状態およびデータに関して生じているものを推定するための、たとえば、よく知られている統計的分析技法を使用する、測定結果のアンサンブルの後処理によって、実装され得る。測定データ116(4)とユーザ・インターフェース122との間に図3に示された破線矢印を介して示されるように、統計的推定は単にオプションであり、測定データの表現はユーザ・インターフェース122を介して直接提示され得ることにさらに留意されたい。たとえば、回路への所与の入力に基づくある特定の状態にその回路によって転換されることが予期されるキュビット状態は、キュビットがその時点で実際に予期された状態にあるかどうかを確かめるために、直接評価され得る。
本明細書に記載されるのは、注釈付き/インストルメント化されたソース量子回路/コード108から導出される、インストルメント化された回路112を備える、量子回路のアンサンブルを実行することによってデバッギング(デバッギング構成要素102を介する)および関連する動作行動をシミュレーションするためにシステム100において具現化される技術である。インストルメント化された回路は、インストルメンテーション命令を挿入するために回路再書込みルール111を適用することによって生み出され得ることが理解されよう。ルール111はまた、インストルメンテーションに由来するデッド・コードを取り除くことができる。
本明細書に記載の実施形態は、回路再書込み構成要素110を介して示されるように、量子回路を自動的に再書込みすることによって、量子回路のデバッギングを円滑にするシステム、コンピュータ実装される方法、およびコンピュータ・プログラム製品を含む。量子プログラムを介するシングルステップに関する一態様では、インストルメント化されたソフトウェア・コードにおいて、ブレークポイント(たとえば、図4)は、ソース量子回路に対応するソフトウェア・コード内の量子回路命令のペアの間に挿入される。ソース回路およびインストルメント化された回路は、たとえば量子アセンブリ言語(QASM:Quantum Assembly Language)ソフトウェア・コードによって具現化される適切な回路表現を使用し、指定することができる。ブレークポイントは、ハードウェアまたはシミュレータあるいは他の数学モデルにおいてインスタンス化され得るシステムのキュビットの(部分的)パーティションを含む。
任意の適切な形の状態トモグラフィおよび再構成(統計的推定構成要素118として表される)を使用して、ソース量子回路内の異なる場所におけるキュビットに対応する状態が、推定され得る。これは、ブレークポイントの前および後の分岐回路/動作の適切な修正と、トモグラフィ方法を円滑に進める前動作および後動作によるこれらの動作の置換とを含むことができる。
もう1つの態様において、前述の概念は、それらの命令が適用される量子プロセスを推定するために命令集合(対象の量子コード・セグメント)に適用することができる。開始および終了ブレークポイントは、対象となる量子コード・セグメントの周囲に挿入される。キュビットの(部分的)パーティションが与えられる。
任意の形のプロセス・トモグラフィおよび再構成(統計的推定構成要素118として表される)を使用し、パーティションの各サブセットに対応するプロセスが、推定される。これは、ブレークポイントの前および後の分岐回路/動作の適切な修正と、トモグラフィ方法を円滑に進める前動作および後動作によるこれらの動作の置換とを含むことができる。
したがって、単一のブレークポイントを介してあるいは命令集合の周りを囲む開始および終了ブレークポイントを介してのどちらでも、ゲートの組合せを介して回路を変更することおよびそれらを再実行することによって、システム(すなわち、一部のまたはすべての観測可能なシステム状態)の低減された密度行列が、たとえば任意の適切な形の状態またはプロセス・トモグラフィおよび再構成を使用し、パーティション内のキュビットの各サブセットについて推定され得る。回路は、各推定を可能にするために再書込みするルールに従って再書込みされる。たとえば、回路を通してインストルメンテーションの影響を前方に伝搬することによって、その状態がインストルメンテーションに因果的につながれ得るキュビットが、パーティション内の将来の動作を取り除くように決定され得、適切な後回転および測定によって置換され得る。
図1~3に示す実施形態において、システム100は、デバッガ構成要素102を含み得る。図1に示すように、デバッガ構成要素102は、回路再書込み構成要素110を含み得る。デバッガ構成要素102の態様は、たとえば1つまたは複数の機械に関連する1つまたは複数のコンピュータ可読媒体において具現化された、機械内に具現化された機械実行可能構成要素を構成することができる。そのような構成要素は、1つまたは複数の機械、たとえば、コンピュータ、計算デバイス、仮想機械など、によって実行されるとき、記述された動作を機械に実行させることができる。一態様では、デバッガ構成要素102はまた、コンピュータ実行可能構成要素および命令を記憶するメモリを含むことができる。さらに、デバッガ構成要素102は、デバッガ構成要素102によって命令(たとえば、コンピュータ実行可能構成要素および対応する命令)の実行を円滑に進めるために、プロセッサを含むことができる。図示するように、デバッガ102の様々な構成要素は、1つまたは複数の実施形態において互いに電気的にまたは通信可能なようにあるいはその両方で結合され得る。
デバッガ構成要素102は、量子回路データ104、108を受信することができる。量子回路データ104、108は、たとえば、量子回路の機械可読記述になり得る。量子回路は、一連の量子ゲートに関連する1つまたは複数の量子計算のモデルになり得る。1つの例では、量子回路データは、量子回路を記述するテキスト形式言語(たとえば、QASMテキスト形式言語)を示すテキスト・データを含むことができる。たとえば、テキスト・データは、たとえば、1つまたは複数のキュビットに関連する量子回路の1つまたは複数のキュビットゲートをテキストで記述することができる。一実施形態で、量子回路データは、量子回路に関連する1つまたは複数の位置を識別する1つまたは複数の要素の情報を示すマーカー・データを追加で含むことができる。たとえば、要素が、1つまたは複数のキュビットに関連する量子回路の1つまたは複数のキュビットゲートの測定位置にタグを付けるためにコードに追加され得る。
ある種の実施形態では、デバッガ構成要素102は、人工知能の原理に関連する分類、相関関係、推論または表現あるいはその組合せに基づいて、インストルメント化された量子回路コード108またはインストルメント化された量子回路112を生成することができる。たとえば、学習された前のユーザ行動に基づいて、1つまたは複数のブレークポイントは、デバッグされることになる回路に対応するコードに自動的に挿入される(または挿入を提案される)ことが可能である。さらに、デバッガ構成要素102は、自動的分類システムまたは自動的分類プロセスあるいはその両方を使用して、再書込みされたインストルメント化された量子回路112を決定することができる。1つの例では、デバッガ構成要素102は、確率論に基づくまたは統計に基づくあるいはその両方に基づく分析(たとえば、分析ユーティリティおよびコストに組み込むこと)を使用して、たとえばトモグラフィおよび再構成を使用する、インストルメント化された量子回路のセットに関する推論を学習するまたは生成するあるいはその両方を行うことができる。一態様では、回路再書込み構成要素110は、推論に基づく方式を部分的に使用して学習を円滑にするまたはインストルメント化された量子回路112のセットに関連する推論を生成するあるいはその両方を行うデバッガ構成要素102の自動化された態様をさらに強化することができる推論構成要素(図示せず)を含むことができる。たとえば、デバッガは、保存された測定データまたは推論データあるいはその両方で、ソース回路のいくらかの部分が以前にデバッグされたことを認識し、その保存されたデータを呼び出して合計デバッギング時間を減らすことができる。
回路再書込み構成要素110は、任意の適切な機械学習に基づく技法、統計に基づく技法または確率論に基づく技法あるいはその組合せを使用することができる。たとえば、回路再書込み構成要素110は、エキスパート・システム、ファジー論理、SVM、隠れマルコフモデル(HMM:Hidden Markov Model)、欲張り探索アルゴリズム、ルールに基づくシステム、ベイジアン・モデル(たとえば、ベイジアン・ネットワーク)、ニューラル・ネットワーク、他の非線形訓練技法、データ融合、ユーティリティに基づく分析システム、ベイジアン・モデルを使用するシステムなどを使用することができる。もう1つの態様において、デバッガ構成要素102は、クラスタリング機械学習計算、1セットのロジスティック回帰機械学習計算、1セットの決定木機械学習計算、1セットのランダム・フォレスト機械学習計算、1セットの回帰木機械学習計算、1セットの最小二乗機械学習計算(least square machine learning computations)、1セットのインスタンスに基づく機械学習計算、1セットの回帰機械学習計算、1セットのサポート・ベクトル回帰機械学習計算、1セットのk平均法機械学習計算、1セットのスペクトル・クラスタリング機械学習計算、1セットのルール学習機械学習計算、1セットのベイジアン機械学習計算、1セットのディープ・ボルツマン機械計算、1セットのディープ・ビリーフ・ネットワーク計算(deep belief network computations)、または1セットの異なる機械学習計算あるいはその組合せなど、インストルメント化された量子回路112の生成に関連する1セットの機械学習計算を実行することができる。
デバッガ構成要素102(たとえば、回路再書込み構成要素110または回路実行構成要素114あるいはその両方)は1人の人間によって実行することはできない(たとえば、1人の人間の精神の能力より大きい)回路生成プロセスまたは実行プロセスあるいはその両方を実行することができることを理解されたい。たとえば、ある特定の期間にわたってデバッガ構成要素102(たとえば、回路再書込み構成要素110または回路実行構成要素114あるいはその両方)によって処理されるデータの量、処理されるデータの速度または処理されるデータのデータ・タイプあるいはその組合せは、同じ期間にわたって単一の人間の精神によって処理することができる量、速度およびデータ・タイプより大きい、速い、および異なることが可能である。一般に、量子回路処理は、単一の人間の精神には複雑すぎて、可能な状態および組合せの数は、膨大になり得る。量子デバッガ構成要素102(たとえば、回路再書込み構成要素110または回路実行構成要素114あるいはその両方)はまた、前述のプロセスもまた実行しつつ1つまたは複数の他の機能の実行に向けて完全に動作可能になり得る。さらに、状態はほとんどが予測不可能であるので、デバッガ構成要素102によって生成される測定データ116は、ユーザが手動で取得することは不可能な情報を含むことができる。
図4は、本明細書に記載の1つまたは複数の実施形態によるインストルメント化された回路インスタンス内に再書込みされたブレークポイントを有する入力回路を含むもう1つの例示的な、非限定的システムのブロック図を示す。本明細書に記載の他の実施形態において使用される類似の要素の繰り返しの説明は、簡潔にするために、省かれる。
図4は、ブロック444によって表される複数のインストルメント化された回路インスタンス内へのブレークポイントを有する入力回路(ブロック444)の、回路再書込み構成要素110を介する、再書込みの概念を例示する。ブロック444内の例示されたブレークポイントは、分析のタイプを指定して任意の関連する分析パラメータを実行することができる、ことに留意されたい。
ブロック444によって表されるインストルメント化された回路インスタンスのうちの1つまたは複数(あるいは、一部の実施形態では、それぞれのそのような回路インスタンス)は、直接にあるいは1つまたは複数のゲートを介してでもよい、再書込みされたインストルメンテーション・コード内に1つまたは複数のキュビットを入力する。再書込みされたインストルメンテーション・コードは、インストルメント化された回路の実行可能インスタンスの間で異なり得る。
再書込み回路に関する態様を見ると、図5および6は、本明細書に記載の1つまたは複数の実施形態による、インストルメンテーションの影響を回路を通して後方へ伝搬すること(たとえば、ブレークポイントに対して)によってその状態がインストルメンテーションに因果的につながれ得るキュビットを判定する手法を使用するインストルメント化された回路を再書込みする例示的な、非限定的システムのブロック図を示す。本明細書に記載の他の実施形態において使用される類似の要素の繰り返しの説明は、簡潔にするために、省かれる。
図5は、回路内の指定された場所において挿入されたブレークポイントに基づいてブレークポイントを有する入力回路554内に処理されているソース回路552(ソフトウェアに対応する)を例示する。インストルメント化された回路インスタンス556は、たとえば、各インストルメント化された回路内のPまたはPあるいはその両方iを変えることによって、各インストルメント化された回路インスタンスについて異なるインストルメンテーション・コードで再書込みされる。たとえば、P、Pは、合計16のインストルメント化された回路をもたらす{identity,X,Y,Z}におけるすべてのゲートを介して変化させることができる。これらのインストルメント化された回路のそれぞれは、複数のゲートに対応する変更された回路内の様々な場所において測定データをもたらし、実行される。
測定がキュビット状態で行われた後は、キュビット状態(ならびに任意の相関性のあるキュビットのそれ)は、もはや有効ではなく、「デッド」コードをもたらす(測定動作は、測定されない場合にキュビット状態に関連するキュビット状態を変更し得、したがって、残りのコードは、さらなる測定に関して本質的にデッドであるので、測定されたキュビットを別のゲートに渡すことによって、何も学習され得ない)ことが理解されよう。キュビットがゲートを介して相互作用するとき、それらの状態はもはや分離可能ではないことに留意されたい。インストルメント化された量子回路の再書込みは、これを組み込み、デッド・コードを取り除くことができる。
図5に表された、デッド・コードを取り除く1つの手法は、図6のブロック660に表された、ブレークポイントの前に回路を介してインストルメンテーションの影響を前方/後方に伝搬することによってその状態がインストルメンテーションに因果的につながれ得るキュビットを判定することを目的とする。概念的に、これは、「過去光円錐」に類似すると考えることができる。たとえば、キュビットの状態(またはキュビットのセット)が、1つのインストルメント化された回路内のゲートにおいて測定される場合、ゲートは、次のインストルメント化された回路において取り除くことができ、そして、測定されたキュビット状態またはシミュレーションされたキュビット状態が、次のインストルメント化された回路において適切なゲートに入力され得る。この手法は、より小さい回路(後述される代替手法に関連する)を生み出すが、ゲートは意図されたキュビットにのみ作用することを想定する。
図7および8は、本明細書に記載の1つまたは複数の実施形態による、インストルメンテーションの影響を回路を通して前方へ伝搬すること(たとえば、ブレークポイントに対して)によってその状態がインストルメンテーションに因果的につながれ得るキュビットを判定する手法を使用するインストルメント化された回路を再書込みする例示的な、非限定的システムのブロック図を示す。本明細書に記載の他の実施形態において使用される類似の要素の繰り返しの説明は、簡潔にするために、省略される。
図7および8に表された代替手法は、たとえば、インストルメンテーションの影響を回路を通して前方へ伝搬することによってその状態がインストルメンテーションに因果的につながれ得るキュビットを判定する、ブレークポイントを過ぎた未来のコード/分岐回路を削除する、すなわち、この代替手法は、ブレークポイントを過ぎたキュビットの「未来光円錐」(キュビットの可能な行先のセット)と類似するものを削除する。たとえば、再書込みされた回路内のある特定のブレークポイントに基づいて測定が行われるように、回路772が再書込みされた(ブレークポイントを有する入力回路774)後は、測定されたキュビット状態/任意の相関性のあるキュビットに関連するその特定の再書込みされたインストルメント化された回路インスタンス776の残りの部分においてさらなる実行は意味がない(したがって、必要とされない)。したがって、図8のブロック880によって表されるように、未来の分岐回路は、ブレークポイントを越えた斜めの破線によって表されるように、削除することができる。測定ポイントは、所望の測定データの完全なセットを取得するために、その次の測定ポイントなどにおいて測定データを取得するために実行される、次の再書込みされたインストルメント化された回路インスタンスにおいて移動され得る。いずれの手法でも、不必要なゲート(デッド・コードに対応する)はインストルメント化された回路において取り除かれることが理解されよう。
図9および10は、本明細書に記載の1つまたは複数の実施形態による量子回路デバッギングの自動化を円滑にする例示的な、非限定的コンピュータ実装される方法の流れ図を示す。本明細書に記載の他の実施形態において使用される類似の要素の繰り返しの説明は、簡潔にするために、省略される。
902において、量子回路は入力である。904において、量子回路は、1つまたは複数のブレークポイントおよび1つまたは複数の分析パラメータで注釈を付けられ、ブレークポイント906を有する量子回路をもたらす。908において、量子回路は、図10を参照して本明細書で説明されるように、デバッグされる。デバッギングは、910を介して表されるような量子回路の状態およびデータのスナップショットをもたらす。
図10は、各注釈を容易にするデバッギング動作を要約する。1002で、注釈付き入力回路および関連するブレークポイントが、たとえば本明細書に記載のようなインストルメンテーションの影響を前方/後方に伝搬する手法を使用して、不必要なゲートを取り除くために処理される。結果として生じるインストルメント化された回路は、1006で生成され、1008で実行される。1010で、インストルメント化された回路の実行の結果が、1012で返すために、結合および処理される。
プロセスは、標準デバッギング環境の錯覚(illusion)を生み出し、インストルメンテーション回路および再構成ソフトウェアがユーザによって見られる必要がない(望まれない限り)ようなやり方でソフトウェアにおいて自動化することができる。
説明を簡単にするために、コンピュータ実装される方法論は、一連の動作として図示および説明される。本イノベーションは、示された動作または動作の順番あるいはその両方によって制限されず、たとえば、動作は、本明細書に提示および記載されていない他の動作を有して、様々な順番でまたは同時にあるいはその両方で生じることが可能であることを把握および理解されたい。さらに、示されている動作のすべてが、本開示の主題によるコンピュータ実装される方法論を実装するために必要とされなくてもよい。加えて、このコンピュータ実装される方法論は、別法として、状態図またはイベントを介して一連の相互に関連する状態として表すことができることが当業者には把握および理解されよう。加えて、以下でおよび本明細書を通して開示されるコンピュータ実装される方法論は、そのようなコンピュータ実装される方法論のコンピュータへの移送および転送を容易にするために製造品に記憶することができることをさらに理解されたい。本明細書では、製造品という用語は、任意のコンピュータ可読デバイスまたは記憶媒体からアクセス可能なコンピュータ・プログラムを包含することが意図されている。
さらに、少なくともインストルメント化された回路の生成、および測定データを取得するためのインストルメント回路の実行などは、電気的および機械的構成要素および回路の組合せから確立されるので、人間は、量子回路デバッガ構成要素102によって実行される処理を再現または実行することはできない。
図11は、本明細書に記載の1つまたは複数の実施形態による、インストルメント化された回路内に注釈付き量子回路を再書込みすること、インストルメント化された回路を実行して出力を提供すること、および出力を処理することによるものを含む、量子回路のデバッギングを円滑にする例示的な、非限定的コンピュータ実装される動作の流れ図を示す。
動作1102は、ソース量子回路に対応するソフトウェア・コードに挿入されたインストルメンテーション命令情報に基づいてソース量子回路をインストルメント化された回路内に再書込みすることを表す。動作1104は、インストルメント化された回路を実行してソース量子回路内のキュビットの異なる状態データに対応する測定データを取得することを表す。動作1106は、測定データを処理してソース量子回路に関連する量子コンピュータの1つまたは複数の内部状態またはプロセスに対応する生成された情報を出力することを表す。
本開示の主題の様々な態様の状況を提供するために、図12ならびに以下の論考は、本開示の主題の様々な態様を実装することができる適切な環境の一般的説明を提供することが意図されている。図12は、本明細書に記載の1つまたは複数の実施形態を円滑に進めることができる例示的な、非限定的な動作環境のブロック図を示す。本明細書に記載の他の実施形態において使用される類似の要素の繰り返しの説明は、簡潔にするために、省略される。
図12を参照すると、本開示の様々な態様を実装するための適切な動作環境1200はまた、コンピュータ1212を含むことができる。コンピュータ1212はまた、処理装置1214、システム・メモリ1216、およびシステム・バス1218を含むことができる。システム・バス1218は、処理装置1214に、システム・メモリ1216を含むがこれに限定されないシステム構成要素を結合させる。処理装置1214は、様々な利用可能なプロセッサのいずれかでもよい。デュアル・マイクロプロセッサおよび他のマルチプロセッサ・アーキテクチャはまた、処理装置1214として使用することができる。システム・バス1218は、業界標準アーキテクチャ(ISA:Industrial Standard Architecture)、マイクロチャネル・アーキテクチャ(MSA:Micro-Channel Architecture)、拡張ISA(EISA:Extended ISA)、インテリジェント・ドライブ・エレクトロニクス(IDE:Intelligent Drive Electronics)、VESAローカル・バス(VLB:VESA Local Bus)、周辺構成要素相互接続(PCI)、カード・バス、ユニバーサル・シリアル・バス(USB)、アドバンスト・グラフィックス・ポート(AGP:Advanced Graphics Port)、ファイヤーワイヤ(IEEE1394)、およびスモール・コンピュータ・システム・インターフェース(SCSI:Small Computer Systems Interface)を含むがこれらに限定されない、任意の様々な利用可能なバス・アーキテクチャを使用する、メモリバスもしくはメモリ・コントローラ、周辺バスもしくは外部バス、またはローカル・バスあるいはその組合せを含む、いくつかのタイプのバス構造体のいずれかでもよい。
システム・メモリ1216はまた、揮発性メモリ1220および不揮発性メモリ1222を含むことができる。起動中などに、コンピュータ1212内の要素間で情報を転送するための基本ルーチンを含む、基本入出力システム(BIOS:basic input/output system)が、不揮発性メモリ1222に記憶される。コンピュータ1212はまた、取り外し可能/取り外し不可能な、揮発性/不揮発性のコンピュータ記憶媒体を含むことができる。図12は、たとえば、ディスク・ストレージ1224を示す。ディスク・ストレージ1224はまた、磁気ディスク・ドライブ、フロッピ・ディスク・ドライブ、テープ・ドライブ、Jazドライブ、Zipドライブ、LS-100ドライブ、フラッシュ・メモリ・カード、またはメモリ・スティックのようなデバイスを含むことができるが、これらに限定されない。ディスク・ストレージ1224はまた、別個にまたは他の記憶媒体と組み合わせて記憶媒体を含むことができる。システム・バス1218へのディスク・ストレージ1224の接続を円滑にするために、インターフェース1226などの取り外し可能または取り外し不可能なインターフェースが、通常は、使用される。図12はまた、ユーザと適切な動作環境1200内に記載された基本コンピュータ資源との間の媒介として動作するソフトウェアを示す。そのようなソフトウェアはまた、たとえば、オペレーティング・システム1228を含むことができる。ディスク・ストレージ1224に記憶することができるオペレーティング・システム1228は、コンピュータ1212の資源を制御するおよび割り当てるように動作する。
システム・アプリケーション1230は、たとえばシステム・メモリ1216にまたはディスク・ストレージ1224に記憶された、プログラム・モジュール1232およびプログラム・データ1234を介するオペレーティング・システム1228による資源の管理を活用する。本開示は様々なオペレーティング・システムまたはオペレーティング・システムの組合せと実装することができることを理解されたい。ユーザは、入力デバイス1236を介してコンピュータ1212にコマンドまたは情報を入力する。入力デバイス1236は、マウスなどのポインティング・デバイス、トラックボール、スタイラス、タッチパッド、キーボード、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星放送受信アンテナ、スキャナ、TVチューナ・カード、デジタル・カメラ、デジタル・ビデオ・カメラ、ウェブ・カメラなどを含むが、これらに限定されない。これらのおよび他の入力デバイスは、インターフェース・ポート1238を介してシステム・バス1218を介して処理装置1214に接続する。インターフェース・ポート1238は、たとえば、シリアル・ポート、パラレル・ポート、ゲーム・ポート、およびユニバーサル・シリアル・バス(USB)を含む。出力デバイス1240は、入力デバイス1236と同タイプのポートのうちのいくつかを使用する。したがって、たとえば、USBポートが、コンピュータ1212に入力を提供するために、およびコンピュータ1212から出力デバイス1240に情報を出力するために、使用され得る。出力アダプタ1242は、特別なアダプタを必要とする、数ある出力デバイス1240の中でも、モニタ、スピーカ、およびプリンタのような、いくつかの出力デバイス1240が存在することを示すために提供される。出力アダプタ1242は、出力デバイス1240とシステム・バス1218との間の接続の手段を提供するビデオおよびサウンド・カードを例として含むが、これらに限定されない。他のデバイスまたはデバイスのシステムあるいはその両方はリモート・コンピュータ1244などの入力と出力との両方の能力を提供することに留意されたい。
コンピュータ1212は、リモート・コンピュータ1244など、1つまたは複数のリモート・コンピュータへの論理接続を使用するネットワーク環境において動作することができる。リモート・コンピュータ1244は、コンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサに基づく機器、ピア・デバイスまたは他の共通ネットワーク・ノードなどでもよく、通常は、コンピュータ1212に関連して記載された要素のうちの多数またはすべてを含むことができる。簡潔にするために、メモリ記憶デバイス1246のみが、リモート・コンピュータ1244と示されている。リモート・コンピュータ1244は、ネットワーク・インターフェース1248を介してコンピュータ1212に論理的に接続され、次いで、通信接続1250を介して物理的に接続される。ネットワーク・インターフェース1248は、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、セルラ・ネットワークなどの、ワイヤまたはワイヤレスあるいはその両方の通信ネットワークを包含する。LAN技術は、光ファイバ分散データ・インターフェース(FDDI:Fiber Distributed Data Interface)、銅分散データ・インターフェース(CDDI:Copper Distributed Data Interface)、イーサネット(R)、トークン・リングなどを含む。WAN技術は、2地点間リンク、デジタル総合サービス網(ISDN:Integrated Services Digital Networks)およびその変更形態などの回路交換ネットワーク、パケット交換ネットワーク、ならびにデジタル加入者回線(DSL:Digital Subscriber Line)を含むが、これらに限定されない。通信接続1250は、ネットワーク・インターフェース1248をシステム・バス1218に接続するために使用されるハードウェア/ソフトウェアを指す。通信接続1250は、説明を分かりやすくするために、コンピュータ1212内に示されているが、通信接続1250は、コンピュータ1212外部にあってもよい。ネットワーク・インターフェース1248への接続のためのハードウェア/ソフトウェアはまた、例示のみを目的として、通常の電話向けのモデム、ケーブル・モデムおよびDSLモデムを含むモデム、ISDNアダプタ、ならびにイーサネット(R)・カードなど、内部および外部技術を含むことができる。
本発明は、統合の任意の可能な技術的詳細レベルにおいて、システム、方法、装置またはコンピュータ・プログラム製品あるいはその組合せになり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有する1つまたは複数のコンピュータ可読記憶媒体を含むことができる。コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および記憶することができる有形デバイスでもよい。コンピュータ可読記憶媒体は、たとえば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、または前述の任意の適切な組合せでもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非包括的リストはまた、以下を含み得る:ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピ・ディスク、パンチ・カードまたは命令が記録された溝内の隆起した構造体などの機械的にエンコードされたデバイス、ならびに前述の任意の適切な組合せ。本明細書では、コンピュータ可読記憶媒体は、無線波または他の自由に伝搬する電磁波、導波管または他の伝送媒体を介して伝搬する電磁波(たとえば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気的信号など、一過性信号それ自体として解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、ネットワーク、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたはワイヤレスネットワークあるいはその組合せ、を介してコンピュータ可読記憶媒体からそれぞれの計算/処理デバイスにまたは外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはその組合せを備えることができる。各計算/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれの計算/処理デバイス内のコンピュータ可読記憶媒体における記憶のためにコンピュータ可読プログラム命令を転送する。本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令集合アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードでもよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータで、スタンドアロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータで、部分的にユーザのコンピュータでおよび部分的にリモート・コンピュータで、あるいは完全にリモート・コンピュータまたはサーバで実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む、任意のタイプのネットワークを介してユーザのコンピュータに接続することができ、あるいは、その接続は、外部コンピュータに対して行われ得る(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)。いくつかの実施形態では、たとえば、プログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む、電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を使用して電子回路をカスタマイズすることによって、コンピュータ可読プログラム命令を実行することができる。
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照して本明細書で説明される。流れ図またはブロック図あるいはその両方の各ブロックならびに流れ図またはブロック図あるいはその両方のブロックの組合せはコンピュータ可読プログラム命令によって実装され得ることが理解されよう。これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装するための手段を生み出すように、汎用コンピュータ、特殊用途コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて、機械を作り出すものであってよい。また、これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む製造品を備えるように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置または他のデバイスあるいはその組合せに特定の方式で機能するように指示することができるものであってもよい。また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイスで実行する命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装するように、コンピュータ実装されるプロセスを生み出すべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラマブル装置または他のデバイスで一連の演算動作を実行させるものであってもよい。
図中の流れ図およびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能性、および動作を示す。これに関連して、流れ図またはブロック図内の各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表し得る。いくつかの代替実装形態において、ブロックに示された機能は、図に示された順番以外で生じ得る。たとえば、連続して示された2つのブロックは、実際には、実質的に同時に実行することが可能であり、あるいは、それらのブロックは、関係する機能性に応じて、逆の順番で実行することも時に可能である。ブロック図または流れ図あるいはその両方の各ブロック、ブロック図または流れ図あるいはその両方のブロックの組合せは、指定された機能または動作を実行するあるいは特殊用途ハードウェアおよびコンピュータ命令の組合せを実施する特殊用途のハードウェアに基づくシステムによって、実装することができることにも留意されたい。
本主題は、1つまたは複数のコンピュータで実行するコンピュータ・プログラム製品のコンピュータ実行可能命令の一般的状況において前述されているが、本開示はまた、他のプログラム・モジュールと組み合わせて実装することができるまたは実装され得ることが当業者には認識されよう。一般に、プログラム・モジュールは、特定のタスクを実行するまたは特定の抽象的データ・タイプを実装するあるいはその両方を行うルーチン、プログラム、構成要素、データ構造体などを含む。さらに、本発明のコンピュータ実装される方法は、シングル・プロセッサまたはマルチプロセッサ・コンピュータ・システム、ミニ計算デバイス、メインフレーム・コンピュータ、ならびにコンピュータ、ハンドヘルド計算デバイス(たとえば、PDA、電話)、マイクロプロセッサに基づくまたはプログラム可能な家庭用または産業用エレクトロニクスなどを含む、他のコンピュータ・システム構成と実施され得ることが、当業者には理解されよう。示されている態様はまた、通信ネットワークを通してリンクされたリモート処理デバイスによってタスクが実行される分散型計算環境において実施され得る。しかしながら、本開示の、すべてではなくても、いくつかの態様は、スタンドアロンのコンピュータで実施することができる。分散型計算環境において、プログラム・モジュールは、ローカル・メモリ記憶デバイスおよびリモート・メモリ記憶デバイスの両方に位置し得る。
本願では、「構成要素」、「システム」、「プラットフォーム」、「インターフェース」などの用語は、コンピュータ関連エンティティまたは1つまたは複数の特定の機能性を有する動作機械に関連するエンティティを指し得るまたは含み得るあるいはその両方である。本明細書で開示されるエンティティは、ハードウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェア、あるいは実行中のソフトウェアでもよい。たとえば、構成要素は、プロセッサで実行するプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラムまたはコンピュータあるいはその組合せでもよいが、これらに限定されない。例示として、サーバで実行するアプリケーションとサーバとの両方が構成要素になり得る。1つまたは複数の構成要素が、プロセスまたは実行のスレッドあるいはその両方に存在することができ、構成要素は、1つのコンピュータ上に局在化され得るまたは2つ以上のコンピュータの間で分散され得るあるいはその両方が可能である。もう1つの例では、それぞれの構成要素は、様々なデータ構造体が記憶された様々なコンピュータ可読媒体から実行することができる。構成要素は、1つまたは複数のデータ・パケット(たとえば、ローカル・システム、分散型システムにおいて、または信号を介して他のシステムとインターネットなどのネットワークを横断して、あるいはその組合せで別の構成要素と相互作用する1つの構成要素からのデータ)を有する信号によるような、ローカルまたはリモートあるいはその両方のプロセスを介して通信することができる。もう1つの例として、構成要素は、プロセッサによって実行されるソフトウェアまたはファームウェア・アプリケーションによって動作させられる、電気または電子回路によって動作させられる機械部分によって提供される特定の機能性を有する装置でもよい。そのような場合、プロセッサは、装置の内部または外部でもよく、ソフトウェアまたはファームウェア・アプリケーションの少なくとも一部を実行することができる。さらにもう1つの例として、構成要素は、機械部分なしに電子構成要素を介して特定の機能性をもたらす装置でもよく、ここで、電子構成要素は、プロセッサあるいは電子構成要素の機能性を少なくとも部分的に与えるソフトウェアまたはファームウェアを実行するための他の手段を含み得る。一態様では、構成要素は、仮想機械、たとえばクラウド計算システム内の、を介して電子構成要素をエミュレートすることができる。
加えて、「または」という用語は、排他的「または」ではなくて包含的「または」を意味することが意図されている。すなわち、別段の指定がない限り、または文脈から明らかでない限り、「XがAまたはBを使用する」は、自然な包含的置換のいずれも意味することが意図されている。すなわち、XがAを使用する、XがBを使用する、またはXがAとBの両方を使用する場合、そのとき、「XがAまたはBを使用する」は、前述の場合のいずれの場合にも満たされる。さらに、本明細書および添付の図面において使用される冠詞「a」および「an」(1つのおよび一)は、別段の指定がない限り、または文脈から単数形を対象とすることが明らかでない限り、「1つまたは複数の」を意味するものと一般に解釈されるべきである。本明細書では、「例」または「例示」あるいはその両方の用語は、例、場合、または説明の役割を果たすことを意味するために使用される。誤解を避けるために、本明細書で開示される主題は、そのような例によって制限されない。加えて、「例」または「例示」あるいはその両方として本明細書に記載されたいずれの態様または設計も、他の態様または設計より好ましいまたは有利なものとして必ずしも解釈されるべきではなく、当業者に知られている同等の例示的構造体および技法を除外することも意図されていない。
本明細書において使用されるとき、「プロセッサ」という用語は、シングルコア・プロセッサ、ソフトウェア・マルチスレッド実行能力を有するシングル・プロセッサ、マルチコア・プロセッサ、ソフトウェア・マルチスレッド実行能力を有するマルチコア・プロセッサ、ハードウェア・マルチスレッド技術を有するマルチコア・プロセッサ、パラレル・プラットフォーム、および分散型共有メモリを有するパラレル・プラットフォームを備えるが、これらに限定されない、任意の計算処理装置またはデバイスを実質的に指し得る。加えて、プロセッサは、集積回路、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、プログラマブル論理コントローラ(PLC)、複合プログラマブル論理デバイス(CPLD)、ディスクリート・ゲートまたはトランジスタ論理、ディスクリート・ハードウェア構成要素、または本明細書に記載の機能を実行するように設計されたその任意の組合せを指し得る。さらに、プロセッサは、使用空間を最適化するまたはユーザ機器のパフォーマンスを上げるために、分子および量子ドットに基づくトランジスタ、スイッチおよびゲートなどの、しかしこれらに限定されない、ナノスケール・アーキテクチャを活用することができる。プロセッサはまた、計算処理装置の組合せとして実装することができる。本開示では、「ストア」、「ストレージ」、「データ・ストア」、「データ・ストレージ」、「データベース」などの用語、および構成要素の動作および機能性に関連する実質的にすべての他の情報記憶構成要素は、「メモリ構成要素」、「メモリ」において具現化されたエンティティ、またはメモリを備える構成要素を指すために使用される。メモリまたは本明細書に記載のメモリ構成要素あるいはその両方は、揮発性メモリまたは不揮発性メモリのいずれでもよく、あるいは揮発性と不揮発性の両方のメモリを含み得ることを理解されたい。例として、限定ではなく、不揮発性メモリは、読取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的にプログラム可能なROM(EPROM)、電気的に消去可能なROM(EEPROM)、フラッシュ・メモリ、または不揮発性ランダム・アクセス・メモリ(RAM)(たとえば、強誘電RAM(FeRAM:ferroelectric RAM))を含み得る。揮発性メモリは、たとえば、外部キャッシュメモリとして動作することができる、RAMを含み得る。例として、そして限定ではなく、RAMは、シンクロナスRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブル・データ・レートSDRAM(DDR SDRAM)、拡張SDRAM(ESDRAM)、Synchlink DRAM(SLDRAM)、ダイレクト・ラムバスRAM(DRRAM)、ダイレクト・ラムバス・ダイナミックRAM(DRDRAM)、およびラムバス・ダイナミックRAM(RDRAM)などの多数の形で利用可能である。加えて、本明細書に記載のシステムまたはコンピュータ実装される方法の開示されているメモリ構成要素は、これらのおよび任意の他の適切なタイプのメモリを、これらに限定されることなく、含むことが意図されている。
前述されているものは、システムおよびコンピュータ実装される方法の単なる例を含む。本開示の説明を目的として構成要素またはコンピュータ実装される方法のあらゆる考えられる組合せを記述することは、もちろん、不可能であり、本開示の多数のさらなる組合せおよび置換が可能であることが当業者には認識され得る。さらに、「含む」、「有する」、「所有する」などの用語が、詳細な説明、請求項、付属書および図面で使用される範囲で、そのような用語は、請求において暫定的単語として使用されるときに「備える」が解釈されるような、「備える」という用語と類似の形で包含的であることが意図されている。
様々な実施形態の記述が、説明を目的として提示されているが、包括的であることまたは開示される実施形態に制限されることは意図されてない。多数の修正形態および変更形態が、記載された実施形態の範囲および思想を逸脱することなく、当業者には明らかとなろう。本明細書で使用される専門用語は、実施形態の原理、市場で見つかる技術と比べた実際的応用または技術的改良、を最もよく説明するために、あるいは本明細書で開示される実施形態を当業者が理解できるようにするために、選択された。

Claims (25)

  1. システムであって、
    コンピュータ実行可能構成要素を記憶するメモリと、
    前記メモリに記憶されたコンピュータ実行可能構成要素を実行するプロセッサ
    を備えており、前記コンピュータ実行可能構成要素が、
    ソース量子回路に対応するソフトウェア・コードに関連付けられたインストルメンテーション命令情報に基づいてインストルメント化された回路内に量子コンピュータの前記ソース量子回路を再書込みする回路再書込み構成要素であって、前記再書込みすることが、前記ソース量子回路を介して前方又は後方にインストルメンテーション命令の1つまたは複数の影響を伝播することによって、1つまたは複数のキュビットの状態が前記インストルメンテーション命令情報に因果的につながれ得る該1つまたは複数のキュビットに対応する、ソフトウェコードのデッド・コードを取り除くことを含む、前記回路再書込み構成要素、および、
    前記インストルメント化された回路を実行して測定データを生み出す実行構成要素
    を備えている、前記システム。
  2. 前記回路再書込み構成要素が、前記インストルメンテーション命令情報に基づく回路再書込みルールを適用する、請求項1に記載のシステム。
  3. 前記回路再書込み構成要素が、前記インストルメンテーション命令情報に由来するデッド・コードを取り除くために、回路再書込みルールを適用する、請求項1又は2に記載のシステム。
  4. 前記インストルメンテーション命令情報が、前記ソフトウェア・コードにおいて2つの量子回路命令の間に挿入されたブレークポイントを含む、請求項1乃至3のいずれ1項かに記載のシステム。
  5. 前記インストルメンテーション命令情報が、前記ソフトウェア・コード内の対象の量子コード・セグメントの前に挿入された開始ブレークポイントと、前記対象の量子コードセグメントの後に挿入された終了ブレークポイントとを含む、請求項1乃至4のいずれか1項に記載のシステム。
  6. 前記量子コンピュータの1つまたは複数の内部状態またはプロセスに対応する情報を推論するために前記測定データを評価する統計的推定手続きをさらに含む、請求項1乃至5のいずれか1項に記載のシステム。
  7. 前記統計的推定手続きが、状態トモグラフィおよび再構成を含む、請求項6に記載のシステム。
  8. 前記統計的推定手続きが、プロセス・トモグラフィおよび再構成を含む、請求項6又は7に記載のシステム。
  9. システムであって、
    コンピュータ実行可能構成要素を記憶するメモリと、
    前記メモリに記憶されたコンピュータ実行可能構成要素を実行するプロセッサ
    を備えており、前記コンピュータ実行可能構成要素が、
    ソース量子回路に対応するソフトウェア・コードに挿入されたインストルメンテーション命令情報に基づいて前記ソース量子回路をインストルメント化された回路内に再書込みする回路再書込み構成要素であって、前記再書込みすることが、前記ソース量子回路を介して前方又は後方にインストルメンテーション命令の1つまたは複数の影響を伝播することによって、1つまたは複数のキュビットの状態が前記インストルメンテーション命令情報に因果的につながれ得る該1つまたは複数のキュビットに対応する、ソフトウェコードのデッド・コードを取り除くことを含む、前記回路再書込み構成要素
    前記インストルメント化された回路を実行して前記ソース量子回路内のキュビットの異なる状態データに対応する測定データを取得する実行構成要素、および、
    前記測定データを処理して前記ソース量子回路に関連する量子コンピュータの1つまたは複数の内部状態またはプロセスに対応する生成された情報を出力する統計的推定構成要素
    を備えている、前記システム。
  10. プロセッサを動作可能なように結合した古典コンピュータによって実装される方法であって、前記プロセッサの動作が、
    量子コンピュータに関連付けられているソース量子回路をインストルメント化するインストルメンテーション命令情報に基づいて、インストルメント化された回路内に前記ソース量子回路を、自動的に再書込みすることと、ここで、前記再書込みすることが、前記ソース量子回路を介して前方又は後方にインストルメンテーション命令の1つまたは複数の影響を伝播することによって、1つまたは複数のキュビットの状態が前記インストルメンテーション命令情報に因果的につながれ得る該1つまたは複数のキュビットに対応する、ソフトウェコードのデッド・コードを取り除くことを含む、
    前記インストルメント化された回路をデバイスによって実行して、前記ソース量子回路内の異なる位置に対応する測定データを取得することと、
    前記測定データを前記デバイスによって出力することと
    を含む、前記方法。
  11. 状態トモグラフィを介して前記測定データを統計的に評価することをさらに含む、請求項10に記載の方法。
  12. プロセス・トモグラフィを介して前記測定データを統計的に評価することをさらに含む、請求項10又は11に記載の方法。
  13. ブレークポイントが1つまたは複数のキュビットのパーティションを含む、前記ソース量子回路に対応するソフトウェアに挿入された前記ブレークポイントに対応する情報を受信することをさらに含む、請求項10乃至12のいずれか1項に記載の方法。
  14. 開始ブレークポイントが、前記ソース量子回路に対応するソフトウェアにおいて対象の量子コード・セグメントの前に挿入され、終了ブレークポイントが、対象の前記量子コード・セグメントの後に挿入される、前記開始ブレークポイントおよび前記終了ブレークポイントに対応する情報を受信することをさらに含む、請求項10乃至13のいずれか1項に記載の方法。
  15. 前記インストルメント化された回路内に前記ソース量子回路を前記自動的に再書込みすることが、前記インストルメント化された回路のうちの少なくとも1つからデッド・コードを削除することを含む、請求項11乃至14のいずれか1項に記載の方法。
  16. プロセッサを動作可能なように結合したコンピュータによって実装される方法であって、前記プロセッサの動作が、
    ソース量子回路に対応するソフトウェア・コードに挿入されたインストルメンテーション命令情報に基づいてインストルメント化された回路内に前記ソース量子回路を、再書込みすることと、ここで、前記再書込みすることが、前記ソース量子回路を介して前方又は後方にインストルメンテーション命令の1つまたは複数の影響を伝播することによって、1つまたは複数のキュビットの状態が前記インストルメンテーション命令情報に因果的につながれ得る該1つまたは複数のキュビットに対応する、ソフトウェコードのデッド・コードを取り除くことを含む、
    前記インストルメント化された回路実行して、前記ソース量子回路内のキュビットの異なる状態データに対応する測定データを取得することと、
    記測定データを処理して、前記ソース量子回路に関連する量子コンピュータの1つまたは複数の内部状態またはプロセスに対応する生成された情報を出力することと
    を含む、前記方法。
  17. 前記測定データを前記処理することが、状態トモグラフィおよび再構成を実行すること、あるいはプロセス・トモグラフィおよび再構成を実行することを含む、請求項16に記載の方法。
  18. 量子コンピュータ・ソフトウェアのデバッギングを円滑にする古典コンピュータのコンピュータ・プログラムであって、実行されることで前記古典コンピュータのプロセッサに、
    ソース量子回路に対応するソフトウェア・コードに挿入されたインストルメンテーション命令情報に基づいて前記ソース量子回路をインストルメント化された回路に自動的に再書込みすること、ここで、前記再書込みすることが、前記ソース量子回路を介して前方又は後方にインストルメンテーション命令の1つまたは複数の影響を伝播することによって、1つまたは複数のキュビットの状態が前記インストルメンテーション命令情報に因果的につながれ得る該1つまたは複数のキュビットに対応する、ソフトウェコードのデッド・コードを取り除くことを含む、
    前記インストルメント化された回路を実行して前記ソース量子回路内のキュビットの異なる状態データに対応する測定データを取得すること、および、
    前記測定データを処理して前記ソース量子回路に関連する量子コンピュータの1つまたは複数の内部状態またはプロセスに対応する生成された情報を出力すること
    を行わせる、前記コンピュータ・プログラム。
  19. アプリケーション・プログラミング・インターフェースを介して前記インストルメンテーション命令情報を入力すること
    をさらに行わせる、請求項18に記載のコンピュータ・プログラム。
  20. アプリケーション・プログラミング・インターフェースを介して1つまたは複数の分析パラメータを入力すること
    をさらに行わせる、請求項18または19に記載のコンピュータ・プログラム。
  21. アプリケーション・プログラミング・インターフェースを介してグラフィカル・データとして前記測定データまたは前記生成された情報を出力すること
    をさらに行わせる、請求項18乃至20のいずれか1項に記載のコンピュータ・プログラム。
  22. プロセッサを動作可能なように結合した古典コンピュータによって実装されるコンピュータ・プログラムであって、前記プロセッサに、請求項10~15のいずれか1項に記載の方法の各工程を実行させる、前記コンピュータ・プログラム。
  23. プロセッサを動作可能なように結合したコンピュータによって実装されるコンピュータ・プログラムであって、前記プロセッサに、請求項16又は17に記載の方法の各工程を実行させる、前記コンピュータ・プログラム。
  24. 古典コンピュータであって、
    コンピュータ実行可能構成要素を記憶するメモリと、
    前記メモリに記憶されたコンピュータ実行可能構成要素を実行するプロセッサと
    を備えており、前記プロセッサが、請求項22に記載のコンピュータ・プログラムを実行する、前記古典コンピュータ。
  25. コンピュータであって、
    コンピュータ実行可能構成要素を記憶するメモリと、
    前記メモリに記憶されたコンピュータ実行可能構成要素を実行するプロセッサと
    を備えており、前記プロセッサが、請求項23に記載のコンピュータ・プログラムを実行する、前記コンピュータ。
JP2020517092A 2017-09-29 2017-12-05 回路再書込みによる量子回路のデバッギングのためのシステム、コンピュータ実装される方法、およびコンピュータ・プログラム Active JP7048930B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/720,814 US10614371B2 (en) 2017-09-29 2017-09-29 Debugging quantum circuits by circuit rewriting
US15/720,814 2017-09-29
PCT/EP2017/081429 WO2019063114A1 (en) 2017-09-29 2017-12-05 DEBUGGING QUANTUM CIRCUITS BY CIRCUIT REWRITING

Publications (2)

Publication Number Publication Date
JP2020535519A JP2020535519A (ja) 2020-12-03
JP7048930B2 true JP7048930B2 (ja) 2022-04-06

Family

ID=60627618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020517092A Active JP7048930B2 (ja) 2017-09-29 2017-12-05 回路再書込みによる量子回路のデバッギングのためのシステム、コンピュータ実装される方法、およびコンピュータ・プログラム

Country Status (5)

Country Link
US (3) US10614371B2 (ja)
EP (1) EP3688682A1 (ja)
JP (1) JP7048930B2 (ja)
CN (1) CN111149116B (ja)
WO (1) WO2019063114A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11170137B1 (en) * 2017-11-15 2021-11-09 Amazon Technologies, Inc. Cloud-based simulation of quantum computing resources
WO2019113600A1 (en) * 2017-12-08 2019-06-13 Microsoft Technology Licensing, Llc Debugging quantum programs
US11605016B2 (en) 2019-11-27 2023-03-14 Amazon Technologies, Inc. Quantum computing service supporting local execution of hybrid algorithms
US11704715B2 (en) 2019-11-27 2023-07-18 Amazon Technologies, Inc. Quantum computing service supporting multiple quantum computing technologies
US11605033B2 (en) 2019-11-27 2023-03-14 Amazon Technologies, Inc. Quantum computing task translation supporting multiple quantum computing technologies
US11429512B1 (en) * 2021-06-22 2022-08-30 Classiq Technologies LTD. Controlled propagation in quantum computing
US11294797B1 (en) * 2021-06-22 2022-04-05 Classiq Technologies LTD. Debugger for quantum computers
US11687821B2 (en) * 2021-06-22 2023-06-27 Classiq Technologies LTD. Efficient execution of a quantum program
US11907092B2 (en) 2021-11-12 2024-02-20 Amazon Technologies, Inc. Quantum computing monitoring system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050182614A1 (en) 2004-02-12 2005-08-18 Microsoft Corporation Systems and methods that facilitate quantum computer simulation

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081882A (en) * 1998-04-09 2000-06-27 Silicon Graphics, Inc. Quantum acceleration of conventional non-quantum computers
US7246240B2 (en) * 2001-04-26 2007-07-17 Massachusetts Institute Of Technology Quantum digital signatures
US7113967B2 (en) * 2001-05-29 2006-09-26 Magiq Technologies, Inc Efficient quantum computing operations
US7321884B2 (en) * 2004-02-23 2008-01-22 International Business Machines Corporation Method and structure to isolate a qubit from the environment
US7985965B2 (en) * 2007-03-29 2011-07-26 Raytheon Company Quantum computing device and method including qubit arrays of entangled states using negative refractive index lenses
JP5351893B2 (ja) * 2007-09-24 2013-11-27 ディー−ウェイブ システムズ,インコーポレイテッド 量子ビット状態の読み出しシステム、方法、および装置
US8832165B2 (en) * 2007-12-12 2014-09-09 Lockheed Martin Corporation Computer systems and methods for quantum verification and validation
JP5091717B2 (ja) * 2008-02-21 2012-12-05 株式会社東芝 量子計算方法および量子計算機
US8315969B2 (en) * 2008-10-10 2012-11-20 Nec Laboratories America, Inc. Estimating a quantum state of a quantum mechanical system
JP4786727B2 (ja) * 2009-03-27 2011-10-05 株式会社東芝 量子計算方法、量子計算機およびプログラム
GB2470069A (en) * 2009-05-08 2010-11-10 Hewlett Packard Development Co Quantum Repeater and System and Method for Creating Extended Entanglements
US8836709B2 (en) * 2011-08-18 2014-09-16 International Business Machines Corporation Vector register file caching of context data structure for maintaining state data in a multithreaded image processing pipeline
US9064067B2 (en) * 2012-08-06 2015-06-23 Microsoft Technology Licensing, Llc Quantum gate optimizations
CN102769527B (zh) * 2012-08-14 2015-06-17 中国人民解放军国防科学技术大学 基于大规模单原子腔体量子网络的组网方法
JP5992292B2 (ja) * 2012-10-30 2016-09-14 株式会社東芝 復号装置、方法およびプログラム
US9530873B1 (en) * 2013-01-28 2016-12-27 Sandia Corporation Semiconductor adiabatic qubits
US9858531B1 (en) * 2013-08-02 2018-01-02 University Of Maryland Fault tolerant scalable modular quantum computer architecture with an enhanced control of multi-mode couplings between trapped ion qubits
US9588940B2 (en) * 2013-12-05 2017-03-07 D-Wave Systems Inc. Sampling from a set of spins with clamping
CN106462808B (zh) * 2014-06-06 2019-05-14 微软技术许可有限责任公司 用于算术和函数合成的量子算法
US10031887B2 (en) * 2014-09-09 2018-07-24 D-Wave Systems Inc. Systems and methods for improving the performance of a quantum processor via reduced readouts
US9438245B2 (en) * 2014-10-13 2016-09-06 International Business Machines Corporation Reducing spontaneous emission in circuit quantum electrodynamics by a combined readout and filter technique
CN107408223B (zh) * 2015-02-27 2021-02-05 耶鲁大学 用于量子信息处理的振荡器控制的系统和方法
CN107683460B (zh) * 2015-05-05 2022-01-28 凯恩迪股份有限公司 在传统处理器上模拟量子样计算的quanton表示
EP3304363B1 (en) * 2015-06-08 2021-07-21 Microsoft Technology Licensing, LLC System for reversible circuit compilation with space constraint, method and program
US10140404B2 (en) * 2015-11-06 2018-11-27 Rigetti & Co, Inc. Analyzing quantum information processing circuits
US10352992B1 (en) * 2016-01-11 2019-07-16 Rigetti & Co, Inc. Quantum error-correction in microwave integrated quantum circuits
US10565514B2 (en) * 2016-03-31 2020-02-18 Board Of Regents, The University Of Texas System System and method for emulation of a quantum computer
US20180046933A1 (en) * 2016-08-11 2018-02-15 Board Of Regents, The University Of Texas System System and method for controlling a quantum computing emulation device
US10255555B2 (en) * 2016-11-10 2019-04-09 Rigetti & Co, Inc. Generating quantum logic control sequences for quantum information processing hardware
US11080614B2 (en) * 2016-12-06 2021-08-03 Anametric, Inc. Systems and methods for quantum coherence preservation of qubits
US10430162B2 (en) * 2017-05-18 2019-10-01 Microsoft Technology Licensing, Llc Quantum resource estimates for computing elliptic curve discrete logarithms
US10990677B2 (en) * 2017-06-05 2021-04-27 Microsoft Technology Licensing, Llc Adversarial quantum machine learning
US10262727B2 (en) * 2017-07-10 2019-04-16 Northrop Grumman Systems Corporation Gradiometric flux qubit system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050182614A1 (en) 2004-02-12 2005-08-18 Microsoft Corporation Systems and methods that facilitate quantum computer simulation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Damian S. Steiger et al.,ProjectQ: An Open Source Software Framework for Quantum Computing,arXiv:1612.08091v1,2016年12月23日,URL: https://arxiv.org/abs/1612.08091v1
I. A.Pogorelov, G. I. Struchalin, S. S. Straupe, I. V. Radchenko, K. S. Kravtsov, and S.P. Kulik1,Experimental adaptive process tomography,arXiv:1611.01064,2016年11月03日,URL: https://arxiv.org/abs/1611.01064

Also Published As

Publication number Publication date
CN111149116B (zh) 2023-10-27
EP3688682A1 (en) 2020-08-05
JP2020535519A (ja) 2020-12-03
US10614371B2 (en) 2020-04-07
US11809962B2 (en) 2023-11-07
CN111149116A (zh) 2020-05-12
US11210603B2 (en) 2021-12-28
WO2019063114A1 (en) 2019-04-04
US20200175414A1 (en) 2020-06-04
US20220083894A1 (en) 2022-03-17
US20190102690A1 (en) 2019-04-04

Similar Documents

Publication Publication Date Title
JP7048930B2 (ja) 回路再書込みによる量子回路のデバッギングのためのシステム、コンピュータ実装される方法、およびコンピュータ・プログラム
Hoang et al. A novel CPU/GPU simulation environment for large-scale biologically realistic neural modeling
Ronquist et al. Universal probabilistic programming offers a powerful approach to statistical phylogenetics
Sridhar et al. Model governance: Reducing the anarchy of production {ML}
US20220004683A1 (en) System and method for creating domain specific languages for digital environment simulations
JP2022510121A (ja) 量子コンピューティング・シミュレーションにおける測定のためのゲート融合
US11620569B2 (en) Machine learning quantum algorithm validator
KR20220149545A (ko) 양자 회로들을 위한 효율적인 양자 적응적 실행 방법
JP2021504837A (ja) 重み行列への空間的局所性を強化すること、および周波数圧縮をもたらすことを通した、完全接続型/回帰型深層ネットワークの圧縮
EP2904551A2 (en) Modeling data generating process
JP2021512387A (ja) 量子コンピューティング・デバイス設計
CN112036563A (zh) 使用起源数据的深度学习模型洞察
JP7044449B2 (ja) 量子トモグラフィを容易化するためのシステム、コンピュータによって実施される方法、およびコンピュータ・プログラム
US10990525B2 (en) Caching data in artificial neural network computations
Bazille et al. Global PAC bounds for learning discrete time Markov chains
De Maria et al. Verification of temporal properties of neuronal archetypes modeled as synchronous reactive systems
Zaw et al. An informative test code approach in code writing problem for three object-oriented programming concepts in java programming learning assistant system
Li et al. ML Tools for the Web: A Way for Rapid Prototyping and HCI Research
US20220129436A1 (en) Symbolic validation of neuromorphic hardware
Wang et al. Graph Neural Networks Enhanced Smart Contract Vulnerability Detection of Educational Blockchain
US20240086306A1 (en) Source code repository debug chaining
Sidiropoulos Application of deep neural networks for bicycle detection and classification
Eduardovic Finding heuristic rules for solving the Boolean satisfiability problem using machine learning methods
Kendall et al. Case Study of the Eagle Code Project
Witzke et al. Proactive Resource Management to Optimize Distributed Workflow Executions

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200420

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20211013

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211013

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20211013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220201

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220311

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20220311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220314

R150 Certificate of patent or registration of utility model

Ref document number: 7048930

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150