Skip to main content
IBM Quantum Platform

AddSpectatorPostCircuitNonMarkovianErrorChecks

class AddSpectatorPostCircuitNonMarkovianErrorChecks(*args, **kwargs)

GitHub

Basen: TransformationPass

Fügen Sie am Ende der Schaltung nicht-markovsche Fehlerprüfungen für Qubits hinzu, die an aktive Qubits angrenzen.

Jedes Beobachter-Qubit durchläuft nach dem Schaltkreis eine nicht-markovsche Fehlerprüfung: eine Messung, anschließend einen schmalbandigen X-Impuls, der den Zustand des Qubits umkehrt ( ∣x⟩↦∣x⊕1⟩|x\rangle\mapsto|x\oplus1\rangle ), und schließlich eine zweite Messung. Wenn es der QPU bei einem bestimmten Durchlauf nicht gelingt, das Qubit zwischen den beiden Messungen umzudrehen, kann diese Probe als unzuverlässig angesehen und verworfen werden. Durch die nachträgliche Auswahl nur jener Stichproben, die alle Prüfungen bestehen, lässt sich die Genauigkeit der aus der QPU entnommenen Verteilungen verbessern. Optional werden auch aktive Qubits include_unmeasured, die nicht durch eine Messung beendet werden, als Zuschauer behandelt.

Es werden zwei klassische Register hinzugefügt, jeweils mit einem Bit pro Zuschauer-Qubit: ( spectator_creg_name Standard "spec") enthält das Ergebnis der ersten Messung und ( spectator_creg_name + post_check_suffix Standard "spec_ps") das der zweiten; ein Schuss wird gespeichert, wenn die beiden Ergebnisse nicht übereinstimmen.

Anmerkung

Diese Durchläufe werden nur auf Heron-QPUs unterstützt, die fraktionierte Gatter unterstützen.

Den Durchgang initialisieren.

Parameter

  • coupling_map – Eine Kopplungskarte oder eine Liste von Tupeln, die Paare benachbarter Qubits angeben.
  • x_pulse_type – Der Typ des X-Impulses, der zwischen den beiden Zuschauer-Messungen angelegt werden soll. Entweder oder "xslow" "rx".
  • include_unmeasured – Gibt an, ob aktive, aber nicht abgeschlossene Qubits ebenfalls als Beobachter behandelt werden sollen. Wenn True, wird die Paritätsprüfung ebenfalls zu jedem einzelnen hinzugefügt.
  • spectator_creg_name – Der Name des klassischen Registers, in dem die erste Zuschauer-Messung gespeichert ist. Das Post-Check-Register heißt spectator_creg_name + post_check_suffix.
  • ignore_creg_suffixes – Eine Liste von Suffixen für klassische Register, die bei der Bestimmung aktiver bzw. beendeter Qubits ignoriert werden sollen. Standardmäßig "_pre" werden Register, die mit enden, ignoriert, damit Messungen im Rahmen der Vorprüfung nicht als reguläre Beendigungen behandelt werden.
  • post_check_suffix – Das Suffix, das an angehängt wird, spectator_creg_name um den Namen des Post-Check-Registers zu bilden, und das zur Identifizierung der Post-Check-Barrieren der Daten-Qubits dient, in die die Zuschauer-Paritätsprüfung integriert ist. Standardmäßig ist "_ps".

Attribute

is_analysis_pass

Prüfen Sie, ob es sich bei dem Durchlauf um einen Analysedurchlauf handelt.

Wenn es sich bei dem Pass um einen „ AnalysisPass, “ handelt, bedeutet dies, dass der Pass den DAG analysieren und die Ergebnisse dieser Analyse in den Eigenschaftssatz schreiben kann. Änderungen am DAG sind bei dieser Art von Durchlauf nicht zulässig.

is_transformation_pass

Prüfe, ob es sich bei dem Pass um einen Transformationspass handelt.

Wenn es sich bei dem Pass um einen „ TransformationPass, “ handelt, bedeutet dies, dass der Pass den DAG bearbeiten kann, die Eigenschaften jedoch nicht ändern darf (sie können jedoch gelesen werden).


Methoden

execute

execute(passmanager_ir, state, callback=None)

Optimierungsaufgabe für die Qiskit-IR-Eingabe ausführen.

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

Optimiertes Qiskit-IR und aktueller 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 vom Pass-Entwickler umgesetzt.

Parameter

dag (DAGCircuit) – der Tag, an dem die Passage befahren wird.

Erhöhungen

NotImplementedError – wenn dies für einen Durchlauf nicht umgesetzt wird.

update_status

update_status(state, run_state)

Status des Workflows aktualisieren.

Parameter

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

Rückgabe

Status des Pass-Managers aktualisiert.

Rückgabetyp

PassManagerState

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