Skip to main content
IBM Quantum Platform

AddPreCircuitNonMarkovianErrorChecks

class AddPreCircuitNonMarkovianErrorChecks(*args, **kwargs)

GitHub

Basen: TransformationPass

Füge am Anfang der Schaltung auf aktiven Qubits nicht-Markovsche Fehlerprüfungen ein, die mit einer Messung enden.

Eine nicht-Markovsche Fehlerprüfung vor dem Schaltkreis besteht aus einem schmalbandigen X-Impuls, der das Qubit aus dem Zustand ∣0⟩↦∣1⟩|0\rangle\mapsto|1\rangle dreht, gefolgt von einem normalen X-Impuls, der das Qubit zurück in den Grundzustand ∣0⟩|0\rangle dreht, sowie einer Messung. Wenn es der QPU bei einem bestimmten Durchlauf nicht gelingt, das Qubit von „ ∣0⟩↦∣1⟩↦∣0⟩|0\rangle\mapsto|1\rangle\mapsto|0\rangle “ 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.

Die hinzugefügten Messwerte 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 "_pre" Registernamen ein 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 Vorabprüfungsmessungen verwendet werden soll. Entweder oder "xslow" "rx".
  • pre_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 „_ps“ enden, ignoriert, um zu vermeiden, dass Pre-Check-Register zu Post-Check-Registern hinzugefügt werden.
  • ignore_creg_names – Eine Liste der genauen Namen klassischer Register, die ignoriert (nicht kopiert) werden sollen. Standardmäßig werden Register mit dem Namen „spec“ ignoriert, um zu vermeiden, dass Pre-Checks zu Spectator-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 das Qiskit-IR-Eingabedaten 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.