Skip to main content
IBM Quantum Platform

FullAncillaAllocation

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

GitHub

Bases: AnalysisPass

Alocar todos os nós ociosos do mapa de acoplamento ou destino como ancilla no layout.

Uma passagem para alocar todos os qubits físicos ociosos (aqueles que existem no mapa de acoplamento ou no destino, mas não no circuito dag) como ancilla. Ele também escolherá novos qubits virtuais para corresponder a esses ancilla físicos.

Nota

Essa é uma passagem de análise e é responsável apenas pela escolha de locais físicos de ancilla e seus qubits virtuais correspondentes. Uma passagem de transformação separada deve adicionar esses qubits virtuais ao circuito.

FullAncillaAllocation inicializador.

Parâmetros

coupling_map (Union[CouplingMap, Target]) – gráfico direcionado que representa um mapa de acoplamento.


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

Execute o passe FullAncillaAllocation no dag.

Amplie o layout com novos pares (qubit físico, qubit virtual). O dag sinaliza quais qubits virtuais já estão no circuito. Essa passagem alocará novos qubits virtuais de forma que não ocorra nenhuma colisão (ou seja, a bijetividade do layout é preservada)

O coupling_map e o layout juntos determinam quais qubits físicos estão livres.

Parâmetros

dag (DAGCircuit) – circuito para analisar

Retorna

retorna o mesmo circuito dag, não modificado

Tipo de retorno

DAGCircuit

Aumentos

TranspilerError – Se não houver nenhum layout definido na propriedade ou se ela não tiver sido definida no momento da inicialização.

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

validate_layout

static validate_layout(layout_qubits, dag_qubits)

GitHub

Verifica se todos os qregs em layout_qregs já existem em dag_qregs. Caso contrário, aumentar.

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