Skip to main content
IBM Quantum Platform

AddSpectatorMeasures

class AddSpectatorMeasures(*args, **kwargs)

GitHub

Basi: TransformationPass

Aggiungere misure sui qubit spettatori.

Un qubit attivo è un qubit su cui si agisce nel circuito mediante un'istruzione non barriera. Un qubit terminato è un qubit la cui ultima azione è una misurazione. Un qubit spettatore è un qubit inattivo, ma adiacente a un qubit attivo sotto la mappa di accoppiamento. Questo passaggio aggiunge una misura a tutti i qubit spettatori e, opzionalmente tramite include_unmeasured, a tutti i qubit attivi che non sono qubit terminati.

Le misure aggiunte scrivono in un nuovo registro che ha un bit per ogni qubit spettatore e si chiama spectator_creg_name.

Nota

Quando questo passaggio incontra un'operazione di flusso di controllo, itera attraverso tutti i suoi blocchi. Segnala come "attivo" ogni qubit che è attivo in almeno uno dei blocchi e come "terminato" ogni qubit che è terminato in ognuno dei blocchi.

Inizializza il passaggio.

Parametri

  • coupling\map - Una mappa di accoppiamento o un elenco di tuple che indicano coppie di qubit vicini.
  • include_unmeasured - Se i qubit che sono attivi ma non sono terminati da una misurazione devono essere trattati come spettatori. Se True, viene aggiunta una misura del terminale su ciascuno di essi.
  • spectator_creg_name - Il nome del registro classico aggiunto per le misure sui qubit spectator.
  • add_barrier - Se aggiungere una barriera che agisca su tutti i qubit attivi e quelli dello spettatore prima delle misure dello spettatore.

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.