Skip to main content
IBM Quantum Platform

PassManagerConfig

class qiskit.transpiler.PassManagerConfig(initial_layout=None, basis_gates=None, coupling_map=None, layout_method=None, routing_method=None, translation_method=None, scheduling_method=None, instruction_durations=None, approximation_degree=None, seed_transpiler=None, timing_constraints=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, target=None, hls_config=None, init_method=None, optimization_method=None, qubits_initially_zero=True)

GitHub

Bases : object

Configuration du gestionnaire de mots de passe.

Initialiser un objet PassManagerConfig

Paramètres

  • initial_layout (Layout | None) – Position initiale des qubits virtuels sur les qubits physiques.
  • basis_gates (list[str] | None) – Liste des noms de portes de base vers lesquelles effectuer le dépliage.
  • coupling_map (CouplingMap | None) – Graphique orienté représentant une application de couplage.
  • layout_method (str | None) – le paramètre à utiliser pour choisir l'emplacement initial des qubits. Ce sera le nom du plugin si un plugin externe de mise en page est utilisé.
  • routing_method (str | None) – le passage à utiliser pour acheminer les qubits au sein de l'architecture. Il s'agira du nom du plugin si un plugin de routage externe est utilisé.
  • translation_method (str | None) – le paramètre à utiliser pour convertir les portes en portes de base. Il s'agira du nom du plugin si un plugin externe de gestion des étapes de traduction est utilisé.
  • scheduling_method (str | None) – le passeport à utiliser pour les instructions de planification. Il s'agira du nom du plugin si un plugin externe de planification des étapes est utilisé.
  • instruction_durations (InstructionDurations | None) – Dictionnaire des durées (en dt) pour chaque instruction.
  • approximation_degree (float | None) – Curseur heuristique utilisé pour l'approximation des circuits, où 1.0 signifie « aucune approximation » (dans les limites de la tolérance numérique) et 0.0 signifie « approximation maximale ». Si target est disponible, une valeur de None indique qu’une approximation est autorisée dans la limite du taux d’erreur indiqué pour une opération dans la cible.
  • seed_transpiler (int | None) – Définit une graine aléatoire pour les parties stochastiques du transpileur.
  • timing_constraints (TimingConstraints | None) – Contraintes liées à l'alignement temporel au niveau matériel.
  • unitary_synthesis_method (str) – La méthode de chaîne à utiliser pour le UnitarySynthesis passage. Recherchera une méthode valide parmi les extensions installées. Vous pouvez consulter la liste des plugins installés à l'aide de unitary_synthesis_plugin_names().
  • unitary_synthesis_plugin_config (dict | None) – Le dictionnaire de configuration qui sera transmis au plugin de synthèse unitaire spécifié. Pour savoir comment l'utiliser, consultez la documentation du plugin.
  • target (Target | None) – La cible backend
  • hls_config (HLSConfig | None) – Une classe de configuration facultative à utiliser pour HighLevelSynthesis pass. Précise comment synthétiser divers objets de haut niveau.
  • init_method (str | None) – Nom du plugin à utiliser pour la phase d'initialisation
  • optimization_method (str | None) – Nom du plugin à utiliser pour l'étape d'optimisation.
  • qubits_initially_zero (bool) – Indique si le circuit d'entrée est initialisé à zéro.

Méthodes

from_backend

classmethod from_backend(backend, _skip_target=False, **pass_manager_options)

GitHub

Créer une configuration en fonction d'un backend et des données fournies par l'utilisateur.

Cette méthode génère automatiquement un objet PassManagerConfig en fonction des fonctionnalités du backend. Les options utilisateur permettent de remplacer la configuration.

Paramètres

  • backend (BackendV2) – Le backend qui fournit la configuration.
  • pass_manager_options – Paires option-valeur définies par l'utilisateur.

Retours

La configuration générée à partir des arguments.

Type de retour

PassManagerConfig

Augmentations

AttributeError – Si le backend ne prend pas en charge la méthode configuration().

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