Skip to main content
IBM Quantum Platform

CommutativeOptimization

class qiskit.transpiler.passes.CommutativeOptimization(*args, **kwargs)

GitHub

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)

GitHub

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

Tupel [ DAGCircuit, PassManagerState ]

name

name()

GitHub

Name des Passes.

Rückgabetyp

str

run

run(dag)

GitHub

Führen Sie den Durchlauf „ CommutativeOptimization “ auf dag aus.

Parameter

dag (DAGCircuit) – die zu optimierende DAG.

Rückgabe

der optimierte DAG.

Rückgabetyp

DAG-Schaltkreis

update_status

update_status(state, run_state)

GitHub

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

PassManagerState

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.