CommutativeOptimization
class qiskit.transpiler.passes.CommutativeOptimization(*args, **kwargs)
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)
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
name
run
run(dag)
Exécutez le passage CommutativeOptimization sur dag.
Paramètres
dag (DAGCircuit) – le DAG à optimiser.
Retours
le DAG optimisé.
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 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