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 | None) – Posición inicial de los qubits virtuales sobre los qubits físicos.
- basis_gates (list[str] | None) – Lista de nombres de puertas básicas a las que se va a realizar el desenrollado.
- coupling_map (CouplingMap | None) – Grafo dirigido que representa un mapa de acoplamiento.
- layout_method (str | None) – 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 | None) – 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 | None) – el paso que hay que utilizar para convertir las puertas en puertas de base. Este será el nombre del complemento si se utiliza un complemento externo de etapas de traducción.
- scheduling_method (str | None) – el pase que hay que 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 | None) – Diccionario de duraciones (en dt) para cada instrucción.
- approximation_degree (float | None) – Controlador heurístico utilizado para la aproximación de circuitos, donde
1.0significa que no hay aproximación (dentro de los límites de la tolerancia numérica) y0.0significa la aproximación máxima. Sitargetestá disponible, un valor deNoneindica que se permite la aproximación hasta la tasa de error indicada para una operación en el destino. - seed_transpiler (int | None) – Establece una semilla aleatoria para las partes estocásticas del transpilador.
- timing_constraints (TimingConstraints | None) – Restricciones de alineación temporal del 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(). - unitary_synthesis_plugin_config (dict | None) – El diccionario de configuración que se pasará al complemento de síntesis unitaria especificado. Consulta la documentación del complemento para saber cómo utilizarlo.
- target (Target | None) – El objetivo del backend
- hls_config (HLSConfig | None) – 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 | None) – El nombre del complemento que debe utilizarse en la fase de inicialización
- optimization_method (str | None) – El nombre del complemento que se va a utilizar en la fase 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().