Aller au contenu principal
Ce projet est en phase bêta. Tu as trouvé un bug ? Ouvrir un ticket GitHub. Une question ou une idée ? Pose ta question dans Discussions — tes retours sont les bienvenus !
Quelle est la qualité de la traduction sur cette page ?

Rétropropagation d'opérateurs

Ce paquet implémente la rétropropagation d'opérateurs (OBP) pour réduire la profondeur des Circuits dans les calculs de valeurs moyennes. Cette technique propage une observable à rebours à travers les Gates situées à la fin d'un Circuit quantique, ce qui donne un Circuit moins profond au prix d'une augmentation du nombre de bases de mesure de l'observable. Plus on rétropropage un opérateur loin dans un Circuit, plus la taille de l'observable croît de façon exponentielle, ce qui entraîne un surcoût de ressources à la fois classiques et quantiques. Cependant, pour certains Circuits, la distribution résultante des observables de Pauli est plus concentrée que la croissance exponentielle du pire cas, ce qui signifie que certains termes de l'hamiltonien à petits coefficients peuvent être tronqués pour réduire le surcoût quantique. L'erreur introduite par cette opération peut être contrôlée afin de trouver un compromis adapté entre précision et efficacité.

Il existe plusieurs façons d'effectuer la rétropropagation d'opérateurs ; ce paquet utilise une méthode fondée sur la théorie des perturbations de Clifford, dont l'avantage est que le surcoût induit par la rétropropagation de diverses Gates est déterminé par le caractère non-Clifford de la Gate. Cela conduit à une efficacité accrue pour certaines familles de Circuits par rapport aux méthodes d'OBP fondées sur les réseaux de tenseurs, qui ont actuellement des surcoûts classiques élevés, même lorsque le surcoût quantique reste modéré.

Ce paquet convient à l'estimation de valeurs moyennes pour des Circuits quantiques généraux et des observables de Pauli ; cependant, pour les Circuits à forte « magie » (très non-Clifford), l'erreur d'observable induite par la troncature deviendra probablement prohibitive avant que l'observable ait été propagée à travers une portion significative du Circuit. Pour les Circuits proches de Clifford, il peut être possible de propager à travers une bien plus grande partie du Circuit tout en maintenant des bornes d'erreur relativement faibles.

Premiers pas​

Un guide simple pour t'aider à démarrer rapidement avec ce paquet est disponible dans le guide de démarrage rapide.

Exemples de cas d'usage​

Cette technique a été utilisée pour implémenter des Circuits de Trotter de moindre profondeur pour l'évolution temporelle d'un modèle de spins 2D [1].

Discussion technique​

  • Un point d'entrée unique : la fonction backpropagate effectue l'OBP.

  • Deux contrôles indépendants du compromis profondeur ↔ précision :

    • OperatorBudget borne la taille que l'observable peut atteindre pendant la rétropropagation.

    • TruncationErrorBudget borne l'erreur qui peut être introduite pendant la rétropropagation.

  • L'efficacité dépend du degré de Clifford du Circuit : pour les Circuits à forte magie (c.-à-d. très non-Clifford), les termes ajoutés à l'observable tendent à avoir des coefficients plus grands, de sorte qu'on subit plus tôt une erreur de troncature plus importante, ce qui limite le gain de profondeur à budget d'erreur fixe. Les Circuits proches de Clifford peuvent être tronqués plus agressivement et rétropropagés plus profondément avec le même budget.

  • Entièrement introspectable : chaque exécution renvoie un objet OBPMetadata qui enregistre, par tranche, le nombre de termes de Pauli, le nombre de groupes QWC et l'erreur de troncature accumulée, avec des utilitaires plot_* pour visualiser la croissance de l'opérateur et l'erreur en fonction de la profondeur du Circuit — utile pour ajuster les budgets avant de consacrer du temps de QPU.

Contribuer​

Le guide du développeur se trouve dans CONTRIBUTING.md, à la racine du dépôt de ce projet. En participant, tu t'engages à respecter le code de conduite de Qiskit.

Nous utilisons les issues GitHub pour suivre les demandes et les bugs.

Citer ce paquet​

Si tu utilises ce paquet dans tes recherches, utilise le fichier CITATION.bib du dépôt de ce projet pour citer la ou les références appropriées.

Licence​

Apache License 2.0

Politique de dépréciation​

Ce paquet suit le versionnage sémantique. Nous pouvons occasionnellement introduire des changements incompatibles afin d'améliorer l'expérience utilisateur. Lorsque c'est possible, nous conserverons les anciennes interfaces et les marquerons comme dépréciées, tant qu'elles peuvent coexister avec les nouvelles. Chaque amélioration substantielle, changement incompatible ou dépréciation sera documenté dans les notes de version.

Références​

    1. Fuller et al., “Improved quantum computation using operator backpropagation,” npj Quantum Inf. 12, 51 (2026). [arXiv]