ApplyLayout
class qiskit.transpiler.passes.ApplyLayout(*args, **kwargs)
ベース: TransformationPass
の物理量子ビットへの仮想量子ビットのマッピングを適用または更新する。 DAGCircuit.
Qiskitにおける "レイアウト "とは、仮想的な量子ビット(一般的にユーザーが回路を作成する際の用語)と、ハードウェア上でそれらを表現するために使用される物理的な量子ビットとのマッピングのことです。
このパスには、 layout と post_layout のキーの状態によって、2つの動作モードがある。 PropertySet:
-
標準操作:
post_layoutは設定されていない。 これはDAGCircuit仮想量子ビットで定義されたものを物理量子ビットで書き換える。 この場合、layoutフィールドはレイアウトパス(たとえばSetLayoutまたはVF2Layoutなど)によって選択されDAGCircuitの両方がアンシラで展開されていなければならない(例えばEnlargeWithAncillaとFullAncillaAllocation). -
レイアウトの改善:
post_layoutが設定されている(たとえばVF2PostLayout). この場合、post_layoutはすでに正しいサイズでなければならない。 入力に既に適用されているリラベリングの上に追加されたリラベリングとして解釈される。DAGCircuit.パスが実行されると、
layoutフィールドは、2つのリラベルの合成を表すように更新される。DAGCircuitと最終的な並べ替えが行われる。post_layoutフィールドは削除される。
属性
is_analysis_pass
パスが分析パスかどうかをチェックする。
パスが AnalysisPass,、パスがDAGを分析し、その分析結果をプロパティセットに書き込むことができることを意味する。 この種のパスでは、DAGの変更は許されない。
is_transformation_pass
パスが変形パスかどうかをチェックする。
パスが TransformationPass, の場合、そのパスはDAGを操作することはできるが、プロパティセットを変更することはできない(ただし、読み取ることはできる)ことを意味する。
方法
execute
execute(passmanager_ir, state, callback=None)
入力Qiskit IRに対して最適化タスクを実行する。
パラメーター
- passmanager_ir (Any) – Qiskit IRを最適化する。
- state (PassManagerState) – パスマネージャー自身によるワークフロー実行に関連する状態。
- callback (Callable | None) – 最適化タスクの実行ごとに呼び出されるコールバック関数。
戻り値
Qiskit IRとワークフローの状態を最適化。
戻りの型
タプル [ Any, PassManagerState ]
name
run
run(dag)
dag で ApplyLayout パスを実行する。
パラメーター
dag (DAGCircuit) – DAGからマップへ。
戻り値
マッピングされたDAG(物理量子ビットを持つ)。
戻りの型
レイズ
TranspilerError - property_set 、レイアウトが見つからないか、物理量子ビットがフルでない場合。
update_status
update_status(state, run_state)
ワークフローのステータスを更新する。
パラメーター
- state (PassManagerState) – 更新するマネージャーの状態を渡す。
- run_state (RunState) – 現在のタスクの完了状況。
戻り値
パスマネージャーの状態を更新。
戻りの型