ApplyLayout
class qiskit.transpiler.passes.ApplyLayout(*args, **kwargs)
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:
-
Operação padrão:
post_layoutnão está definido. Isso recebe umDAGCircuitdefinido sobre qubits virtuais e o reescreve em termos de qubits físicos. Nesse caso, o campolayoutdeve ter sido escolhido por uma passagem de layout (por exemploSetLayoutouVF2Layout), e tanto ele quanto o campoDAGCircuitdevem ter sido expandidos com ancillas (consulteEnlargeWithAncillaeFullAncillaAllocation). -
Aprimoramento de um layout:
post_layouté definido (por exemplo, porVF2PostLayout). Nesse caso, o sitepost_layoutjá deve ter o tamanho correto. Ele é interpretado como uma reclassificação _additional_ além da reclassificação que já foi aplicada à entradaDAGCircuit.Após a execução da passagem, o campo
layoutserá atualizado para representar a composição das duas reclassificações, assim como o campoDAGCircuite qualquer permutação final. O campopost_layoutserá 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)
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)
Execute a passagem ApplyLayout em dag.
Parâmetros
dag (DAGCircuit) – DAG para mapear.
Retorna
Um DAG mapeado (com qubits físicos).
Tipo de retorno
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)
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