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
Configuração do Gerenciador de Senhas.
Inicializar um objeto PassManagerConfig
Parâmetros
- initial_layout (Layout) – Posição inicial dos qubits virtuais nos qubits físicos.
- basis_gates (list) – Lista de nomes de portas de base para as quais se deve realizar o desenrolamento.
- coupling_map (CouplingMap) – Grafo direcionado representando um mapa de acoplamento.
- layout_method (str) – o parâmetro a ser utilizado para determinar a disposição inicial dos qubits. Este será o nome do plugin caso seja utilizado um plugin de estágio de layout externo.
- routing_method (str) – o caminho a ser utilizado para o roteamento de qubits na arquitetura. Este será o nome do plugin caso seja utilizado um plugin de etapa de roteamento externo.
- translation_method (str) – o parâmetro a ser usado para converter portas em portas de base. Este será o nome do plugin caso seja utilizado um plugin externo de etapas de tradução.
- scheduling_method (str) – o pass a ser utilizado para agendar instruções. Este será o nome do plugin caso seja utilizado um plugin externo de etapa de agendamento.
- instruction_durations (InstructionDurations) – Dicionário de duração (em dt) para cada instrução.
- approximation_degree (float) – dial heurístico utilizado para aproximação de circuitos (aproximação de 1.0=no, aproximação de 0.0=maximal )
- seed_transpiler (int) – Define uma semente aleatória para as partes estocásticas do transpiler.
- timing_constraints (TimingConstraints) – Restrições de alinhamento de tempo do hardware.
- unitary_synthesis_method (str) – O método de string a ser usado para a
UnitarySynthesispassagem. Procurará um método válido nos plugins instalados. Você pode ver uma lista dos plugins instalados comunitary_synthesis_plugin_names(). - target (Target) – O destino do backend
- hls_config (HLSConfig) – Uma classe de configuração opcional a ser usada para
HighLevelSynthesisopass. Especifica como sintetizar vários objetos de alto nível. - init_method (str) – O nome do plugin a ser utilizado na fase de inicialização
- optimization_method (str) – O nome do plugin a ser utilizado na etapa de otimização.
- qubits_initially_zero (bool) – Indica se o circuito de entrada foi inicializado com zero.
Métodos
from_backend
classmethod from_backend(backend, _skip_target=False, **pass_manager_options)
Crie uma configuração com base no backend e nas informações fornecidas pelo usuário.
Este método gera automaticamente um objeto PassManagerConfig com base nas funcionalidades do backend. As opções do usuário podem ser usadas para substituir a configuração.
Parâmetros
- backend (BackendV2) – O backend que fornece a configuração.
- pass_manager_options – Pares de opções e valores definidos pelo usuário.
Retorna
A configuração gerada com base nos argumentos.
Tipo de retorno
Aumentos
AttributeError – Se o backend não suportar um método configuration().