Stichprobenbasierte Quantumdiagonalisierung (SQD) – Überblick
Die stichprobenbasierte Quantumdiagonalisierung (SQD) ist eine klassische Nachverarbeitungs-Technik, die auf Stichproben wirkt, die nach der Ausführung eines Quantenschaltkreises auf einem QPU gewonnen wurden. Sie eignet sich zur Berechnung von Eigenwerten und Eigenvektoren von Quantenoperatoren, z. B. des Hamiltonoperators eines Quantensystems, und kombiniert dabei Quanten- und verteiltes klassisches Computing. Diese Nachverarbeitungstechnik kann besonders nützlich sein, wenn du chemische oder andere Quantensysteme simulierst.
Klassisches Computing wird verwendet, um Stichproben eines Quantenprozessors zu verarbeiten sowie einen Ziel-Hamiltonoperator in einem von diesen Stichproben aufgespannten Unterraum zu projizieren und zu diagonalisieren. Dadurch ist SQD robust gegenüber durch Quantenrauschen beschädigten Stichproben und kann große Hamiltonoperatoren verwalten – etwa chemische Systeme mit Millionen interagierender Terme –, die mit exakten Diagonalisierungsmethoden nicht mehr handhabbar wären.
Das SQD-Tool kann Hamiltonoperatoren ansteuern, die als Linearkombinationen von Pauli-Operatoren oder zweiquantisierten fermionischen Operatoren ausgedrückt sind. Die Eingabestichproben werden durch benutzerdefinierte Quantenschaltkreise gewonnen, die als gute Repräsentationen von Eigenzuständen (z. B. dem Grundzustand) eines Zieloperators angesehen werden. Die Konvergenzrate von SQD als Funktion der Stichprobenanzahl verbessert sich mit der Spärlichkeit des Ziel-Eigenzustands.
Das SQD-Paket installieren
Es gibt zwei Möglichkeiten, das SQD-Paket zu installieren: über PyPI oder durch das Bauen aus dem Quellcode. Es wird empfohlen, diese Pakete in einer virtuellen Umgebung zu installieren, um die Trennung der Paketabhängigkeiten sicherzustellen.
Aus PyPI installieren
Die einfachste Möglichkeit, das Paket qiskit-addon-sqd zu installieren, ist über PyPI.
pip install qiskit-addon-sqd
Aus dem Quellcode bauen
Hier klicken, um zu lesen, wie du dieses Paket manuell installierst
Wenn du zum Paket beitragen möchtest oder es manuell installieren willst, klone zuerst das Repository:
git clone git@github.com:Qiskit/qiskit-addon-sqd.git
und installiere das Paket über pip. Das Repository enthält außerdem Beispiel-Notebooks, die du ausführen kannst. Wenn du im Repository entwickeln möchtest, kannst du die dev-Abhängigkeiten installieren.
Passe die Optionen nach Bedarf an.
pip install tox notebook -e '.[notebook-dependencies, dev]'
Theoretischer Hintergrund
Der SQD-Workflow mit selbstkonsistenter Konfigurationswiederherstellung wird in [1] ausführlich erläutert. Dieser Abschnitt gibt einen Überblick über die Technik, die im folgenden Diagramm dargestellt ist.

Hier ist eine Menge verrauschter Stichproben, die – im Kontext des simulierten Hamiltonoperators – physikalische und nicht-physikalische Konfigurationen (als Bitstrings dargestellt) enthalten, die bei der Ausführung auf einem QPU gewonnen wurden. Die nicht-physikalischen Konfigurationen sind auf Rauschen zurückzuführen und können durch die Methode sqd.configuration_recovery.recover_configurations() verarbeitet werden, um die Stichproben zu einer neuen Menge zu verfeinern.
Aus dieser Menge werden Batches von Konfigurationen gemäß einer Verteilung gesammelt, die proportional zu den empirischen Häufigkeiten jedes in ist. Jeder Batch von Stichprobenkonfigurationen spannt einen Unterraum auf, in dem der Hamiltonoperator projiziert und diagonalisiert wird:
wobei der Hamiltonoperator eines gegebenen Unterraums ist.
Der Großteil des SQD-Workflows liegt darin, dass jeder dieser Unterraum-Hamiltonoperatoren diagonalisiert wird. Die aus diesen Unterräumen gewonnenen Grundzustände werden verwendet, um eine Schätzung eines Referenzvektors der Besetzungen zu erzeugen, gemittelt über alle Unterräume. Eine neue Menge von Konfigurationen wird dann durch probabilistisches Umkippen einzelner Bits erzeugt, basierend auf dieser mittleren Besetzung und der bekannten Gesamtanzahl von Teilchen (Hamming-Gewicht) im System. Dieser Konfigurationswiederherstellungsprozess wird dann wiederholt, indem eine neue Menge von Unterräumen zur Diagonalisierung vorbereitet, neue Eigenzustände und gemittelte Orbitalbesetzungen gewonnen und eine neue Menge von Konfigurationen erzeugt wird. Diese Schleife wird solange iteriert, bis ein benutzerdefiniertes Kriterium erfüllt ist, und der Gesamtprozess ist analog zum Filtern eines verrauschten Signals zur Verbesserung seiner Genauigkeit.
Nächste Schritte
- Lies die Seite Erste Schritte mit SQD.
- Lies das Tutorial zur Verbesserung der Energieschätzung mit SQD.
Referenzen
[1] Robledo-Moreno, Javier, et al. "Chemistry beyond exact solutions on a quantum-centric supercomputer" arXiv preprint arXiv:2405.05068 (2024).