Skip to main content
IBM Quantum Platform

ApplyLayout

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

GitHub

Bases: TransformationPass

Aplicar ou atualizar o mapeamento de qubits virtuais para qubits físicos no DAGCircuit.

Um "layout" no Qiskit é um mapeamento de qubits virtuais (como o usuário normalmente cria circuitos em termos de) para os qubits físicos usados para representá-los no hardware.

Essa passagem tem dois modos de operação, dependendo do estado das teclas layout e post_layout no PropertySet:

  1. Operação padrão: post_layout não está definido. Isso recebe um DAGCircuit definido sobre qubits virtuais e o reescreve em termos de qubits físicos. Nesse caso, o campo layout deve ter sido escolhido por uma passagem de layout (por exemplo SetLayout ou VF2Layout), e tanto ele quanto o campo DAGCircuit devem ter sido expandidos com ancillas (consulte EnlargeWithAncilla e FullAncillaAllocation).

  2. Aprimoramento de um layout: post_layout é definido (por exemplo, por VF2PostLayout). Nesse caso, o site post_layout já deve ter o tamanho correto. Ele é interpretado como uma reclassificação _additional_ além da reclassificação que já foi aplicada à entrada DAGCircuit.

    Após a execução da passagem, o campo layout será atualizado para representar a composição das duas reclassificações, assim como o campo DAGCircuit e qualquer permutação final. O campo post_layout será removido.


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

Verifique 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

Execute a passagem ApplyLayout em dag.

Parâmetros

dag (DAGCircuit) – DAG para mapear.

Retorna

Um DAG mapeado (com qubits físicos).

Tipo de retorno

DAGCircuit

Aumentos

TranspilerError - se nenhum layout for encontrado em property_set ou se não houver qubits físicos completos.

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.