Tensor-Netzwerk-Fehlerminderung (TEM): Eine Qiskit-Funktion von Algorithmiq
Siehe API-Referenz
Qiskit-Funktionen sind eine experimentelle Funktion, die nur für Benutzer des IBM Quantum® Premium Plan, Flex Plan und On-Prem (über IBM Quantum Platform API) Plan verfügbar ist. Sie befinden sich im Status einer Vorabversion und können sich noch ändern.
Der Code auf dieser Seite wurde unter Berücksichtigung der folgenden Anforderungen entwickelt. Wir empfehlen die Verwendung dieser oder neuerer Versionen.
qiskit[all]~=2.5.1
Übersicht
Die Tensor-Network Error Mitigation (TEM) Methode von Algorithmiq ist ein hybrider hybrider quantenklassischer Algorithmus, der die Rauschminderung vollständig in der der klassischen Nachbearbeitungsphase. Mit TEM kann der Benutzer die erwartungswerte von Observablen berechnen und dabei die unvermeidlichen, durch Rauschen verursachten Fehler abmildern die bei Quantenhardware auftreten, mit erhöhter Genauigkeit und Kosteneffizienz, dies macht sie zu einer äußerst attraktiven Option für Quantenforscher und Industrie praktiker gleichermaßen attraktiv macht.
Die Methode besteht darin, ein Tensornetz zu konstruieren, das die Umkehrung des des globalen Rauschkanals darstellt, der den Zustand des Quantenprozessors beeinflusst, und dann anwendung der Abbildung auf informationell vollständige Messergebnisse, die aus dem verrauschten dem verrauschten Zustand, um unverzerrte Schätzer für die Observablen zu erhalten.
Als Vorteil nutzt TEM informationsvollständige Messungen, um Zugriff auf eine Vielzahl von gemilderten Erwartungswerten von Observablen zu gewähren, und hat einen optimalen Sampling-Overhead auf der Quantenhardware, wie in Filippov et al. (2023) und arXiv:2307.11740 Filippov et al. (2024) beschrieben. arXiv:2403.13542 Der Messaufwand bezieht sich auf die Anzahl der zusätzlichen Messungen, die erforderlich sind, um eine effiziente Fehlerkorrektur durchzuführen, ein entscheidender Faktor für die Durchführbarkeit von Quantenberechnungen. Daher hat TEM das Potenzial, einen Quantenvorteil in komplexen Szenarien zu ermöglichen, beispielsweise in Anwendungen in den Bereichen Quantenchaos, Vielteilchenphysik, Hubbard-Dynamik und Simulationen in der Chemie kleiner Moleküle .
Die wichtigsten Merkmale und Vorteile von TEM lassen sich wie folgt zusammenfassen:
- Optimaler Aufwand für die Messung : TEM ist optimal im Hinblick auf theoretischen Schranken, das bedeutet, dass keine Methode einen geringeren Messaufwand erreichen kann. Mit anderen Worten mit anderen Worten: TEM erfordert die geringstmögliche Anzahl zusätzlicher Messungen, um eine fehlerminderung. Dies wiederum bedeutet, dass TEM eine minimale Quantenlaufzeit benötigt.
- Kosteneffizienz : Da TEM die Rauschunterdrückung vollständig in der nachbearbeitungsphase übernimmt, müssen dem Quantencomputer keine zusätzlichen Schaltungen hinzugefügt quantencomputer hinzuzufügen, was nicht nur die Berechnung billiger macht, sondern auch das risiko der Einführung zusätzlicher Fehler aufgrund der Unvollkommenheiten von Quanten geräte.
- Schätzung mehrerer Observablen : Dank der informationsmäßig vollständigen messungen schätzt TEM effizient mehrere Observablen mit denselben messdaten aus dem Quantencomputer.
- Verringerung von Messfehlern : Die TEM Qiskit Funktion beinhaltet auch eine proprietäre Methode zur Messfehlerbegrenzung die nach einem kurzen Kalibrierungslauf die Messfehler erheblich reduzieren kann.
- Genauigkeit : TEM verbessert deutlich die Genauigkeit und Zuverlässigkeit von digitalen Quantensimulationen und macht Quantenalgorithmen präziser und verlässlich.
Beschreibung
Die TEM-Funktion ermöglicht es Ihnen, fehlerbereinigte Erwartungswerte für mehrere Observablen auf einem Quantenschaltkreis mit minimalem Abtast-Overhead. Die die Schaltung wird mit einem informationell vollständigen, positiven, operatorbewerteten (IC-POVM) gemessen, und die gesammelten Messergebnisse werden auf einem klassischen Computer verarbeitet. Diese Messung wird verwendet, um die Tensornetz methoden durchzuführen und eine Rauschinversionskarte zu erstellen. Die Funktion wendet eine Karte an, die den gesamten verrauschten Schaltkreis vollständig invertiert, wobei Tensornetzwerke zur Darstellung der verrauschten schichten.
Sobald die Schaltungen der Funktion unterworfen sind, werden sie transpiliert und optimiert, um die Anzahl der Schichten mit Zwei-Qubit-Gattern (die lauteren gatter auf Quantengeräten). Das auf die Schichten einwirkende Rauschen wird gelernt durch Qiskit Runtime mit Hilfe eines spärlichen Pauli-Lindblad-Rauschmodells, wie in E beschrieben. van den Berg, Z. Minev, A. Kandala, K. Temme, Nat. Phys. (2023). arXiv:2201.09866.
Das Rauschmodell ist eine genaue Beschreibung des Rauschens auf dem Gerät und kann subtile Merkmale zu erfassen, einschließlich des Übersprechens von Qubits. Allerdings kann das Rauschen auf den schwanken und driften, und das erlernte Rauschen ist zum Zeitpunkt der Schätzung möglicherweise nicht zu dem Zeitpunkt, an dem die Schätzung vorgenommen wird. Dies könnte zu ungenauen ergebnisse führen.
Erste Schritte
Authentifizieren Sie sich mit Ihrem IBM Quantum Platform API-Schlüssel und wählen Sie die TEM-Funktion wie folgt aus. (In diesem Codeausschnitt wird davon ausgegangen, dass Sie Ihr Konto bereits in Ihrer lokalen Umgebung gespeichert haben.)
from qiskit_ibm_catalog import QiskitFunctionsCatalog
tem_function_name = "algorithmiq/tem"
catalog = QiskitFunctionsCatalog(channel="ibm_quantum_platform")
# verify that you have access to the function
catalog.list()Output:
[QiskitFunction(qunova/hivqe-chemistry),
QiskitFunction(global-data-quantum/quantum-portfolio-optimizer),
QiskitFunction(algorithmiq/tem),
QiskitFunction(qedma/qesem),
QiskitFunction(multiverse/singularity),
QiskitFunction(ibm/circuit-function),
QiskitFunction(q-ctrl/optimization-solver),
QiskitFunction(colibritd/quick-pde),
QiskitFunction(q-ctrl/performance-management),
QiskitFunction(kipu-quantum/iskay-quantum-optimizer)]
# Load your function
tem = catalog.load(tem_function_name)Beispiel
Der folgende Ausschnitt zeigt ein Beispiel, in dem TEM verwendet wird, um die Erwartungswerte einer Beobachtungsgröße in einem einfachen Quantenkreis zu berechnen.
from qiskit import QuantumCircuit
from qiskit.quantum_info import SparsePauliOp
# Create a quantum circuit
qc = QuantumCircuit(3)
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)
for _ in range(2):
qc.barrier()
qc.cx(0, 1)
qc.cx(2, 1)
qc.barrier()
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)
# Define the observables
observable = SparsePauliOp("IYX", 1.0)
# Define the execution options
pub = (qc, [observable])
options = {"default_precision": 0.02}
# Define backend to use. TEM will choose the least-busy device
# reported by IBM if not specified
backend_name = "ibm_marrakesh"
# Run the TEM function (uses around three minutes of QPU time)
job = tem.run(pubs=[pub], backend_name=backend_name, options=options)Verwenden Sie die Qiskit Serverless-APIs, um den Status Ihres Qiskit Function-Workloads zu überprüfen:
# Print the ID so you can use it later, if necessary
print(job.job_id)
print(job.status())Output:
ea1d7802-b067-4cc9-af39-3c2402d22413
QUEUED
Sie können die Ergebnisse als zurückgeben:
result = job.result()
evs = result[0].data.evs
print(evs[0])Output:
-0.10628832892063486
Der Erwartungswert für die geräuschlose Schaltung für den gegebenen Operator sollte etwa 0.18409094298943401 betragen.
Unterstützung anfordern
Wenden Sie sich an qiskit\ [email protected]
Achten Sie darauf, dass Sie die folgenden Informationen angeben:
- Qiskit Function Job ID (
qiskit-ibm-catalog),job.job_id - Eine detaillierte Beschreibung des Problems
- Alle relevanten Fehlermeldungen oder Codes
- Schritte zum Reproduzieren des Problems
Nächste Schritte
- Beantragen Sie Zugriff auf die Fehlerbehebung für Tensor-Netzwerke von Algorithmiq.
- Rufen Sie die API-Referenz für diese Qiskit-Funktion auf.