NoiseLearnerV3
class NoiseLearnerV3(mode=None, options=None)
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 ).
- A
-
options (NoiseLearnerV3Options) – Die gewünschten Optionen.
Referenzen
- 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
Die Optionen in diesem Noise Learner.
Methoden
backend
backend()
Gibt das Backend zurück, auf dem die einfache Abfrage ausgeführt wird.
Rückgabetyp
BackendV2
run
run(instructions, dry_run=False)
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
Cliffordund 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.
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