Atténuation des erreurs du réseau de tenseurs (TEM) : une fonction Qiskit par Algorithmiq
Consultez la documentation de l'API
Les fonctions Qiskit sont une fonctionnalité expérimentale disponible uniquement pour IBM Quantum® Premium Plan, Flex Plan, et On-Prem (via IBM Quantum Platform API). Elles sont en cours de publication et peuvent être modifiées.
Le code figurant sur cette page a été développé selon les exigences suivantes. Nous recommandons d'utiliser ces versions ou des versions plus récentes.
qiskit[all]~=2.5.1
Aperçu
La méthode TEM (Tensor-network Error Mitigation) d'Algorithmiq est un algorithme hybride, quantique et classique, conçu pour atténuer le bruit entièrement au niveau du réseau algorithme hybride quantique-classique conçu pour atténuer le bruit entièrement l'étape classique de post-traitement. Avec TEM, l'utilisateur peut calculer les valeurs d'espérance des observables en atténuant les erreurs inévitables induites par le bruit qui se produisent sur le matériel quantique, avec une précision accrue et un bon rapport coût-efficacité qui se produisent sur le matériel quantique, avec une précision et une rentabilité accrues, une option très intéressante pour les chercheurs quantiques et les praticiens de l'industrie l'industrie.
La méthode consiste à construire un réseau tensoriel représentant l'inverse du canal de bruit global affectant l'état du processeur quantique du canal de bruit global affectant l'état du processeur quantique et ensuite appliquer la carte à des résultats de mesure complets sur le plan de l'information, acquis à partir l'état bruité afin d'obtenir des estimateurs non biaisés pour les observables.
L'avantage du TEM est qu'il exploite des mesures complètes sur le plan informationnel pour donner accès à un vaste ensemble de valeurs d'attente atténuées d'observables et qu'il présente une surcharge d'échantillonnage optimale sur le matériel quantique, comme décrit dans Filippov et al. (2023), et Filippov arXiv:2307.11740 et al. (2024). arXiv:2403.13542 La surcharge de mesure fait référence au nombre de mesures supplémentaires nécessaires pour réduire efficacement les erreurs, un facteur essentiel dans la faisabilité des calculs quantiques. Par conséquent, la TEM a le potentiel de permettre un avantage quantique dans des scénarios complexes, tels que des applications dans les domaines du chaos quantique, de la physique des systèmes à plusieurs corps, de la dynamique de Hubbard et des simulations chimiques de petites molécules .
Les principales caractéristiques et avantages du TEM peuvent être résumés comme suit :
- Frais généraux de mesure optimaux : TEM est optimal par rapport aux limites théoriques limites théoriques, ce qui signifie qu'aucune méthode ne permet d'obtenir un surcoût de mesure plus faible. En d'autres termes en d'autres termes, le TEM nécessite le nombre minimum de mesures supplémentaires pour l'atténuation des erreurs. Cela signifie que TEM utilise un temps d'exécution quantique minimal.
- Le rapport coût-efficacité : Étant donné que le TEM gère l'atténuation du bruit entièrement dans l'étape de post-traitement, il n'est pas nécessaire d'ajouter des circuits supplémentaires à l'ordinateur quantique l'ordinateur quantique, ce qui non seulement rend le calcul moins coûteux, mais diminue également le risque d'introduire des erreurs supplémentaires dues aux imperfections de l'ordinateur quantique risque d'introduire des erreurs supplémentaires dues aux imperfections des dispositifs quantiques quantiques.
- Estimation d'observables multiples : Grâce à des mesures à information complète, TEM d'information, TEM estime efficacement plusieurs observables avec les mêmes données de mesure de l'ordinateur quantique données de mesure de l'ordinateur quantique.
- Atténuation des erreurs de mesure : La fonction TEM Qiskit comprend également une méthode exclusive d'atténuation des erreurs de mesure capable de réduire de manière significative les erreurs de lecture après un court cycle d'étalonnage.
- Précision : Le TEM améliore considérablement la précision et la fiabilité des simulations quantiques numériques des simulations quantiques numériques, ce qui rend les algorithmes quantiques plus fiables.
Description
La fonction TEM vous permet d'obtenir des valeurs d'espérance atténuées par les erreurs pour des observables multiples sur un circuit quantique avec un surcoût d'échantillonnage minimal plusieurs observables sur un circuit quantique avec un surcoût d'échantillonnage minimal. Le circuit le circuit est mesuré à l'aide d'une mesure à valeur d'opérateur positive complète sur le plan de l'information (IC-POVM) (IC-POVM) et les résultats des mesures collectées sont traités sur un ordinateur classique ordinateur classique. Cette mesure est utilisée pour effectuer les méthodes de réseau tensoriel et construire une carte d'inversion du bruit et construire une carte d'inversion du bruit. La fonction applique une carte qui inverse complètement l'ensemble du circuit bruyant en utilisant des réseaux tensoriels pour représenter le circuit bruyant l'ensemble du circuit bruyant en utilisant des réseaux tensoriels pour représenter les couches bruyantes.
Une fois les circuits soumis à la fonction, ils sont transposés et optimisés pour minimiser le nombre de couches avec des portes à deux qubits optimisés pour minimiser le nombre de couches avec des portes à deux qubits (les portes les plus bruyantes sur les dispositifs quantiques) bruyantes sur les dispositifs quantiques). Le bruit affectant les couches est appris par Qiskit Runtime en utilisant un modèle de bruit Pauli-Lindblad clairsemé, comme décrit dans E. van den Berg, Z. Minev, A. Kandala, K. Temme, Nat. Physique. (2023). arXiv:2201.09866.
Le modèle de bruit est une description précise du bruit sur l'appareil capable de capturer des caractéristiques subtiles, y compris la diaphonie des qubits de capturer des caractéristiques subtiles, y compris la diaphonie des qubits. Cependant, le bruit des appareils peut fluctuer et dériver peut fluctuer et dériver, et le bruit appris peut ne pas être exact au moment où l'estimation est effectuée au moment où l'estimation est effectuée. Cela pourrait entraîner des résultats inexacts résultats.
Premiers pas
Authentifiez-vous à l'aide de votre clé API IBM Quantum Platform et sélectionnez la fonction TEM comme suit. (Cet extrait de code part du principe que vous avez déjà enregistré votre compte dans votre environnement local.)
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)Exemple
L'extrait suivant montre un exemple où TEM est utilisé pour calculer les valeurs d'espérance d'une observable à partir d'un circuit quantique simple.
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)Utilisez les API Qiskit Serverless pour vérifier l'état de votre charge de travail Qiskit Function :
# 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
Vous pouvez renvoyer les résultats sous la forme suivante :
result = job.result()
evs = result[0].data.evs
print(evs[0])Output:
-0.10628832892063486
La valeur attendue du circuit sans bruit pour l'opérateur donné devrait être d'environ 0.18409094298943401.
Obtenir de l'aide
Contacter qiskit\ [email protected]
Veillez à inclure les informations suivantes :
- Qiskit Function Job ID (
qiskit-ibm-catalog),job.job_id - Une description détaillée du problème
- Tout message ou code d'erreur pertinent
- Etapes de reproduction du problème
Etapes suivantes
- Demander l'accès à la fonctionnalité de réduction des erreurs du réseau de tenseurs d'Algorithmiq.
- Consultez la documentation de l'API relative à cette fonction Qiskit.