Optimize1qGatesSimpleCommutation
class qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation(*args, **kwargs)
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
Targetque representa o backend de destino; se ambosbasise this forem especificados, esse argumento terá precedência ebasisserá 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)
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
run
run(dag)
Parâmetros
dag (DAGCircuit) – o DAG a ser otimizado.
Retorna
o DAG otimizado.
Tipo de retorno
update_status
update_status(state, run_state)
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