FilterOpNodes
class qiskit.transpiler.passes.FilterOpNodes(*args, **kwargs)
ベース: TransformationPass
フィルター関数に一致するすべての操作を削除する
この変換パスは、指定されたフィルター関数にマッチする操作を取り除くために使われる。
パラメーター
predicate - 与えられた callable。 DAGOpNode の各ノードに対して渡されます。 DAGCircuit. callable が True を返せば DAGOpNode を返せば回路に保持され、 False を返せば回路から取り除かれる。
例
というラベルのついた操作を除外する。 "foo"
from qiskit import QuantumCircuit
from qiskit.transpiler.passes import FilterOpNodes
circuit = QuantumCircuit(1)
circuit.x(0, label='foo')
circuit.barrier()
circuit.h(0)
circuit = FilterOpNodes(
lambda node: getattr(node.op, "label") != "foo"
)(circuit)
circuit.draw('mpl')
属性
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
update_status
update_status(state, run_state)
ワークフローのステータスを更新する。
パラメーター
- state (PassManagerState) – 更新するマネージャーの状態を渡す。
- run_state (RunState) – 現在のタスクの完了状況。
戻り値
パスマネージャーの状態を更新。
戻りの型