Zum Hauptinhalt springen

Mehrfachprodukt-Formeln (MPF)

Paketversionen

Der Code auf dieser Seite wurde mit den folgenden Anforderungen entwickelt. Wir empfehlen, diese oder neuere Versionen zu verwenden.

Mehrfachprodukt-Formeln (MPF) können verwendet werden, um die Dynamik eines Quantensystems genauer zu simulieren – auf Kosten zusätzlicher Schaltkreisausführungen. Dies ist eine Nachverarbeitungstechnik, die den Fehler von Erwartungswerten für zeitentwickelte Zustände reduziert.

Klassisches Computing wird eingesetzt, um ein lineares Gleichungssystem zu lösen, das Koeffizienten für eine gewichtete Kombination mehrerer Schaltkreisausführungen liefert. Diese gewichtete Kombination kann den Fehler bei der Simulation der Zeitentwicklung reduzieren, sofern die Trotter-Schritte gut gewählt sind. Das MPF-Tool verarbeitet eine Auswahl von Daten – darunter die Anzahl der Trotter-Schritte und die Ordnung der Trotter-Näherung –, um das zugehörige lineare Gleichungssystem vorzubereiten und zu lösen (oder näherungsweise zu lösen). Das Ergebnis kannst du dann zur Nachverarbeitung von Erwartungswertmessungen eines zeitentwickelten Zustands verwenden.

Das MPF-Paket installieren

Es gibt zwei Möglichkeiten, das MPF-Paket zu installieren: über PyPI oder durch Kompilieren aus dem Quellcode. Es wird empfohlen, die Installation in einer virtuellen Umgebung durchzuführen, um Abhängigkeitskonflikte zu vermeiden.

Von PyPI installieren

Der einfachste Weg, das qiskit-addon-mpf-Paket zu installieren, ist über PyPI.

pip install qiskit-addon-mpf

Aus dem Quellcode kompilieren

Nutzer, die im Repository entwickeln oder es manuell installieren möchten, können zunächst das Repository klonen:

git clone git@github.com:Qiskit/qiskit-addon-mpf.git

und das Paket dann über pip installieren. Das Repository enthält außerdem eine Reihe optionaler Abhängigkeiten, die bestimmte Funktionen aktivieren.

Passe die Optionen nach deinen Bedürfnissen an.

pip install tox notebook -e '.[notebook-dependencies,dev]'

Theoretischer Hintergrund

MPFs können den Trotter-Näherungsfehler bei der Simulation der Dynamik von Quantensystemen durch eine gewichtete Kombination mehrerer Schaltkreisausführungen reduzieren. Diese gewichtete Summe ist definiert als:

μ(t)=jxjρjkj(tkj)+some remaining Trotter error,\mu(t) = \sum_j x_j\rho_j^{k_j}\left(\frac{t}{k_j}\right) + \text{some remaining Trotter error},

wobei xjx_j die Gewichtungskoeffizienten sind, ρjkj\rho_j^{k_j} die Dichtematrix ist, die dem reinen Zustand entspricht, der durch Entwicklung des Anfangszustands mittels einer Produktformel SkjS^{k_j} entsteht, die den Zeitentwicklungsoperator mit kjk_j Trotter-Schritten näherungsweise darstellt, und jj jede in der Summe verwendete Produktformel indiziert.

Mehrere Schaltkreise mit unterschiedlicher Anzahl von Trotter-Schritten werden verwendet, um die Zielgröße zu berechnen

Im Allgemeinen ist das Ziel der Simulation von Quantendynamik jedoch die Messung einer Observable O(t)\mathcal{O}(t), die eine Funktion der Zeit ist. Bei der Verwendung von MPFs werden mehrere Schaltkreise – jeder mit kjk_j Trotter-Schritten – ausgeführt, um mehrere Messungen der Zielgröße Okj(t)\mathcal{O}_{k_j}(t) zu erhalten. Die Messung der Zielgröße wird dann durch folgende Berechnung ermittelt:

O(t)=jxj(t)Okj(t).\langle \mathcal{O}(t) \rangle = \sum_j x_j(t) \langle \mathcal{O}_{k_j}(t) \rangle.

Im Wesentlichen lässt sich der Gesamtfehler der Trotter-Näherung reduzieren, indem der Zeitentwicklungsoperator durch mehrere Produktformeln mit unterschiedlicher Anzahl von Trotter-Schritten angenähert wird, anstatt eine einzelne Produktformel zu verwenden. Für jeden Term der gewichteten Summe wird ein Schaltkreis erstellt, der das System gemäß den jeweiligen kjk_j Trotter-Schritten entwickelt. Jeder Schaltkreis wird dann separat auf einem QPU ausgeführt, um die Ergebnisse in einem Nachverarbeitungsschritt zu rekonstruieren. Der Nutzen dieser Technik lässt sich aus zwei Perspektiven betrachten:

  1. Bei einer festen Anzahl ausgeführter Trotter-Schritte erhältst du Ergebnisse mit einem insgesamt kleineren Trotter-Fehler.
  2. Bei einer Anzahl von Trotter-Schritten, die zu tiefen Schaltkreisen führt, kannst du MPF verwenden, um mehrere kürzere Schaltkreise zu finden, die einen ähnlichen Trotter-Näherungsfehler ergeben.

MPF-Koeffizienten bestimmen

Die Kernfunktionalität des qiskit-addon-mpf-Pakets liegt in der Bestimmung der MPF-Koeffizienten xj(t)x_j(t) (die zeitabhängig sein können). Um jeden xj(t)x_j(t) zu ermitteln, wird ein lineares Gleichungssystem Ax=bAx=b gelöst, wobei xx der Vektor der zu bestimmenden Koeffizienten ist, AA eine Matrix, die von den kjk_j und der verwendeten Produktformel SS (also von der Näherungsordnung und der Anzahl der Trotter-Schritte) abhängt, und bb ein Vektor von Constraints ist. Dieses Gleichungssystem kann entweder exakt oder mit einem Näherungsmodell gelöst werden, das die 1-Norm der Koeffizienten minimiert. Die Wahl der einzelnen kjk_j ist ein heuristischer Prozess, kann aber durch folgende Constraints eingegrenzt werden:

  1. Der größte kjk_j-Wert ist durch die maximale Schaltkreistiefe begrenzt, die zuverlässig ausgeführt werden kann
  2. Der kleinste kjk_j sollte dt=t/kj<1dt = t/k_j < 1 erfüllen, da dort der Trotter-Fehler am besten kontrolliert ist
  3. Keiner der Koeffizienten xjx_j sollte nahe bei 00 liegen, da dies bedeuten würde, dass sie kaum zur MPF beitragen
  4. Ebenso sollte der Koeffizient des größten kjk_j-Werts nicht dominieren, da dies impliziert, dass eine einzelne Produktformel verwendet wird
  5. Schließlich sollte die Norm der erhaltenen Koeffizienten xjx_j klein sein, da dies auf eine gut konditionierte MPF hindeutet 1

Nächste Schritte

Empfehlungen

Referenzen

  1. A. Carrera Vazquez, D. J. Egger, D. Ochsner, and S. Wörner, "Well-conditioned multi-product formulas for hardware-friendly Hamiltonian simulation", Quantum 7, 1067 (2023).
  2. S. Zhuk, N. Robertson, and S. Bravyi, "Trotter error bounds and dynamic multi-product formulas for Hamiltonian simulation", Phys. Rev. Research 6, 033309 (2024).
  3. N. Robertson, et al. "Tensor Network enhanced Dynamic Multiproduct Formulas", arXiv:2407.17405v2 [quant-ph].