Skip to main content
IBM Quantum Platform

PadDelay

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

GitHub

Bases: BasePadding

Preenchimento do tempo ocioso com instruções de atraso.

Atrasos consecutivos serão mesclados na saída dessa passagem.

from qiskit import QuantumCircuit
from qiskit.transpiler import InstructionDurations

durations = InstructionDurations([("x", None, 160), ("cx", None, 800)])

qc = QuantumCircuit(2)
qc.delay(100, 0)
qc.x(1)
qc.cx(0, 1)

A saída do circuito programado ASAP pode se tornar

     ┌────────────────┐
q_0: ┤ Delay(160[dt]) ├──■──
     └─────┬───┬──────┘┌─┴─┐
q_1: ──────┤ X ├───────┤ X ├
           └───┘       └───┘

Observe que o tempo ocioso adicional de 60dt no fio q_0 proveniente da diferença de duração entre Delay de 100dt (q_0) e XGate de 160 dt (q_1) é absorvido na instrução de atraso no fio q_0 , ou seja, no total de 160 dt.

Consulte o passe BasePadding para obter detalhes.

Criar nova passagem de atraso de preenchimento.

Parâmetros

  • fill_very_end - Defina True para preencher a extremidade do circuito com atraso.
  • alvo - O Target que representa o backend de destino. Se for fornecido e não suportar instrução de atraso em um qubit, as passagens de preenchimento não preencherão nenhum tempo ocioso do qubit.

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 ]

get_duration

get_duration(node, dag)

GitHub

Obter a duração de um determinado nó no circuito.

name

name()

GitHub

Nome do passe.

Tipo de retorno

str

run

run(dag)

GitHub

Execute o passe de preenchimento em dag.

Parâmetros

dag (DAGCircuit) – DAG a ser verificado.

Retorna

DAG com tempo ocioso preenchido com instruções.

Tipo de retorno

DAGCircuit

Aumentos

TranspilerError - Quando um determinado nó não está programado, é provável que alguma passagem de transformação seja inserida antes que esse nó seja chamado.

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.