ConvertToPauliRotations
class qiskit.transpiler.passes.ConvertToPauliRotations(*args, **kwargs)
Bases : TransformationPass
Convertir un circuit quantique en un circuit équivalent composé de PauliProductRotationGate portes et PauliProductMeasurement d' instructions.
Cette passe convertit toutes les portes standard à un, deux et trois qubits en rotations de type produit de Pauli, convertit les mesures en mesures de type produit de Pauli, et laisse inchangés les barrières, les retards, les réinitialisations, les rotations de type produit de Pauli et les mesures de type produit de Pauli.
Par exemple :
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)Attributs
is_analysis_pass
Vérifiez si le passage est un passage d'analyse.
Si le pass est un « AnalysisPass, », cela signifie qu'il est capable d'analyser le DAG et d'enregistrer les résultats de cette analyse dans l'ensemble de propriétés. Ce type de passe ne permet pas d'apporter des modifications au DAG.
is_transformation_pass
Vérifiez si le passage est un passage de transformation.
Si le passeport est de type « TransformationPass, », cela signifie qu'il peut manipuler le DAG, mais ne peut pas modifier l'ensemble de propriétés (bien qu'il puisse le consulter).
Méthodes
execute
execute(passmanager_ir, state, callback=None)
Exécuter la tâche d'optimisation pour le fichier IR Qiskit d'entrée.
Paramètres
- passmanager_ir (DAGCircuit) – IR Qiskit à optimiser.
- state (DAGCircuit) – État lié à l'exécution du flux de travail par le gestionnaire de passes lui-même.
- callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – Une fonction de rappel qui est appelée à chaque exécution d'une tâche d'optimisation.
Retours
Optimisation de l'IR Qiskit et état d'avancement du flux de travail.
Type de retour
name
run
run(dag)
Lancez le cycle d'optimisation « ConvertToPauliRotations » sur dag.
Paramètres
dag (DAGCircuit) – le DAG d'entrée.
Retours
Le DAG de sortie.
Augmentations
TranspilerError – si le circuit contient des instructions non prises en charge par le pass.
Type de retour
update_status
update_status(state, run_state)
Mettre à jour le statut du flux de travail.
Paramètres
- state (PassManagerState) – Transmettre l'état du gestionnaire pour la mise à jour.
- run_state (RunState) – État d'avancement de la tâche en cours.
Retours
Mise à jour de l'état du gestionnaire de passes.
Type de retour