Skip to main content
IBM Quantum Platform

NoiseLearnerV3

class NoiseLearnerV3(mode=None, options=None)

GitHub

Basen: object

Klasse zur Durchführung von Experimenten zum Rauschlernen.

Der Rausch-Lerner ermöglicht die Charakterisierung der Rauschprozesse, die Zielanweisungen beeinflussen, basierend auf dem in [Abschnitt 1] beschriebenen Pauli-Lindblad-Rauschmodell. Die an die run() Methode übergebenen Anweisungen müssen eine Twirled-Annotation BoxOp enthalten, die ISA-Operationen umfasst. Das Ergebnis eines „Noise Learner“-Jobs enthält eine Liste von NoiseLearnerV3Result Objekten, eines für jede angegebene Anweisung.

Parameter

  • mode (BackendV2 | Session |Batch | None) –

    Der Ausführungsmodus, der für die ursprüngliche Abfrage verwendet wurde. Auswahlmöglichkeiten:

    • A Backend , wenn Sie den Job-Modus verwenden.
    • A Session , wenn Sie den Sitzungsausführungsmodus verwenden.
    • A Batch , wenn Sie den Batch-Ausführungsmodus verwenden.

    Weitere Informationen zu den Ausführungsmodi finden Sie in der Dokumentation unter IBM Quantum Compute (früher Qiskit Runtime ).

  • options (NoiseLearnerV3Options) – Die gewünschten Optionen.

Referenzen

  1. E. van den Berg, Z., Minev, A., Kandala, K., Temme, K.: „Probabilistische Fehlerkorrektur mit spärlichen Pauli-Lindblad-Modellen auf verrauschten Quantenprozessoren “, Nature Physics, Band 19, Seiten 1116–1121 (2023). arXiv:2201.09866 [quant-ph]

Attribute

mode

Gibt den von dieser Primitivfunktion verwendeten Ausführungsmodus zurück.

Rückgabe

Der von dieser Primitivfunktion verwendete Modus oder None falls kein Ausführungsmodus verwendet wird.

options

Typ: NoiseLearnerV3Options

Die Optionen in diesem Noise Learner.


Methoden

backend

backend()

GitHub

Gibt das Backend zurück, auf dem die einfache Abfrage ausgeführt wird.

Rückgabetyp

BackendV2

run

run(instructions, dry_run=False)

GitHub

Reichen Sie eine Anfrage beim „Noise Learner“-Programm ein.

Es werden zwei Protokolle unterstützt:

  • Lindblad: Für Anweisungen in Kästchen, deren Inhalt in Folgendes umgewandelt werden kann

    Clifford und bestehen aus einer einzigen Schicht mit (bis zu) zwei Qubit-Gattern.

  • TREX: für Box-Anweisungen, deren Inhalt genau eine Messung pro Qubit enthalten kann.

Anmerkung

Um die Anzahl der Experimente zum Rauschlernen zu minimieren, rufen Sie find_unique_box_instructions() vor dem Ausführen des Rauschlern-Jobs auf.

Parameter

  • instructions (Iterable[CircuitInstruction]) – Die Anleitung, um das Geräusch zu lernen.
  • dry_run (bool) – Wenn True, wird ein Testlauf durchgeführt, ohne den Auftrag auf einer QPU auszuführen. Dieser Modus kann verwendet werden, um den Auftrag zu validieren, den Ressourcenverbrauch abzuschätzen und Metadaten zur Schaltungszeit zu abrufen. Die zurückgegebenen Ergebnisse entsprechen dem erwarteten Schema, enthalten jedoch zufällig generierte Dummy-Daten anstelle von tatsächlichen oder simulierten Messergebnissen. Im Gegensatz zu den simulierten Backends erfolgt die Verarbeitung dieses Testlaufs serverseitig, sodass der Vorgang möglicherweise nicht sofort abgeschlossen wird und der Zugriff auf diese Funktion eingeschränkt sein kann.

Rückgabe

Der übermittelte Auftrag.

Erhöht

IBMInputValueError – Wenn die Anweisungen nicht mit dem Noise Learner verwendet werden können, beispielsweise: * Wenn eine Anweisung ein Feld ohne Twirl-Annotation enthält. * Wenn eine Anweisung nicht-physikalische Qubits enthält, d. h. Qubits, die nicht zum „physikalischen“ Register QuantumRegister(backend.num_qubits, 'q') des verwendeten Backends gehören. * Wenn ein Befehl eine Box mit Nicht-ISA-Gates enthält. * Wenn eine Anweisung durch keines der unterstützten Lernprotokolle erlernt werden kann.

Rückgabetyp

RuntimeJobV2

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