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

Configuração do Gerenciador de Senhas.

Inicializar um objeto PassManagerConfig

Parâmetros

  • initial_layout (Layout | None) – Posição inicial dos qubits virtuais nos qubits físicos.
  • basis_gates (list[str] | None) – Lista dos nomes das portas de base para as quais se deve realizar o desenrolamento.
  • coupling_map (CouplingMap | None) – Grafo direcionado que representa um mapa de acoplamento.
  • layout_method (str | None) – o parâmetro a ser utilizado para escolher o posicionamento inicial dos qubits. Este será o nome do plug-in caso seja utilizado um plug-in externo de estágio de layout.
  • routing_method (str | None) – o passador a ser utilizado para o roteamento de qubits na arquitetura. Esse será o nome do plug-in, caso seja utilizado um plug-in de etapa de roteamento externo.
  • translation_method (str | None) – 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 | None) – o passe a ser utilizado para agendar aulas. Este será o nome do plug-in, caso seja utilizado um plug-in externo de etapa de agendamento.
  • instruction_durations (InstructionDurations | None) – Dicionário de duração (em dt) para cada instrução.
  • approximation_degree (float | None) – Botão heurístico utilizado para a aproximação do circuito, em que 1.0 significa que não há aproximação (dentro da tolerância numérica) e 0.0 significa a aproximação máxima. Se target estiver disponível, um valor de None indica que é permitida uma aproximação até a taxa de erro relatada para uma operação no destino.
  • seed_transpiler (int | None) – Define uma semente aleatória para as partes estocásticas do transpiler.
  • timing_constraints (TimingConstraints | None) – Restrições de alinhamento temporal do hardware.
  • unitary_synthesis_method (str) – O método de string a ser usado para a UnitarySynthesis passagem. Procurará um método válido nos plugins instalados. Você pode ver uma lista dos plugins instalados com unitary_synthesis_plugin_names().
  • unitary_synthesis_plugin_config (dict | None) – O dicionário de configuração que será passado ao plug-in de síntese unitária especificado. Consulte a documentação do plugin para saber como usá-lo.
  • target (Target | None) – O destino do backend
  • hls_config (HLSConfig | None) – Uma classe de configuração opcional a ser usada para HighLevelSynthesis o pass. Especifica como sintetizar diversos objetos de alto nível.
  • init_method (str | None) – O nome do plug-in a ser utilizado na fase de inicialização
  • optimization_method (str | None) – O nome do plug-in 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)

GitHub

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

PassManagerConfig

Aumentos

AttributeError – Se o backend não suportar um método configuration().

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.