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) – 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 UnitarySynthesis passagem. Procurará um método válido nos plugins instalados. Você pode ver uma lista dos plugins instalados com unitary_synthesis_plugin_names().
  • target (Target) – O destino do backend
  • hls_config (HLSConfig) – Uma classe de configuração opcional a ser usada para HighLevelSynthesis o pass. 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)

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.