Skip to main content
IBM Quantum Platform

FermionicPassManager

class FermionicPassManager(tasks=(), max_iteration=1000)

Bases : BasePassManager[DAGCircuit]

Un gestionnaire de passes de transpilateur permettant de convertir l'un FermionicCircuit en l'autre.

La représentation interne (IR) de ce gestionnaire de passes est FermionicDAGCircuit, mais les types d'entrée et de sortie sont FermionicCircuit.

Initialiser un objet « gestionnaire de passes » vide.

Paramètres

  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – Un forfait devant être ajouté au calendrier du gestionnaire de forfaits.
  • max_iteration (int) – Nombre maximal d'itérations pendant lesquelles le planning sera exécuté en boucle si la condition n'est pas remplie.

Méthodes héritées

append

append(tasks)

Ajouter des tâches au calendrier des passages.

Paramètres

tasks (Task[IR, IR] | list[Task[IR, IR]]) – Une série de tâches du gestionnaire de laissez-passer à ajouter au planning.

Augmentations

TypeError – Lorsqu'un élément des tâches n'est pas une sous-classe de la classe « Task » de PassManager.

Type de retour

Aucun

remove

remove(index)

Supprime un passage spécifique dans le planificateur.

Paramètres

index (int) – Indiquez l'index de l'élément à supprimer, en fonction de sa position dans passes().

Augmentations

PassManagerError – Si l'index n'est pas trouvé.

Type de retour

Aucun

replace

replace(index, tasks)

Remplacer un passage spécifique dans le planificateur.

Paramètres

  • index (int) – Index de la tâche à remplacer, en fonction de la position dans tasks()
  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – Une série de tâches du gestionnaire de laissez-passer à ajouter au planning.

Augmentations

  • TypeError – Lorsqu'un élément des tâches n'est pas une sous-classe de la classe « Task » de PassManager.
  • PassManagerError – Si l'index n'est pas trouvé.

Type de retour

Aucun

run

run(in_programs, callback=None, num_processes=None, *, property_set=None, **kwargs)

Exécutez toutes les passes sur le fichier spécifié in_programs.

Paramètres

  • in_programs (Any |list[Any]) – Programmes d'entrée à transformer à l'aide de toutes les passes enregistrées. Un objet d'entrée unique ne peut pas être un objet de liste intégré à Python. Un objet de type « liste » est considéré comme plusieurs objets d'entrée à optimiser.

  • callback (Callable[[Task, IR, PropertySet, float, int], None] | None) –

    Une fonction de rappel qui sera appelée après chaque exécution d'un passage. La fonction sera appelée avec 5 arguments-clés :

    task (GenericPass): the pass being run
    passmanager_ir (Any): depending on pass manager subclass
    property_set (PropertySet): the property set
    running_time (float): the time to execute the pass
    count (int): the index for the pass execution

    Les arguments précis transmis révèlent le fonctionnement interne du gestionnaire de passes et sont susceptibles d'évoluer à mesure que ce dernier évolue. Si vous comptez réutiliser une fonction de rappel sur plusieurs versions, veillez à vérifier que les arguments qui lui sont transmis sont identiques.

    Pour utiliser la fonctionnalité de rappel, vous devez définir une fonction qui prendra en paramètre le dictionnaire kwargs et permettra d'accéder aux variables. Par exemple :

    def callback_func(**kwargs):
        task = kwargs['task']
        passmanager_ir = kwargs['passmanager_ir']
        property_set = kwargs['property_set']
        running_time = kwargs['running_time']
        count = kwargs['count']
        ...
  • num_processes (int | None) – Nombre maximal de processus parallèles à lancer si l'exécution parallèle est activée. Cet argument remplace les valeurs définies dans num_processes le fichier de configuration utilisateur et dans la variable d’environnement QISKIT_NUM_PROCS . Si cette option est activée, la None configuration par défaut du système ou celle de l'utilisateur local sera utilisée.

  • property_set (dict[str, object] | None) – Si elle est fournie, la valeur initiale à utiliser comme pour PropertySet le pipeline du gestionnaire de passes. Cette fonctionnalité permet de conserver les résultats d'une analyse d'une exécution à l'autre, lorsque vous savez que ces résultats peuvent être partagés en toute sécurité. Attention : certaines analyses dépendent du circuit d'entrée et du cas particulier considéré Target; vous devez donc faire preuve d'une grande prudence lorsque vous utilisez cet argument.

  • kwargs – Arguments arbitraires transmis au frontal et au backend du compilateur.

Retours

Le ou les programmes transformés.

Type de retour

N'importe quel

to_flow_controller

to_flow_controller()

Linéarisez ce gestionnaire en un seul élément FlowControllerLinear, afin qu'il puisse être imbriqué dans un autre gestionnaire de passes.

Retours

Un gestionnaire de passes linéarisé.

Type de retour

Contrôleur de débit linéaire [IR, IR]

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