Skip to main content
IBM Quantum Platform

AddPostSelectionMeasures

class AddPostSelectionMeasures(*args, **kwargs)

GitHub

Basen: TransformationPass

Fügen Sie nach jeder Terminalmessung eine Nachselektionsmessung hinzu.

Eine Post-Selection-Messung ist eine Messung, die auf eine reguläre Messung an einem bestimmten Qubit folgt. Es besteht aus einem schmalbandigen X-Impuls, gefolgt von einem regulären Messvorgang. Bei Abwesenheit von Rauschen wird erwartet, dass es (b + 1) % 2 liefert, wobei b das Ergebnis der ursprünglichen Messung ist.

Bei diesem Durchlauf werden nach jeder Klemmenmessung, d. h. nach jeder Messung, auf die keine weitere Operation an derselben Leitung folgt, Nachselektionsmessungen hinzugefügt. Die hinzugefügten Messungen werden nach einer Barriere platziert und schreiben in neue klassische Register, die Kopien der DAG-Register sind, mit geänderten Namen.

Anmerkung

Wenn dieser Durchlauf auf eine Kontrollflussoperation stößt, durchläuft er alle seine Blöcke. Es markiert nur diejenigen Qubits als "abgeschlossen", die in jedem der Blöcke abgeschlossen sind, und behandelt jedes andere Qubit als nicht abgeschlossen.

Initialisieren Sie den Pass.

Parameter

  • x_pulse_type - Der Typ des X-Impulses, der für die Nachselektionsmessungen verwendet wird.
  • post_selection_suffix - Ein festes Suffix, das an die Namen der klassischen Register angehängt wird, wenn diese kopiert werden.

Attribute

is_analysis_pass

Prüfen Sie, ob der Pass ein Analysepass ist.

Wenn der Pass ein AnalysisPass, ist, bedeutet dies, dass der Pass die DAG analysieren und die Ergebnisse dieser Analyse in den Eigenschaftssatz schreiben kann. Änderungen an der DAG sind bei dieser Art von Pass nicht zulässig.

is_transformation_pass

Prüfen Sie, ob der Pass ein Transformationspass ist.

Wenn es sich bei dem Pass um TransformationPass, handelt, bedeutet dies, dass der Pass die DAG manipulieren kann, aber den Eigenschaftssatz nicht verändern kann (aber er kann gelesen werden).


Methoden

execute

execute(passmanager_ir, state, callback=None)

Ausführen der Optimierungsaufgabe für die Eingabe Qiskit IR.

Parameter

  • passmanager_ir (DAGCircuit) – Qiskit IR zur Optimierung.
  • state (DAGCircuit) – Zustand, der mit der Ausführung des Workflows durch den Pass-Manager selbst verbunden ist.
  • callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – Eine Callback-Funktion, die bei jeder Ausführung einer Optimierungsaufgabe aufgerufen wird.

Rückgabe

Optimierte Qiskit IR und Stand des Workflows.

Rückgabetyp

Tupel [ DAGCircuit, PassManagerState ]

name

name()

Name des Passes.

Rückgabetyp

str

run

run(dag)

GitHub

Führen Sie einen Durchlauf auf dem DAGCircuit durch. Dies wird durch den Entwickler des Ausweises umgesetzt.

Parameter

dag (DAGCircuit) – der Tag, an dem der Pass ausgeführt wird.

Erhöht

NotImplementedError - wenn dies für einen Durchgang nicht implementiert wird.

update_status

update_status(state, run_state)

Aktualisieren Sie den Workflow-Status.

Parameter

  • state (PassManagerState) – Übergeben Sie den Status des Managers zur Aktualisierung.
  • run_state (RunState) – Erledigungsstatus der aktuellen Aufgabe.

Rückgabe

Aktualisierter Status des Passmanagers.

Rückgabetyp

PassManagerState

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.