Formules multi-produits (MPF)
Versions des packages
Le code sur cette page a été développé en utilisant les dépendances suivantes. Nous recommandons d'utiliser ces versions ou des versions plus récentes.
Les formules multi-produits (MPF) peuvent être utilisées pour simuler plus précisément la dynamique d'un système quantique, au prix d'un plus grand nombre d'exécutions de circuits. Il s'agit d'une technique de post-traitement qui atténue l'erreur des valeurs d'espérance pour les états soumis à une évolution temporelle.
L'informatique classique est utilisée pour résoudre un système d'équations linéaires qui fournit des coefficients à une combinaison pondérée de plusieurs exécutions de circuits. L'utilisation de cette combinaison pondérée permet de réduire l'erreur associée à la simulation de l'évolution temporelle, à condition de bien choisir le nombre de pas de Trotter. L'outil MPF accepte une sélection de données --- incluant le nombre de pas de Trotter et l'ordre de l'approximation de Trotter --- pour préparer et résoudre (ou approximer la solution de) le système d'équations linéaires associé, que tu peux ensuite utiliser pour post-traiter les mesures de valeurs d'espérance d'un état soumis à une évolution temporelle.
Installer le package MPF
Il existe deux façons d'installer le package MPF : via PyPI et en compilant depuis les sources. Il est recommandé de l'installer dans un environnement virtuel pour assurer la séparation entre les dépendances des packages.
Installer depuis PyPI
La façon la plus simple d'installer le package qiskit-addon-mpf est via PyPI.
pip install qiskit-addon-mpf
Compiler depuis les sources
Les utilisateurs qui souhaitent développer dans le dépôt ou qui veulent l'installer manuellement peuvent le faire en clonant d'abord le dépôt :
git clone git@github.com:Qiskit/qiskit-addon-mpf.git
puis installer le package via pip. Le dépôt contient également un certain nombre de dépendances optionnelles qui activent certaines fonctionnalités.
Ajuste les options selon tes besoins.
pip install tox notebook -e '.[notebook-dependencies,dev]'
Contexte théorique
Les MPF peuvent réduire l'erreur d'approximation de Trotter associée à la simulation de la dynamique des systèmes quantiques grâce à une combinaison pondérée de plusieurs exécutions de circuits. Cette somme pondérée est définie comme suit :
où sont les coefficients de pondération, est la matrice densité qui correspond à l'état pur obtenu en faisant évoluer l'état initial via une formule produit approximant l'opérateur d'évolution temporelle en utilisant pas de Trotter, et indexe chaque formule produit utilisée dans la somme.

En général, cependant, l'objectif de la simulation de la dynamique quantique est de mesurer une observable , qui est une fonction du temps. Lors de l'utilisation des MPF, plusieurs circuits --- chacun utilisant pas de Trotter --- sont exécutés pour obtenir plusieurs mesures de l'observable cible . La mesure de l'observable cible est ensuite obtenue en calculant :
En substance, tu peux réduire l'erreur de Trotter globale en approximant l'opérateur d'évolution temporelle à l'aide de plusieurs formules produits avec un nombre variable de pas de Trotter plutôt qu'une seule formule produit. Tu construis un circuit pour chaque terme de la somme pondérée, qui fait évoluer le système selon chacun des pas de Trotter. Chaque circuit est ensuite exécuté séparément sur un QPU pour reconstruire les résultats lors d'une étape de post-traitement. L'utilité de cette technique peut être envisagée sous deux angles :
- Pour un nombre fixe de pas de Trotter que tu exécutes, tu peux obtenir des résultats avec une erreur de Trotter plus faible au total.
- Pour un nombre de pas de Trotter qui aboutit à des circuits profonds, tu peux utiliser les MPF pour trouver plusieurs circuits de moindre profondeur à exécuter, ce qui donne une erreur d'approximation de Trotter similaire.
Déterminer les coefficients MPF
La fonctionnalité principale du package qiskit-addon-mpf réside dans la détermination des coefficients MPF (qui peuvent dépendre du temps). Le processus pour obtenir chaque consiste à résoudre un système d'équations linéaires où est le vecteur des coefficients à déterminer, est une matrice qui dépend de chacun des et de la formule produit utilisée (c'est-à-dire l'ordre d'approximation et le nombre de pas de Trotter), et est un vecteur de contraintes. Ce système d'équations peut être résolu de manière exacte ou avec un modèle approché qui minimise la norme 1 des coefficients. De plus, le choix de chaque est un processus heuristique, mais peut être borné par les contraintes suivantes :
- La valeur la plus grande de est bornée par la profondeur maximale de circuit qui peut être exécutée de manière fiable
- La valeur la plus petite de doit satisfaire car c'est là que l'erreur de Trotter se comporte le mieux
- Aucun des coefficients ne doit être proche de , car cela impliquerait qu'ils ne contribuent pas beaucoup à la MPF
- De même, le coefficient associé à la valeur la plus grande de ne doit pas dominer, car cela impliquerait que tu utilises une seule formule produit
- Enfin, la norme des coefficients obtenus doit être faible, car cela indique une MPF bien conditionnée 1
Étapes suivantes
- Lis la page sur la prise en main des MPF.
Références
- 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).
- S. Zhuk, N. Robertson, and S. Bravyi, "Trotter error bounds and dynamic multi-product formulas for Hamiltonian simulation", Phys. Rev. Research 6, 033309 (2024).
- N. Robertson, et al. "Tensor Network enhanced Dynamic Multiproduct Formulas", arXiv:2407.17405v2 [quant-ph].