Optimize1qGatesSimpleCommutation
class qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation(*args, **kwargs)
Bases : TransformationPass
Optimise les chaînes de portes 1Q interrompues par des portes 2Q en commutant les composants et en resynthétisant les résultats. Les règles de commutation sont stockées dans commutation_table.
REMARQUE : Outre les restrictions mentionnées sur le site commutation_table, ce laissez-passer est soumis à certaines limitations :
- Ne gère pas plusieurs commutations à la suite sans progrès intermédiaire.
- Ils ne peuvent faire la navette que vers des postes pour lesquels il existe déjà des parcours.
- Ne teste pas de manière exhaustive toutes les différentes façons dont les portes de passage peuvent être assignées de part et d'autre d'une barrière pour essayer de trouver des configurations à faible profondeur. (Ceci est particulièrement évident si toutes les portes d'un parcours font la navette avec les barrières du prédécesseur et du successeur)
Paramètres
- basis (List[str]) – Voir aussi Optimize1qGatesDecomposition.
- run_to_completion (bool) – Si True, cette passe retente sa chance jusqu'à ce qu'elle ne puisse plus rien faire. Si elle est fausse, elle trouve et effectue une optimisation, et pour une optimisation complète, l'utilisateur est obligé de rappeler la passe jusqu'à ce que le résultat se stabilise.
- target (Target) – L'argument
Targetreprésentant le backend cible, sibasiset this sont tous deux spécifiés, cet argument aura la priorité etbasissera ignoré.
Attributs
is_analysis_pass
Vérifier si la passe est une passe d'analyse.
Si le passe est un AnalysisPass,, cela signifie qu'il peut analyser le DAG et écrire les résultats de cette analyse dans l'ensemble de propriétés. Les modifications sur le DAG ne sont pas autorisées par ce type de passe.
is_transformation_pass
Vérifier si le laissez-passer est un laissez-passer de transformation.
Si la passe est une TransformationPass,, cela signifie qu'elle peut manipuler le DAG, mais qu'elle ne peut pas modifier l'ensemble des propriétés (mais qu'elle peut les lire).
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
update_status
update_status(state, run_state)
Mettre à jour le statut du flux de travail.
Paramètres
- state (PassManagerState) – Transmettre l'état du gestionnaire à mettre à jour.
- run_state (RunState) – Statut d'achèvement de la tâche en cours.
Retours
Mise à jour de l'état du gestionnaire de passe.
Type de retour