Skip to main content
IBM Quantum Platform

Optimize1qGatesSimpleCommutation

class qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation(*args, **kwargs)

GitHub

Bases: TransformationPass

Otimiza as cadeias de portas 1Q interrompidas por portas 2Q, comutando os componentes e ressintetizando os resultados. As regras de comutação são armazenadas em commutation_table.

OBSERVAÇÃO: Além das mencionadas em commutation_table, esse passe tem algumas limitações:

  • Não lida com várias comutações em uma linha sem progresso intermediário.
  • Só é possível comutar para posições em que haja corridas pré-existentes.
  • Não testa exaustivamente todas as diferentes maneiras pelas quais os portões de deslocamento podem ser atribuídos a cada lado de uma barreira para tentar encontrar configurações de baixa profundidade. (Isso é particularmente evidente se todas as portas em uma execução se comunicarem com as barreiras predecessoras e sucessoras)

Parâmetros

  • basis (List[str]) – Consulte também Optimize1qGatesDecomposition.
  • run_to_completion (bool) – Se for True, essa passagem tentará novamente até que não seja possível realizar mais nenhum trabalho. Se for False, ele encontra e executa uma otimização e, para otimização completa, o usuário é obrigado a chamar novamente a passagem até que o resultado se estabilize.
  • target (Target) – O argumento Target que representa o backend de destino; se ambos basis e this forem especificados, esse argumento terá precedência e basis será ignorado.

Atributos

is_analysis_pass

Verificar se o passe é um passe de análise.

Se a passagem for um AnalysisPass,, isso significa que a passagem pode analisar o DAG e escrever os resultados dessa análise no conjunto de propriedades. As modificações no DAG não são permitidas por esse tipo de passe.

is_transformation_pass

Verificar se o passe é um passe de transformação.

Se a passagem for um TransformationPass,, isso significa que a passagem pode manipular o DAG, mas não pode modificar o conjunto de propriedades (mas pode ser lido).


Métodos

execute

execute(passmanager_ir, state, callback=None)

GitHub

Executar a tarefa de otimização para a entrada Qiskit IR.

Parâmetros

  • passmanager_ir (Any) – Qiskit IR para otimizar.
  • state (PassManagerState) – Estado associado à execução do fluxo de trabalho pelo próprio gerenciador de passes.
  • callback (Callable | None) – Uma função de retorno de chamada que é chamada a cada execução da tarefa de otimização.

Retorna

Qiskit IR otimizado e estado do fluxo de trabalho.

Tipo de retorno

tupla [ Any, PassManagerState ]

name

name()

GitHub

Nome do passe.

Tipo de retorno

str

run

run(dag)

GitHub

Parâmetros

dag (DAGCircuit) – o DAG a ser otimizado.

Retorna

o DAG otimizado.

Tipo de retorno

DAGCircuit

update_status

update_status(state, run_state)

GitHub

Atualizar o status do fluxo de trabalho.

Parâmetros

  • state (PassManagerState) – Passar o estado do gerenciador para atualizar.
  • run_state (RunState) – Status de conclusão da tarefa atual.

Retorna

Estado do gerenciador de passes atualizado.

Tipo de retorno

PassManagerState

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