BaseController
class qiskit.passmanager.BaseController(options=None)
Classe de base du contrôleur.
Un contrôleur est construit avec une collection de tâches du gestionnaire de passage, et une sous-classe fournit une logique personnalisée pour choisir la prochaine tâche à exécuter. Notez qu'un contrôleur peut être imbriqué dans un autre contrôleur, et qu'un contrôleur lui-même ne fournit pas de sous-programme pour modifier l'IR d'entrée.
Créer un nouveau contrôleur de flux.
Paramètres
options (dict[str, Any] | None) – Option pour ce contrôleur de flux.
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 (IR) – IR Qiskit à optimiser.
- state (PassManagerState) – État associé à l'exécution du flux de travail par le gestionnaire de passe lui-même.
- callback (Callable | 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 [ IR_OUT, PassManagerState ]
iter_tasks
abstractmethod iter_tasks(state)
Une logique personnalisée pour choisir la prochaine tâche à exécuter.
La sous-classe de contrôleur peut utiliser l'état pour construire un pipeline de tâches approprié. L'état mis à jour après l'exécution d'une tâche sera réinjecté en tant que valeur de retour des instructions yield . Cela indique que l'ordre d'exécution des tâches n'est déterminé qu'au moment de l'exécution. Cette méthode n'est pas autorisée à modifier l'objet d'état donné.
Paramètres
- state (PassManagerState) – L'état du flux de travail du gestionnaire de passe au début de l'exécution de ce contrôleur de flux.
- state - l'état du gestionnaire de passe après l'exécution de la dernière tâche cédée. Le générateur n'a pas besoin de l'inspecter s'il n'est pas pertinent pour sa logique, ni de le mettre à jour.
Rendements
Tâche - Prochaine tâche à exécuter.
Type de retour
Generator [ Task [ Any, Any ], PassManagerState, None]