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

Configuración de Pass Manager.

Inicializar un objeto PassManagerConfig

Parámetros

  • initial_layout (Layout) – Posición inicial de los qubits virtuales en los qubits físicos.
  • basis_gates (list) – Lista de nombres de puertas básicas a las que se va a realizar el desenrollado.
  • coupling_map (CouplingMap) – Grafo dirigido que representa un mapa de acoplamiento.
  • layout_method (str) – el paso que se debe utilizar para elegir la ubicación inicial de los qubits. Este será el nombre del complemento si se utiliza un complemento externo de etapas de diseño.
  • routing_method (str) – el paso que se debe utilizar para enrutar los qubits en la arquitectura. Este será el nombre del complemento si se utiliza un complemento de etapa de enrutamiento externo.
  • translation_method (str) – el paso que se debe utilizar para convertir las puertas en puertas de base. Este será el nombre del complemento si se utiliza un complemento externo de gestión de traducciones.
  • scheduling_method (str) – el pase que se debe utilizar para programar las clases. Este será el nombre del complemento si se utiliza un complemento externo de etapas de programación.
  • instruction_durations (InstructionDurations) – Diccionario de duraciones (en dt) para cada instrucción.
  • approximation_degree (float) – dial heurístico utilizado para la aproximación de circuitos (aproximación de 1.0=no, aproximación de 0.0=maximal )
  • seed_transpiler (int) – Establece una semilla aleatoria para las partes estocásticas del transpilador.
  • timing_constraints (TimingConstraints) – Restricciones de sincronización de hardware.
  • unitary_synthesis_method (str) – El método de cadena que se debe utilizar para el UnitarySynthesis pase. Buscará un método válido en los complementos instalados. Puedes ver una lista de los plugins instalados con unitary_synthesis_plugin_names().
  • target (Target) – El destino del backend
  • hls_config (HLSConfig) – Una clase de configuración opcional que se puede utilizar para HighLevelSynthesis «pass». Especifica cómo sintetizar diversos objetos de alto nivel.
  • init_method (str) – El nombre del complemento que debe utilizar el complemento de la fase de inicialización
  • optimization_method (str) – El nombre del complemento que debe utilizar el complemento de la etapa de optimización.
  • qubits_initially_zero (bool) – Indica si el circuito de entrada se ha inicializado a cero.

Métodos

from_backend

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

GitHub

Crea una configuración basada en un backend y en los datos introducidos por el usuario.

Este método genera automáticamente un objeto PassManagerConfig en función de las características del backend. Las opciones de usuario se pueden utilizar para anular la configuración.

Parámetros

  • backend (BackendV2) – El backend que proporciona la configuración.
  • pass_manager_options – Pares de opciones y valores definidos por el usuario.

Devuelve

La configuración generada a partir de los argumentos.

Tipo de retorno

PassManagerConfig

Subidas

AttributeError – Si el backend no admite el método configuration().

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.