Zum Hauptinhalt springen
Dieses Projekt befindet sich in der Beta-Phase. Einen Fehler gefunden? GitHub Issue erstellen. Frage oder Idee? In Discussions fragen — wir freuen uns über dein Feedback!
Wie ist die Übersetzungsqualität auf dieser Seite?

Operator backpropagation

Dieses Paket implementiert Operator backpropagation (OBP), um die Tiefe von Circuits bei der Berechnung von Erwartungswerten zu reduzieren. Diese Technik propagiert eine Observable rückwärts durch Gates am Ende eines Quantum Circuits, was zu einem flacheren Circuit führt, allerdings auf Kosten einer größeren Anzahl an Messbasen für die Observable. Je weiter man einen Operator durch einen Circuit zurückpropagiert, desto stärker wächst die Observable exponentiell an, was sowohl klassischen als auch quantenseitigen Ressourcenaufwand verursacht. Bei manchen Circuits ist die resultierende Verteilung der Pauli-Observablen jedoch stärker konzentriert als das exponentielle Worst-Case-Wachstum, sodass einige Terme im Hamiltonian mit kleinen Koeffizienten abgeschnitten werden können, um den Quantenaufwand zu reduzieren. Der dadurch entstehende Fehler lässt sich kontrollieren, um einen geeigneten Kompromiss zwischen Präzision und Effizienz zu finden.

Es gibt mehrere Möglichkeiten, Operator backpropagation durchzuführen. Dieses Paket verwendet eine Methode auf Basis der Clifford-Störungstheorie, die den Vorteil hat, dass der Aufwand beim Rückpropagieren verschiedener Gates durch die Nicht-Clifford-Eigenschaft des jeweiligen Gates bestimmt wird. Das führt bei einigen Circuit-Familien zu einer höheren Effizienz im Vergleich zu Tensornetzwerk-basierten OBP-Methoden, die derzeit selbst dann hohen klassischen Aufwand haben, wenn der Quantenaufwand gering bleibt.

Dieses Paket eignet sich zur Schätzung von Erwartungswerten allgemeiner Quantum Circuits und Pauli-Observablen; bei Circuits mit hoher Magie (stark nicht-Clifford) wird der durch das Abschneiden entstehende Observablen-Fehler jedoch voraussichtlich untragbar, bevor die Observable durch einen sinnvollen Teil des Circuits propagiert wurde. Bei Circuits nahe an Clifford kann es möglich sein, durch deutlich mehr vom Circuit zu propagieren und dabei relativ kleine Fehlerschranken einzuhalten.

Erste Schritte​

Eine einfache Anleitung für einen schnellen Einstieg in dieses Paket findest du im Quickstart-Leitfaden.

Anwendungsbeispiele​

Diese Technik wurde verwendet, um Trotter-Circuits mit geringerer Tiefe für die Zeitentwicklung eines 2D-Spinmodells zu implementieren [1].

Technische Diskussion​

  • Ein einziger Einstiegspunkt: Die Funktion backpropagate führt OBP aus.

  • Zwei unabhängige Stellschrauben für den Kompromiss zwischen Tiefe ↔ Genauigkeit:

    • OperatorBudget begrenzt, wie groß die Observable während der Rückpropagation wachsen darf.

    • TruncationErrorBudget begrenzt, wie viel Fehler während der Rückpropagation entstehen darf.

  • Die Wirksamkeit hängt davon ab, wie Clifford-nah der Circuit ist: Bei Circuits mit hoher Magie (d. h. stark nicht-Clifford) haben die zur Observable hinzugefügten Terme tendenziell größere Koeffizienten, sodass früher mehr Abschneidefehler entsteht und die Tiefenersparnis bei festem Fehlerbudget begrenzt wird. Circuits nahe an Clifford können aggressiver abgeschnitten und bei gleichem Budget tiefer zurückpropagiert werden.

  • Vollständig einsehbar: Jeder Lauf liefert ein OBPMetadata-Objekt zurück, das die Pauli-Anzahl pro Slice, die Anzahl der QWC-Gruppen und den akkumulierten Abschneidefehler festhält, mit plot_*-Hilfsfunktionen, um das Wachstum der Observable und den Fehler gegenüber der Circuit-Tiefe zu visualisieren — nützlich, um Budgets abzustimmen, bevor QPU-Zeit eingesetzt wird.

Mitwirken​

Der Entwicklerleitfaden befindet sich unter CONTRIBUTING.md im Stammverzeichnis des Repositorys dieses Projekts. Mit deiner Teilnahme wird erwartet, dass du den Verhaltenskodex von Qiskit einhältst.

Wir verwenden GitHub Issues, um Anfragen und Bugs 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​

Apache License 2.0

Deprecation-Richtlinie​

Dieses Paket folgt Semantic Versioning. Gelegentlich können wir abwärtsinkompatible Änderungen vornehmen, um die Benutzererfahrung zu verbessern. Wenn möglich, behalten wir alte Schnittstellen bei und markieren sie als veraltet, solange sie neben den neuen bestehen können. Jede wesentliche Verbesserung, abwärtsinkompatible Änderung oder Deprecation wird in den Release Notes dokumentiert.

Referenzen​

    1. Fuller et al., “Improved quantum computation using operator backpropagation,” npj Quantum Inf. 12, 51 (2026). [arXiv]