CommutativeOptimization
class qiskit.transpiler.passes.CommutativeOptimization(*args, **kwargs)
Grundlagen: TransformationPass
Gates unter Ausnutzung von Kommutativitätsbeziehungen stornieren/zusammenführen.
Insbesondere der Pass:
- Hebt Paare von inversen Gattern auf, einschließlich Paare, die bis auf eine globale Phase invers sind (ggf. Anpassung der globalen Phase).
- Versuche, aufeinanderfolgende Gatter nach Möglichkeit zusammenzufassen, beispielsweise Sequenzen von RZ-Gattern, RX-Gattern, Pauli-Rotationen usw.
Dieser Pass vereint und erweitert die Funktionalität von und CommutativeCancellation CommutativeInverseCancellation.
Parameter
- approximation_degree – Der Schwellenwert, der bei der Berechnung der durchschnittlichen Gattertreue verwendet wird, um zu entscheiden, ob Gatterpaare als sich aufhebend oder kommutierend betrachtet werden können.
- matrix_max_num_qubits – Obergrenze für die Anzahl der Qubits für die matrixbasierten Kommutativitäts- und Inversionsprüfungen.
Attribute
is_analysis_pass
Überprüfen Sie, ob es sich um einen Analyse-Pass handelt.
Wenn es sich bei dem Pass um einen „ AnalysisPass, “ handelt, bedeutet dies, dass der Pass die DAG analysieren und die Ergebnisse dieser Analyse in den Eigenschaftensatz schreiben kann. Änderungen an der DAG sind mit dieser Art von Pass nicht zulässig.
is_transformation_pass
Überprüfen Sie, ob es sich um einen Transformationspass handelt.
Wenn es sich um einen Pass vom Typ „ TransformationPass, “ handelt, bedeutet dies, dass der Pass die DAG manipulieren kann, aber nicht die Eigenschaftsmenge ändern kann (diese kann jedoch gelesen werden).
Methoden
execute
execute(passmanager_ir, state, callback=None)
Optimierungsaufgabe für Eingabe-Qiskit-IR ausführen.
Parameter
- passmanager_ir (DAGCircuit) – Qiskit IR zur Optimierung.
- state (DAGCircuit) – Zustand, der mit der Ausführung des Workflows durch den Pass-Manager selbst verbunden ist.
- callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – Eine Callback-Funktion, die bei jeder Ausführung einer Optimierungsaufgabe aufgerufen wird.
Rückgabe
Optimiertes Qiskit IR und Status des Workflows.
Rückgabetyp
name
run
run(dag)
Führen Sie den Durchlauf „ CommutativeOptimization “ auf dag aus.
Parameter
dag (DAGCircuit) – die zu optimierende DAG.
Rückgabe
der optimierte DAG.
Rückgabetyp
update_status
update_status(state, run_state)
Workflow-Status aktualisieren.
Parameter
- state (PassManagerState) – Passmanager-Status zur Aktualisierung übergeben.
- run_state (RunState) – Abschlussstatus der aktuellen Aufgabe.
Rückgabe
Passmanager-Status aktualisiert.
Rückgabetyp