Skip to main content
IBM Quantum Platform

PadDelay

class PadDelay(*args, **kwargs)

GitHub

Basi: BlockBasePadder

Imbottire il tempo di inattività con istruzioni di ritardo.

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

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.

Vedere BlockBasePadder pass per i dettagli.

Parametri

  • durate - Durate delle istruzioni da utilizzare nella programmazione.
  • fill_very\_end - Imposta True per riempire la fine del circuito con il ritardo.
  • schedule_idle_qubits - Impostare su true se si desidera inserire un ritardo sui qubit inattivi. Questo è utile per le visualizzazioni della linea temporale, ma può causare problemi per l'esecuzione su backend di grandi dimensioni.
  • block_ordering_callable - Un callable usato per produrre un ordinamento dei nodi per minimizzare il numero di blocchi necessari. Se non viene fornito, verrà utilizzato block_order_op_nodes() .
  • target – Il target di compilazione del backend.

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

__call__

__call__(circuit, property_set=None)

Esegue il circuito di passaggio.

Parametri

  • circuit (QuantumCircuit) – Il giorno in cui viene effettuato il passaggio.
  • property_set (PropertySet | dict | None) – Set di proprietà di input/output. Un passaggio di analisi potrebbe modificare le proprietà impostate in loco. Se non specificato, verrà utilizzato property_set l'attributo esistente del pass (se impostato).

Risultati

Se la trasformazione ha esito positivo, il risultato è QuantumCircuit. Se l'analisi ha esito positivo, il circuito di ingresso.

Tipo di restituzione

QuantumCircuit

execute

execute(passmanager_ir, state, callback=None)

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

tupla[ DAGCircuit, PassManagerState ]

name

name()

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.

Aumenti

TranspilerError - Quando un particolare nodo non è programmato, è probabile che venga inserito un passaggio di trasformazione prima che questo nodo venga chiamato.

Tipo di restituzione

DAGCircuit

update_status

update_status(state, run_state)

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.