Skip to main content
IBM Quantum Platform

CommutativeOptimization

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

GitHub

Bases : TransformationPass

Annuler/fusionner les portes en exploitant les relations de commutativité.

Plus précisément, le laissez-passer :

  • Annule les paires de portes inversées, y compris les paires qui sont inversées jusqu'à une phase globale (en ajustant la phase globale si nécessaire).
  • Tente de fusionner les portes consécutives lorsque cela est possible, par exemple les séquences de portes RZ, RX, les rotations de Pauli, etc.

Ce pass unifie et étend les fonctionnalités de CommutativeCancellation et CommutativeInverseCancellation.

Paramètres

  • approximation_degree – seuil utilisé dans le calcul de la fidélité moyenne des portes pour déterminer si des paires de portes peuvent être considérées comme s'annulant mutuellement ou comme commutatives.
  • matrix_max_num_qubits – Limite supérieure du nombre de qubits pour les vérifications de commutativité et d'inverse basées sur la matrice.

Attributs

is_analysis_pass

Vérifiez si le passage est un passage d'analyse.

Si le pass est un « AnalysisPass, », cela signifie qu'il peut analyser le DAG et écrire les résultats de cette analyse dans le jeu de propriétés. Les modifications sur le DAG ne sont pas autorisées par ce type de passe.

is_transformation_pass

Vérifiez si le passage est un passage de transformation.

Si le pass est un « TransformationPass, », cela signifie qu'il peut manipuler le DAG, mais ne peut pas modifier l'ensemble de propriétés (qui peut toutefois être lu).


Méthodes

execute

execute(passmanager_ir, state, callback=None)

GitHub

Exécuter la tâche d'optimisation pour l'entrée Qiskit IR.

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

Qiskit IR optimisé et état du flux de travail.

Type de retour

tuple [ DAGCircuit, PassManagerState ]

name

name()

GitHub

Nom du col.

Type de retour

str

run

run(dag)

GitHub

Exécutez le passage CommutativeOptimization sur dag.

Paramètres

dag (DAGCircuit) – le DAG à optimiser.

Retours

le DAG optimisé.

Type de retour

Circuit DAG

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 de mots de passe pour mise à jour.
  • run_state (RunState) – État d'avancement de la tâche en cours.

Retours

État du gestionnaire de mots de passe mis à jour.

Type de retour

PassManagerState

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