DenseLayout
class qiskit.transpiler.passes.DenseLayout(*args, **kwargs)
ベース: AnalysisPass
量子ビットの最も連結した部分集合を見つけることによってレイアウトを選択する。
このパスでは、回路の各仮想量子ビット(Qubit)に物理量子ビット(int)を関連付ける。
'layout' は厳密にはDAGのプロパティではないにもかかわらず、トランスパイラ・アーキテクチャでは、 property_set にセットされることで、パス間で受け渡しされるのがベストである。
DenseLayout イニシャライザー。
パラメーター
- coupling_map (Coupling) – カップリング・マップを表す有向グラフ。
- target (Target) – 対象のバックエンドを表すターゲット。
属性
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)
ダグに DenseLayout。
最適な量子ビットの接続性に応じて都合の良いレイアウトを選び、プロパティのレイアウトを設定する。
パラメーター
dag (DAGCircuit) – DAGのレイアウトを探す。
レイズ
TranspilerError - ダグの幅が self.coupling_map
update_status
update_status(state, run_state)
ワークフローのステータスを更新する。
パラメーター
- state (PassManagerState) – 更新するマネージャーの状態を渡す。
- run_state (RunState) – 現在のタスクの完了状況。
戻り値
パスマネージャーの状態を更新。
戻りの型