Skip to main content
IBM Quantum Platform

PadDelay

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

GitHub

Basi: BasePadding

Imbottire il tempo di inattività con istruzioni di ritardo.

I ritardi consecutivi saranno uniti nell'output di questo passaggio.

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)

L'uscita del circuito programmato ASAP può diventare

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

Si noti che il tempo di inattività aggiuntivo di 60dt sul filo q_0 derivante dalla differenza di durata tra Delay di 100dt (q_0) e XGate di 160 dt (q_1) viene assorbito nell'istruzione di ritardo sul filo q_0 , cioè in totale 160 dt.

Per i dettagli, consultare il sito BasePadding pass.

Crea un nuovo passaggio di ritardo di imbottitura.

Parametri

  • fill_very\_end - Imposta True per riempire la fine del circuito con il ritardo.
  • target - L'elemento Target che rappresenta il backend di destinazione. Se viene fornito e non supporta l'istruzione di ritardo su un qubit, i passaggi di imbottitura non imbottiscono alcun tempo di inattività del qubit.
  • durata – La durata delle lezioni. Questo vale soprattutto per le applicazioni legacy prive di un Target. L'argomento target dovrebbe in genere essere utilizzato al posto di questo e, se entrambi sono specificati target , avrà la precedenza su quest'ultimo.

Attributi

is_analysis_pass

Controlla se il passaggio è un passaggio di analisi.

Se il passo è un AnalysisPass,, significa che il passo può analizzare il DAG e scrivere i risultati di tale analisi nel set di proprietà. Questo tipo di passaggio non consente di modificare il DAG.

is_transformation_pass

Controlla se il passaggio è un passaggio di trasformazione.

Se il passaggio è un TransformationPass,, significa che il passaggio può manipolare il DAG, ma non può modificare il set di proprietà (ma può essere letto).


Metodi

execute

execute(passmanager_ir, state, callback=None)

GitHub

Eseguire l'attività di ottimizzazione per l'IR Qiskit in ingresso.

Parametri

  • passmanager_ir (DAGCircuit) – Qiskit IR da ottimizzare.
  • state (DAGCircuit) – Stato associato all'esecuzione del flusso di lavoro da parte dello stesso gestore dei passaggi.
  • callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – Una funzione di callback che viene chiamata ad ogni esecuzione di un'attività di ottimizzazione.

Risultati

Qiskit IR ottimizzato e stato del flusso di lavoro.

Tipo di restituzione

tuple [ DAGCircuit, PassManagerState ]

get_duration

get_duration(node, dag)

GitHub

Ottiene la durata di un determinato nodo del circuito.

name

name()

GitHub

Nome del passo.

Tipo di restituzione

STR

run

run(dag)

GitHub

Eseguire il passaggio di imbottitura su dag.

Parametri

dag (DAGCircuit) – DAG da controllare.

Risultati

DAG con tempo di inattività riempito di istruzioni.

Tipo di restituzione

DAGCircuito

Aumenti

TranspilerError – Quando un determinato nodo non è previsto nella sequenza, è probabile che venga inserito un passaggio di trasformazione prima che tale nodo venga chiamato.

update_status

update_status(state, run_state)

GitHub

Aggiornare lo stato del flusso di lavoro.

Parametri

  • state (PassManagerState) – Passare lo stato del gestore da aggiornare.
  • run_state (RunState) – Stato di completamento dell'attività corrente.

Risultati

Stato aggiornato del gestore dei passaggi.

Tipo di restituzione

PassManagerState

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.