Skip to main content
IBM Quantum Platform

Rétropropagation des opérateurs

Ce module met en œuvre la rétropropagation par opérateur (OBP) afin de réduire la profondeur des circuits lors du calcul des valeurs attendues. Cette technique consiste à propager une observable vers l'arrière à travers les portes situées à la fin d'un circuit quantique, ce qui permet d'obtenir un circuit moins profond, au prix d'une augmentation du nombre de bases de mesure de l'observable. À mesure que l'on propage un opérateur plus loin dans un circuit, la taille de l'observable augmente de manière exponentielle, ce qui entraîne une surcharge en ressources tant au niveau classique que quantique. Cependant, pour certains circuits, la distribution des observables de Pauli qui en résulte est plus concentrée que celle correspondant au pire scénario exponentiel, ce qui signifie que certains termes de l'hamiltonien présentant de faibles coefficients peuvent être tronqués afin de réduire la surcharge quantique. L'erreur générée par cette opération peut être maîtrisée afin de trouver un juste équilibre entre précision et efficacité.

Il existe plusieurs façons de mettre en œuvre la rétropropagation des opérateurs; ce package utilise une méthode fondée sur la théorie des perturbations de Clifford, qui présente l'avantage que la charge supplémentaire liée à la rétropropagation de différentes portes est déterminée par le caractère non-Clifford de cette porte. Cela se traduit par un gain d'efficacité pour certaines familles de circuits par rapport aux méthodes basées sur les réseaux de tenseurs pour l'OBP, qui présentent actuellement des surcoûts classiques élevés, même dans les cas où le surcoût quantique reste modéré.

Ce package permet d'estimer les valeurs attendues de circuits quantiques généraux et d'observables de Pauli; toutefois, pour les circuits à haute « magie » (très non-Clifford), l'erreur liée à l'observable résultant de la troncature risque de devenir prohibitive avant même que l'observable n'ait été propagée sur une partie significative du circuit. Pour les circuits de type « quasi-Clifford », il pourrait être possible de propager le signal sur une partie beaucoup plus étendue du circuit tout en conservant des marges d'erreur relativement faibles.


Mise en route

Un guide simple destiné à vous aider à vous familiariser rapidement avec ce logiciel est disponible dans le guide de démarrage rapide.


Exemples de cas d'utilisation

Cette technique a été utilisée pour mettre en œuvre des circuits de Trotter de profondeur réduite dans le cadre de l'évolution temporelle d'un modèle de spin « 2D » [1].


Débat technique

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

  • Deux paramètres de réglage indépendants permettant de gérer le compromis entre profondeur et précision :

    • OperatorBudget limite l'amplitude maximale que peut atteindre la grandeur observable au cours de la rétropropagation.
    • TruncationErrorBudget limite l'ampleur de l'erreur pouvant survenir lors de la rétropropagation.
  • L'efficacité dépend du caractère « Clifford » du circuit : pour les circuits à haute magie (c'est-à-dire très peu « Clifford »), les termes ajoutés à l'observable ont tendance à avoir des coefficients plus élevés, ce qui entraîne davantage d'erreurs de troncature dès le début, limitant ainsi le gain de profondeur pour un budget d'erreur donné. Les circuits de type « Near-Clifford » peuvent être tronqués de manière plus radicale et faire l'objet d'une rétropropagation plus profonde, tout en respectant le même budget.

  • Entièrement analysable : chaque exécution renvoie un objet OBPMetadata enregistrant, pour chaque tranche, les nombres de Pauli, les nombres de groupes QWC et l'erreur de troncature cumulée, avec des plot_* outils permettant de visualiser l'évolution du nombre d'opérateurs et l'erreur en fonction de la profondeur du circuit — ce qui s'avère utile pour ajuster les budgets avant de réserver du temps sur le QPU.


Contribuer

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

Nous utilisons les tickets d' GitHub pour suivre les demandes et les bogues.


En citant ce paquet

Si vous utilisez ce package dans le cadre de vos travaux de recherche, veuillez vous reporter au fichier « CITATION.bib » présent dans le dépôt de ce projet afin de citer la ou les références appropriées.


Licence

Apache 2.0 de licence


Politique de dépréciation

Ce module respecte les règles de la gestion sémantique des versions. Il peut nous arriver d'apporter occasionnellement des modifications importantes afin d'améliorer l'expérience utilisateur. Dans la mesure du possible, nous conserverons les anciennes interfaces et les marquerons comme obsolètes, à condition qu'elles puissent coexister avec les nouvelles. Chaque amélioration majeure, changement entraînant une incompatibilité ou fonctionnalité obsolète sera consignée dans les notes de mise à jour.


Références

    1. Fuller et al., « Amélioration du calcul quantique grâce à la rétropropagation des opérateurs », npj Quantum Inf. 12, 51 (2026). [ arXiv ]
Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.