Skip to main content
IBM Quantum Platform

ConvertToMidCircuitMeasure

class ConvertToMidCircuitMeasure(*args, **kwargs)

GitHub

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_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)

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

run(dag)

GitHub

Esegui il passaggio su un dag.

Parametri

dag (DAGCircuit)

Tipo di restituzione

DAGCircuit

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

PassManagerState

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