Skip to main content
IBM Quantum Platform

ConvertToPauliRotations

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

GitHub

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)

GitHub

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

tuple [ DAGCircuit, PassManagerState ]

name

name()

GitHub

Nom du col.

Type de retour

str

run

run(dag)

GitHub

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

DAGCircuit

update_status

update_status(state, run_state)

GitHub

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

PassManagerState

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.