FoldRzzAngle
class FoldRzzAngle(*args, **kwargs)
Basen: TransformationPass
Falten Sie den Rzz-Gate-Winkel in den kalibrierten Bereich von 0-pi/2 mit lokalen Gate-Tweaks.
In der IBM Quantum ISA hat die Anweisung Rzz(theta) einen gültigen "theta"-Wert von [0, pi/2] und jede Anweisung außerhalb dieses Bereichs wird zu einer Nicht-ISA-Operation für das Quantum-Backend. Der Transpiler-Pass erkennt solche Nicht-ISA-Rzz-Gatter und faltet den Gatterwinkel in den kalibrierten Bereich durch Hinzufügen von Einzel-Qubit-Gattern, wobei die logische Äquivalenz der Eingangsquantenschaltung erhalten bleibt. Hinzugefügte lokale Gatter können durch die folgenden Ein-Qubit-Optimierungsläufe effizient zu benachbarten Ein-Qubit-Gattern zusammengeführt werden.
Dieser Durchgang ermöglicht es den Qiskit-Benutzern, die Rzz-Gatter naiv mit Winkeln beliebiger reeller Zahlen zu verwenden.
Dieser Durchgang transformiert die Schaltung nicht, wenn der Rzz-Gate-Winkel ein ungebundener Parameter ist. In diesem Fall muss der Benutzer vor der Transpilierung einen Torwinkel zuweisen oder die Parameter aus dem kalibrierten Bereich von [0, pi/2] auswählen.
Attribute
is_analysis_pass
Prüfen Sie, ob der Pass ein Analysepass ist.
Wenn der Pass ein AnalysisPass, ist, bedeutet dies, dass der Pass die DAG analysieren und die Ergebnisse dieser Analyse in den Eigenschaftssatz schreiben kann. Änderungen an der DAG sind bei dieser Art von Pass nicht zulässig.
is_transformation_pass
Prüfen Sie, ob der Pass ein Transformationspass ist.
Wenn es sich bei dem Pass um TransformationPass, handelt, bedeutet dies, dass der Pass die DAG manipulieren kann, aber den Eigenschaftssatz nicht ändern kann (aber er kann gelesen werden).
Methoden
__call__
__call__(circuit, property_set=None)
Betreibt den Durchgangsstromkreis.
Parameter
- circuit (QuantumCircuit) – Der Tag, an dem der Pass durchgeführt wird.
- property_set (PropertySet | dict | None) – Eingabe-/Ausgabe-Eigenschaftssatz. Ein Analyse-Durchlauf kann die Eigenschaften vor Ort ändern. Wenn nicht angegeben, wird das vorhandene
property_setAttribut des Passes verwendet (sofern festgelegt).
Rückgabe
Wenn eine Transformation erfolgreich ist, ist das Ergebnis QuantumCircuit. Wenn die Analyse erfolgreich ist, wird das Signal weitergeleitet.
Rückgabetyp
execute
execute(passmanager_ir, state, callback=None)
Ausführen der Optimierungsaufgabe für die Eingabe Qiskit IR.
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
Optimierte Qiskit IR und Stand des Workflows.
Rückgabetyp
Tupel[ DAGCircuit, PassManagerState ]
name
name()
Name des Passes.
Rückgabetyp
str
run
update_status
update_status(state, run_state)
Aktualisieren Sie den Workflow-Status.
Parameter
- state (PassManagerState) – Übergeben Sie den Status des Managers zur Aktualisierung.
- run_state (RunState) – Erledigungsstatus der aktuellen Aufgabe.
Rückgabe
Aktualisierter Status des Passmanagers.
Rückgabetyp