Skip to main content
IBM Quantum Platform

AddPostCircuitNonMarkovianErrorChecks

class AddPostCircuitNonMarkovianErrorChecks(*args, **kwargs)

GitHub

Basen: TransformationPass

Füge am Ende der Schaltung auf den aktiven Qubits, die mit einer Messung abgeschlossen wird, nicht-markovsche Fehlerprüfungen hinzu.

Eine nicht-markovsche Fehlerprüfung nach dem Schaltkreis besteht aus einem schmalbandigen X-Impuls, der nach einer Endmessung erfolgt und den Zustand des Qubits aus dem gemessenen Zustand ∣x⟩↦∣x⊕1⟩|x\rangle\mapsto|x\oplus1\rangle umkehrt. Anschließend wird der Zustand gemessen, und falls es der QPU bei einem bestimmten Durchlauf nicht gelungen ist, das Qubit umzukehren, kann diese Stichprobe 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.

Die hinzugefügten Messungen werden in neue klassische Register geschrieben, bei denen es sich um Kopien der DAG-Register handelt, deren Namen geändert wurden (standardmäßig wird dem Registernamen ein "_ps" Anhang hinzugefügt).

Anmerkung

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

Den Durchgang initialisieren.

Parameter

  • x_pulse_type – Der Typ des X-Impulses, der für die Nachmessungen verwendet werden soll. Entweder oder "xslow" "rx".
  • post_check_suffix – Ein festes Suffix, das beim Kopieren an die Namen der klassischen Register angehängt wird.
  • ignore_creg_suffixes – Eine Liste von Suffixen für klassische Register, die ignoriert (nicht kopiert) werden sollen. Standardmäßig werden Register, die mit „_pre“ enden, ignoriert, um zu vermeiden, dass Post-Check-Register zu Pre-Check-Registern hinzugefügt werden.

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 Passfahrt stattfindet.

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.