注釈
class qiskit.circuit.Annotation(*args, **kwargs)
ベース: object
命令に対する任意の注釈。
アノテーションフレームワークはQiskitの新しく進化したコンポーネントです。 私たちは、このトランスパイラがどのように使用されているか、より多くの証拠が得られるにつれて、この機能とトランスパイラ内でのファーストクラスのサポートが拡大することを期待している。
この基本クラスだけでは、規定された動作やセマンティクスはほとんどない。 主な相互作用は、ユーザーまたはライブラリーのサブクラス化である。 詳細はカスタム・アノテーション・サブクラスを参照。
これは、以下のような命令に付加できるメタデータを構造化するためのフレームワークである。 BoxOp これは QuantumCircuit および DAGCircuit 内の命令に付加できる付加的なメタデータを、Qiskitコアにないカスタムパスを含む任意のトランスパイラパスで追跡および消費できる方法で構造化するためのフレームワークです。
コンパイル時に使用されるステートフル PropertySet コンパイル時に使用されるステート・オブジェクトは、カスタム・トランスパイラ・パスが任意の "ステート "オブジェクトをコンパイル・ワークフローに格納し、後のコンパイラ・パスが取得できるようにするための手段でもあります。 PropertySet は回路の隣に格納されるため、回路全体に関連する解析に最も適しています。 を使用する。 Annotation は、より局所的なスコープを意図しており、命令のボックスに適用される。さらに、バックエンドの実行マシンの低レベルの部分でさらに消費されることを意図している場合、 transpile の出力にまだ存在する可能性がある(たとえば、注釈には、特定のボックスを特別な方法で処理するようにエラー軽減ルーチンに指示するメタデータが含まれる可能性がある)。
現在 PassManager 現在のところ、......................................... Annotation. つまり、特定の変換(ルーティング、基底ゲート分解など)によって無効になるような命令のボックスにカスタムアノテーションを適用する場合、現在のところ、呼び出し側であるあなた次第で transpile() または generate_preset_pass_manager() の呼び出し元であるあなたが、選択されたコンパイラ・パスがアノテーションを無効にしないようにする必要があります。 将来的には、アノテーションの有効性要件を宣言するための、よりファーストクラスのサポートが提供されることを期待している。
属性
namespace
デフォルト値: ''