Skip to main content
IBM Quantum Platform

AddPostSelectionMeasures

class AddPostSelectionMeasures(*args, **kwargs)

GitHub

Basi: TransformationPass

Aggiungere una misura di post-selezione dopo ogni misura del terminale.

Una misura post-selezione è una misura che segue una misura regolare su un dato qubit. Consiste in un impulso X a banda stretta seguito da un'operazione di misura regolare. In assenza di rumore, si prevede che restituisca (b + 1) % 2, dove b è il risultato della misura originale.

Questo passaggio aggiunge misure di post-selezione dopo ogni misura del terminale, cioè dopo ogni misura non seguita da un'altra operazione sullo stesso filo. Le misure aggiunte sono collocate dopo una barriera e scrivono su nuovi registri classici che sono copie dei registri del DAG, con nomi modificati.

Nota

Quando questo passaggio incontra un'operazione di flusso di controllo, itera attraverso tutti i suoi blocchi. Contrassegna come "terminati" solo i qubit che sono terminati in ognuno dei blocchi e tratta come non terminati tutti gli altri qubit.

Inizializza il passaggio.

Parametri

  • x_pulse_type - Il tipo di impulso X da applicare per le misure di post-selezione.
  • post_selection_suffix - Un suffisso fisso da aggiungere ai nomi dei registri classici quando li si copia.

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

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 un passaggio sul circuito DAG. Questo viene implementato dallo sviluppatore del passaggio.

Parametri

dag (DAGCircuit) – il dag su cui viene eseguito il passaggio.

Aumenti

NotImplementedError - quando questo viene lasciato non implementato per un passaggio.

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.