ASAPScheduleAnalysis
class ASAPScheduleAnalysis(*args, **kwargs)
ベース: BaseDynamicCircuitAnalysis
動的回路のASAP(as-soon-as-possible)スケジューリング分析パス。
これは、ハードウェアの制約によるダイナミック回路のバックエンド特有のスケジューリング制約に対応するように設計されたスケジューラである。 これは、ダイナミックサーキットのバックエンドが変化するにつれて進化していくことが予想される。
現在の形では、これはQiskitのASAPスケジューラに似ており、命令はできるだけ早く開始される。
主な違いは以下の通りだ:
-
現在、リセットおよび制御フローによって「量子ブロック」の終了がトリガーされます。 ~の間
ブロックの終わりと次のブロックは非決定論的である。つまり、次のブロックがいつ始まるかは分からない(非決定論的な長さの古典的関数を評価している可能性があるため)ため、次のブロックは相対的なt=0 から始まる。
-
測定中、不連続な量子ビットにゲートを並列に適用することが可能である。
-
分離した量子ビットに対する測定とリセットは同時に発生し、同じプロセスの一部である
ブロック。
属性
is_analysis_pass
パスが分析パスかどうかをチェックする。
パスが AnalysisPass,、パスがDAGを分析し、その分析結果をプロパティセットに書き込むことができることを意味する。 この種のパスでは、DAGの変更は許されない。
is_transformation_pass
パスが変形パスかどうかをチェックする。
パスが TransformationPass, の場合、そのパスはDAGを操作することはできるが、プロパティセットを変更することはできない(ただし、読み取ることはできる)ことを意味する。
方法
__call__
__call__(circuit, property_set=None)
パスオン回路を作動させる。
パラメーター
- circuit (QuantumCircuit) – 峠を越える日。
- property_set (PropertySet | dict | None) – 入力/出力プロパティセット 解析パスはプロパティセットをインプレース変更する可能性がある。 指定されない場合、パスの既存の
property_set属性(設定されている場合)が使用されます。
戻り値
変換が成功した場合、結果として QuantumCircuit が生成されます。 解析に合格した場合、入力回路へ。
戻りの型
execute
execute(passmanager_ir, state, callback=None)
入力Qiskit IRに対して最適化タスクを実行する。
パラメーター
- passmanager_ir (DAGCircuit) – 最適化対象のQiskit IR。
- state (DAGCircuit) – パスマネージャー自身によるワークフローの実行に関連する状態。
- callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – 最適化タスクの実行ごとに呼び出されるコールバック関数。
戻り値
Qiskit IRとワークフローの状態を最適化。
戻りの型
タプル[ DAGCircuit、 PassManagerState ]
name
name()
パスの名前
戻りの型
str
run
run(dag)
dagでALAPScheduleパスを実行します。
パラメーター
dag (DAGCircuit) – DAGをスケジュールに組み込む。
レイズ
- TranspilerError - 回路が物理量子ビットにマッピングされていない場合。
- TranspilerError - 非サポート命令に条件ビットが付加されている場合。
戻り値
予定されていたDAGCircuit。
戻りの型
DAGCircuit
update_status
update_status(state, run_state)
ワークフローのステータスを更新する。
パラメーター
- state (PassManagerState) – 更新するマネージャーの状態を渡す。
- run_state (RunState) – 現在のタスクの完了状況。
戻り値
パスマネージャーの状態を更新。
戻りの型