Propagated Noise Absorption (PNA)
Dieses Paket implementiert Propagated Noise Absorption (PNA) [1] zur Minderung von Fehlern im Erwartungswert von Observablen.
PNA funktioniert, indem die Inversen der erlernten Rauschkanäle mithilfe von Pauli-Propagation in eine Ziel-Observable „absorbiert“ werden. Das heißt, jeder Pauli-Rauschgenerator im Rauschmodell wird klassisch bis zum Ende des Circuits propagiert und auf die Observable angewendet. Das Ergebnis ist eine neue Observable, die, wenn sie auf einer QPU gemessen wird, das erlernte Gate-Rauschen mindert.
Dieses Paket eignet sich zur Schätzung von Erwartungswerten allgemeiner Quantencircuits und Pauli-Observablen; die Technik ist jedoch im Allgemeinen am effektivsten bei Circuits, die nahezu Clifford-artig sind.
Erste Schritte
Eine einfache Anleitung, die dir hilft, schnell mit diesem Paket zu beginnen, findest du im Schnellstart-Leitfaden.
Anwendungsbeispiele
Diese Technik wurde verwendet, um Rauschen in trotterisierten Ising-Modellen mit 56 Qubits zu mindern [1].
Technische Diskussion
Methodenübersicht
Die Ausführung von Verschränkungs-Gates auf modernen QPUs führt zu einer erheblichen Menge an Rauschen. Solange keine vollständig fehlertoleranten Geräte verfügbar sind, stehen ideale Verschränkungs-Gates nicht zur Verfügung. Sie werden stattdessen von einem Rauschkanal beeinflusst.
Es ist möglich, dieses Gate-Rauschen als Pauli-Lindblad-Modell zu erlernen und effizient zu charakterisieren, und wie bei der Probabilistic Error Cancellation (PEC) gezeigt, können wir den Fehler mindern, indem wir das Anti-Rauschen mit einem QPU-Sampling-Protokoll implementieren [2]. Andere Techniken, wie die Tensor-Network Error Mitigation (TEM), implementieren den inversen Rauschkanal als klassischen Nachverarbeitungsschritt [3].

Wie TEM implementiert PNA den inversen Rauschkanal in einem klassischen Verarbeitungsschritt. Während TEM Tensornetzwerke verwendet, um die rauschmindernde Abbildung zu beschreiben und auf eine Menge informationell vollständiger Messungen anzuwenden, nutzt PNA Pauli-Propagation, um die Observable durch den inversen Rauschkanal zu propagieren. Das Ergebnis ist eine neue Observable , die, wenn sie gegen den verrauschten Zustand gemessen wird, das erlernte Rauschen mindert.

Quellen von Bias
-
Diese Implementierung propagiert jeden Pauli-Fehlergenerator innerhalb jedes Anti-Rausch-Kanals bis zum Ende des Circuits. Wenn jeder Anti-Rausch-Generator unter der Wirkung von Pauli-Rotations-Gates eines Circuits mit Qubits vorwärts durch den Circuit propagiert wird, wächst die Anzahl der Terme wie bis zu einem Maximum von eindeutigen Pauli-Komponenten. Um die Rechenkosten zu kontrollieren, müssen Terme mit kleinen Koeffizienten abgeschnitten werden, was zu einem gewissen Fehler im entwickelten Anti-Rausch-Kanal führt.
-
Zusätzlich zum Abschneiden des entwickelten Anti-Rausch-Kanals wird auch abgeschnitten, während es durch propagiert wird. Auch dies ist eine Quelle von Bias im endgültigen geminderten Erwartungswert.
-
Während ein größeres Wachstum von während der Propagation dessen Genauigkeit erhöht, erfordert die Messung deutlich mehr Shots auf der QPU. Typischerweise erhöht dies die Koeffizienten der ursprünglichen Pauli-Terme in und erzeugt zugleich viele neue Pauli-Terme mit kleineren Koeffizienten. Sowohl die Neuskalierung der ursprünglichen Koeffizienten als auch die Erzeugung neuer Terme können den Sampling-Overhead erhöhen. In der Praxis schneiden wir noch einmal ab, indem wir nur die größten Terme in messen.
Mitwirken
Der Quellcode ist auf GitHub verfügbar.
Der Entwicklerleitfaden befindet sich in CONTRIBUTING.md im Stammverzeichnis des Repositorys dieses Projekts. Mit deiner Teilnahme verpflichtest du dich, den Verhaltenskodex von Qiskit einzuhalten.
Wir verwenden GitHub Issues, um Anfragen und Fehler zu verfolgen.
Dieses Paket zitieren
Wenn du dieses Paket in deiner Forschung verwendest, nutze die Datei CITATION.bib im Repository dieses Projekts, um die passende(n) Referenz(en) zu zitieren.
Lizenz
Deprecation-Richtlinie
Wir folgen Semantic Versioning. Gelegentlich nehmen wir abwärtsinkompatible Änderungen vor, um die Benutzererfahrung zu verbessern. Wenn möglich, behalten wir alte Schnittstellen bei und markieren sie als veraltet, solange sie mit den neuen koexistieren können. Jede wesentliche Verbesserung, abwärtsinkompatible Änderung oder Deprecation wird in den Versionshinweisen dokumentiert.
Referenzen
-
Andrew Eddins, et al., Computing noise-canceling observables via Pauli propagation, arXiv:2606.20441 [quant-ph].
-
Ewout van den Berg, et al., Probabilistic error cancellation with sparse Pauli-Lindblad models on noisy quantum processors, arXiv:2201.09866 [quant-ph].
-
Sergei Filippov, et al., Scalable tensor-network error mitigation for near-term quantum computing, arXiv:2307.11740 [quant-ph].