ConvertToPauliRotations
class qiskit.transpiler.passes.ConvertToPauliRotations(*args, **kwargs)
Grundlagen: TransformationPass
Wandle einen Quantenschaltkreis in einen äquivalenten Schaltkreis um, der aus PauliProductRotationGate Gattern und PauliProductMeasurement Befehlen besteht.
Der Pass wandelt alle Standardgatter für ein, zwei und drei Qubits in Pauli-Produkt-Rotationen um, wandelt Messungen in Pauli-Produkt-Messungen um und lässt Barrieren, Verzögerungen, Rücksetzungen, Pauli-Produkt-Rotationen und Pauli-Produkt-Messungen unverändert.
Zum Beispiel:
from qiskit.circuit import QuantumCircuit
from qiskit.transpiler.passes import ConvertToPauliRotations
from qiskit.quantum_info import Operator
qc = QuantumCircuit(3)
qc.h(0)
qc.cx(0, 1)
qc.ry(0.123, 0)
qc.t(2)
qc.rzz(pi/4, 0, 2)
# The transformed circuit consists of PauliProductRotationGate gates
qct = ConvertToPauliRotations()(qc)
ops_names = set(qct.count_ops().keys())
self.assertEqual(ops_names, {"pauli_product_rotation"})
# The circuits before and after the transformation are equivalent
assert Operator(qc) == Operator(qct)Attribute
is_analysis_pass
Prüfen Sie, ob es sich um einen Analyse-Durchlauf handelt.
Wenn es sich bei dem Pass um einen „ AnalysisPass, “ handelt, bedeutet dies, dass der Pass den DAG analysieren und die Ergebnisse dieser Analyse in den Eigenschaftssatz schreiben kann. Änderungen am DAG sind bei dieser Art von Durchlauf nicht zulässig.
is_transformation_pass
Prüfe, ob es sich bei dem Pass um einen Transformationspass handelt.
Wenn es sich bei dem Pass um einen „ TransformationPass, “ handelt, bedeutet dies, dass der Pass den DAG bearbeiten kann, jedoch die Eigenschaften nicht ändern darf (sie können jedoch gelesen werden).
Methoden
execute
execute(passmanager_ir, state, callback=None)
Optimierungsaufgabe für die Qiskit-IR-Eingabe 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 Optimierungsdurchlauf „ ConvertToPauliRotations “ für dag. aus.
Parameter
dag (DAGCircuit) – das Eingabe-DAG.
Rückgabe
Der Ausgabedag.
Erhöhungen
TranspilerError – wenn der Programmablauf Anweisungen enthält, die vom Pass nicht unterstützt werden.
Rückgabetyp
update_status
update_status(state, run_state)
Status des Workflows aktualisieren.
Parameter
- state (PassManagerState) – Den Status des Pass-Managers zur Aktualisierung übergeben.
- run_state (RunState) – Fertigstellungsstatus der aktuellen Aufgabe.
Rückgabe
Status des Pass-Managers aktualisiert.
Rückgabetyp