Skip to main content
IBM Quantum Platform

ASAPScheduleAnalysis

class ASAPScheduleAnalysis(*args, **kwargs)

GitHub

Basi: BaseDynamicCircuitAnalysis

Circuiti dinamici as-soon-as-possible (ASAP) per l'analisi dello scheduling.

Si tratta di uno scheduler progettato per lavorare con i vincoli di scheduling unici dei backend dei circuiti dinamici, dovuti alle limitazioni imposte dall'hardware. Si prevede che questo aspetto si evolverà nel tempo con la modifica dei circuiti dinamici.

Nella sua forma attuale è simile allo scheduler ASAP di Qiskit, in cui le istruzioni iniziano il prima possibile.

Le differenze principali sono le seguenti:

  • Attualmente, i reset e il flusso di controllo determinano la fine di un "blocco quantistico". Il periodo compreso tra

    la fine del blocco e quello successivo è non deterministico, ovvero non sappiamo quando inizierà il blocco successivo (poiché potremmo trovarci a valutare una funzione classica di lunghezza non deterministica) e pertanto il blocco successivo inizia in un " t=0 " relativo.

  • Durante una misura è possibile applicare porte in parallelo su qubit disgiunti.

  • Le misurazioni e i ripristini sui qubit disgiunti avvengono simultaneamente e fanno parte dello stesso

    blocco.


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 ALAPSchedule su dag.

Parametri

dag (DAGCircuit) – DAG da inserire nel programma.

Aumenti

  • TranspilerError - se il circuito non è mappato su qubit fisici.
  • TranspilerError - se viene aggiunto un bit condizionale a un'istruzione non supportata.

Risultati

Il DAGCircuito programmato.

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.