PadDelay
class PadDelay(*args, **kwargs)
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
Trueper 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_setl'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
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)
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
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