Split2QUnitaries
class qiskit.transpiler.passes.Split2QUnitaries(*args, **kwargs)
ベース: TransformationPass
a における2量子ビットのユニタリー DAGCircuit 演算を、2つの単一量子ビットゲートに分解しようとする。
このパスでは、すべての UnitaryGate を解析し、行列が実際に2つの単一量子ビットゲートの積であるかどうかを判定する。 このような場合、 2q ゲートは2つのシングルクビットゲートに簡略化することができ、このパスではこの最適化を実行し、2つのクビットゲートを2つのシングルクビットゲートに置き換えます。 UnitaryGate.
ゲートのいくつかが、2つの単一量子ビットゲートの積で結合されたスワップとみなすことができる場合、パスはDAGを再作成し、スワップされた量子ビットを次のように並べ替える。 ElidePermutations.
パラメーター
- 忠実度 - 2量子ビットのユニタリー分割とゲート分解の許容誤差。
- split_swap - スワップ・ゲートを分割し、量子ビットの並べ替えを行うかどうか。
属性
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) – 現在のタスクの完了状況。
戻り値
パスマネージャーの状態を更新。
戻りの型