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)
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
UnitarySynthesispase. Buscará un método válido en los complementos instalados. Puedes ver una lista de los plugins instalados conunitary_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)
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
Subidas
AttributeError – Si el backend no admite el método configuration().