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 ?

Shaded lightcones (SLC)

Two copies of the same brickwork circuit ending in a measurement. On the left, a conventional lightcone is uniformly shaded yellow. On the right, a shaded lightcone fades from yellow to transparent according to how much each gate matters to the measured observable.

qiskit-addon-slc est un package pour calculer le cône de lumière ombré (SLC) [1] d'une observable par rapport à un circuit quantique. Dans le contexte de l'annulation probabiliste des erreurs (PEC), les cônes de lumière ombrés ressemblent aux cônes de lumière binaires classiques en ce que ne pas atténuer les erreurs en dehors du cône de lumière peut réduire la variance (c.-à-d. le coût d'échantillonnage). L'ombrage du cône de lumière permet de pousser cette stratégie plus loin en attribuant des échelles aux générateurs d'erreur de Pauli à l'intérieur du cône de lumière causal. Les erreurs auxquelles on attribue de plus petites échelles ont moins d'effet sur l'observable ; les tronquer du modèle de bruit peut réduire la variance (c.-à-d. le coût d'échantillonnage) au prix d'un certain biais. Le package qiskit-addon-slc permet aux utilisateurs d'effectuer l'ombrage du cône de lumière et de contrôler le compromis entre coût d'échantillonnage et biais.

Premiers pas​

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

Exemples de cas d'usage​

Cette technique a été utilisée pour réduire le coût d'échantillonnage de l'annulation probabiliste des erreurs (PEC) pour des expériences d'écho de Loschmidt d'opérateur avec 56 qubits sur un processeur IBM Heron. [2].

Discussion technique​

Aperçu de la méthode​

Les cônes de lumière ombrés sont calculés et utilisés en 5 étapes :

  1. Calculer une borne sur l'effet de chaque terme d'erreur de Pauli sur l'observable à la fin du circuit (borne avant)

  2. Calculer une borne sur l'effet de chaque terme d'erreur de Pauli sur l'état initial au début du circuit (borne arrière)

A three-qubit circuit with four unitary layers and a grid of error terms E1 to E12 between them. Error term E8 is highlighted. One arrow from E8 back to the initial state rho is labeled backward bound, and another arrow from E8 to the final observable A is labeled forward bound.

  1. Approximer une contribution au biais pour chaque terme d'erreur de Pauli à l'aide des bornes avant/arrière et du taux d'erreur du terme

Two 3-by-4 grids of numbered error terms, one shaded by backward bound and one by forward bound. Arrows from both point to a third grid labeled partition and merge, which combines the two sets of bounds and highlights term 8.

  1. Prioriser les termes d'erreur selon leur taux d'erreur et leurs bornes. Tronquer du modèle de bruit les termes qui ont le moins d'effet sur la valeur moyenne de l'observable jusqu'à atteindre la tolérance de biais indiquée par l'utilisateur. Alternativement, on peut ajouter les termes d'erreur les plus influents à un modèle de bruit jusqu'à épuiser le budget de coût d'échantillonnage indiqué par l'utilisateur.

A row of numbered error terms sorted from most to least impactful, starting with term 8 and ending with terms 1, 2, 10 and 12. The last five terms, shaded darkest, are separated from the rest and labeled truncate.

  1. Atténuer le modèle de bruit tronqué. Avec le modèle d'exécution dirigée de Qiskit Runtime, il est simple de spécifier les termes d'erreur à ignorer pendant l'échantillonnage PEC. Consulte le tutoriel pour plus de détails.

The prioritized list of retained error terms, 8, 11, 7, 5, 6, 3 and 4, with an arrow pointing to a three-qubit circuit. Each retained term appears in the circuit as an inverse noise gate, labeled lambda inverse, between the unitary layers.

Fonctionnalités logicielles​

  • Calcul de bornes asynchrone et parallèle

  • Propagation accélérée par Rust

  • Permet le calcul des bornes en amont (c.-à-d. avant l'apprentissage effectif du bruit)

Problèmes connus​

  • Windows n'est pas pris en charge

  • InjectNoise(site=”before”) n'est pas pris en charge

  • Ne prend pas en charge la fusion fine des bornes

Travaux futurs​

  • Calcul des valeurs propres accéléré par Rust pour le calcul des bornes avant

Contribuer​

Le code source est disponible sur GitHub.

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 package​

Si tu utilises ce package 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​

Nous suivons le versionnage sémantique. Nous pouvons occasionnellement apporter des changements incompatibles afin d'améliorer l'expérience utilisateur. Lorsque c'est possible, nous conserverons les anciennes interfaces en les marquant 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.

Contribuer​

Le code source est disponible sur GitHub.

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

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

Références​

  1. Andrew Eddins, et al., Lightcone shading for classically accelerated quantum error mitigation, arXiv:2409.04401v1 [quant-ph].

  2. Samantha V. Barron, et al., Observable Estimation in the Absence of Classical Verification, arXiv:2607.25998 [quant-ph].