CommutativeOptimization
class qiskit.transpiler.passes.CommutativeOptimization(*args, **kwargs)
ベース: TransformationPass
可換性関係を利用したキャンセル/マージゲート
具体的には、パス:
- 逆ゲートペアをキャンセルします。これには、全相対位相まで逆であるペア(必要に応じて全相対位相を調整)も含まれます。
- 可能な場合、連続するゲートを結合しようとする試み。例えば、RZゲート、RXゲート、パウリ回転などの連続したシーケンスなど。
このパスは、と CommutativeCancellation 両方の機能を統合 CommutativeInverseCancellationし拡張します。
パラメーター
- approximation_degree – 平均ゲート忠実度の計算において、ゲートのペアが相殺されるか、あるいは可換であるかを判断するために使用される閾値。
- matrix_max_num_qubits – 行列ベースの可換性および逆行列チェックにおける量子ビット数の上限値。
属性
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上で CommutativeOptimization パスを実行する。
パラメーター
dag (DAGCircuit) – 最適化対象のDAG。
戻り値
最適化された有向非巡回グラフ
戻りの型
update_status
update_status(state, run_state)
ワークフローのステータスを更新する。
パラメーター
- state (PassManagerState) – 更新するパスワードマネージャーの状態を送信します。
- run_state (RunState) – 現在のタスクの完了状況。
戻り値
更新されたパスワードマネージャーの状態。
戻りの型