FixedPoint
class qiskit.transpiler.passes.FixedPoint(*args, **kwargs)
Bases : AnalysisPass
Vérifier si une propriété a atteint un point fixe.
Une analyse factice visant à vérifier si une propriété a atteint un point fixe. Le résultat est enregistré dans property_set['<property_to_check>_fixed_point'] sous forme de valeur booléenne.
Il est possible de fournir une fonction appelable facultative getter afin de dériver une valeur à partir de l'ensemble de propriétés, plutôt que de lire directement une clé unique. Cela s'avère utile lorsqu'il faut vérifier la convergence sur une combinaison de propriétés (par exemple, un tuple composé de la taille et du nombre de t) :
def get_size_and_t_count(property_set):
return (
property_set["size"],
property_set["count_ops"].get("t", 0) + property_set["count_ops"].get("tdg", 0)
)
FixedPoint("size_and_t_count", get_size_and_t_count)Paramètres
- property_to_check – Nom utilisé pour indexer le résultat en virgule fixe dans l'ensemble de propriétés défini sous
property_set['<property_to_check>_fixed_point']. Lorsquegetterest égal àNone, ce nom est également utilisé comme clé pour lire la valeur correspondante dans l'ensemble de propriétés. - getter – Fonction facultative qui prend la propriété définie en paramètre et renvoie la valeur à suivre. Lorsque
None(par défaut), la valeurproperty_set[property_to_check]est utilisée à des fins de suivi.
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 (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[[Task, IR_OUT, 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 [ IR_OUT, PassManagerState ]
name
run
run(dag)
Exécutez le passage « FixedPoint » sur dag.
Paramètres
dag (DAGCircuit)
Type de retour
Aucun
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