ConvertToMidCircuitMeasure
class ConvertToMidCircuitMeasure(*args, **kwargs)
Basi: TransformationPass
Passaggio del transpiler che sostituisce le istruzioni di misura a metà circuito.
Passaggio del transpiler che sostituisce le istruzioni di misura terminale in posizioni non terminali con MidCircuitMeasure istruzioni. Per impostazione predefinita, questi saranno measure_2, ma il pass accetta definizioni measure_ personalizzate. Questo passaggio dovrebbe essere eseguito dopo il routing, poiché verificherà che MidCircuitMeasure sia supportato nel qubit fisico corrispondente.
Questo pass è simile a ConvertToMidCircuitResetAndMeasure ma gestisce solo le misurazioni, non i reset. Chiamata interna ConvertToMidCircuitResetAndMeasure con il nome “no-op reset”.
Si noti che il passaggio agirà solo sulle measure istanze non terminali e non sostituirà le istruzioni di misurazione esistenti a metà circuito (ad es., "measure_2" -> "measure_3") né convertirà alcuna MidCircuitMeasure istanza in una Measure.
Parametri
- target – Istanza di destinazione del backend.
- mcm_name – Nome dell'istruzione utilizzata per sostituire le istruzioni non terminali "Measure". Il nome deve iniziare con “measure” e l’istruzione deve essere contenuta nel target. Il nome predefinito è
measure_2.
Aumenti
ValueError – Se il valore specificato non mcm_name inizia con measure o non è contenuto nella destinazione fornita.
Attributi
is_analysis_pass
Controlla se il passaggio è un passaggio di analisi.
Se il pass è un' AnalysisPass,, significa che il pass può analizzare il DAG e scrivere i risultati di tale analisi nel set di proprietà. Questo tipo di pass non consente modifiche al DAG.
is_transformation_pass
Controlla se il passaggio è un passaggio di trasformazione.
Se il pass è un " TransformationPass, ", significa che il pass può manipolare il DAG, ma non può modificare il set di proprietà (che però può essere letto).
Metodi
__call__
__call__(circuit, property_set=None)
Esegue il passaggio sul circuito.
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)
Esegui attività di ottimizzazione per input Qiskit IR.
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
update_status
update_status(state, run_state)
Aggiorna lo stato del flusso di lavoro.
Parametri
- state (PassManagerState) – Passare lo stato del gestore per l'aggiornamento.
- run_state (RunState) – Stato di completamento dell'attività corrente.
Risultati
Stato del gestore pass aggiornato.
Tipo di restituzione