PadDelay
class qiskit.transpiler.passes.PadDelay(*args, **kwargs)
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
Truepara preencher a extremidade do circuito com atraso. - alvo - O
Targetque 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)
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
name
run
run(dag)
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
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)
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