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 ?

Boxes habillées

Les mécanismes physiques de bruit qui se produisent pendant l'exécution de circuits quantiques sont contextuels. Lorsque des opérations sont appliquées simultanément sur des ensembles de qubits disjoints, le profil de bruit de l'opération globale peut différer des profils de bruit de ses parties constitutives appliquées isolément. De même, pour des opérations qui commutent idéalement sur les mêmes qubits, le profil de bruit associé aux opérations individuelles pourrait ne pas commuter et pourrait être complètement différent si l'ordre des opérations changeait. Par conséquent, les protocoles de suppression, d'atténuation et de correction du bruit doivent connaître le contexte dans lequel il apparaît.

Samplomatic utilise des instructions box pour raisonner sur des ensembles d'opérations de circuit qui doivent être traités comme ayant un contexte de bruit stable, et utilise des annotations sur les boxes pour permettre aux utilisateurs de déclarer et de configurer cette intention. Chaque box est une portée qui possède un ensemble de qubits, des opérations qui agissent sur ces qubits et une liste d'annotations. Les annotations de Samplomatic spécifient des directives et des habillages. Les directives indiquent ce qu'il faut faire de la box, par exemple, appliquer un twirling à la box. Les habillages sont des groupes de portes paramétrées à ajouter du côté gauche ou droit de la box, par exemple, une couche de portes à un qubit. Les portes d'un habillage incorporent des portes de la box et des opérations nécessaires pour mettre en œuvre les directives, comme les suivantes :

  • Les portes de la box qui sont compatibles avec les portes paramétrées et situées du même côté qu'elles.

  • Des portes de twirling échantillonnées dans un ensemble pour randomiser la box.

  • Des portes d'injection de bruit échantillonnées à partir d'une carte de Pauli Lindblad.

  • Des portes de changement de base spécifiées par l'utilisateur.

Note que les directives peuvent modifier les habillages d'autres boxes.

Exemple​

Supposons que nous voulions appliquer un twirling au circuit suivant, en ajoutant des portes de Pauli aléatoires avant et après les portes d'intrication parallèles, qui ne changent pas le contenu logique du circuit mais qui modifient le modèle de bruit effectif.

../_images/undressed_pauli.drawio.png

Circuit auquel appliquer un twirling de Pauli.

On y parvient en stratifiant le circuit en boxes et en ajoutant des annotations de twirling.

../_images/dressed_pauli_twirl.drawio.png

Circuit avec des directives de twirling de Pauli. Le symbole @ sert à spécifier les directives ; l'habillage est par défaut à gauche.

Chaque box habillée contient une couche de portes à un qubit et une couche de portes d'intrication à deux qubits sur des paires de qubits disjointes. La couche de portes d'intrication est entourée de couches de portes de Pauli aléatoires de telle manière que l'action logique de la box reste inchangée. Ces couches de Pauli aléatoires sont virtuelles de la même manière qu'une porte Z virtuelle. Elles n'ajoutent pas d'opérations au circuit, mais agissent comme une directive pour modifier la façon dont les portes à un qubit adjacentes sont mises en œuvre.

../_images/pauli_twirl.drawio.png

Circuit avec des habillages et des portes issues des directives. Les habillages sont les boxes en pointillés. Les couches de Pauli reliées par des flèches s'annulent mutuellement. La dernière couche de Pauli sera appliquée sous forme d'inversions de bits aux résultats de mesure.

La couche de Pauli aléatoire située entre les portes d'intrication et les portes à un qubit est composée dans la couche de portes à un qubit et mise en œuvre dans son habillage. L'autre couche de Pauli aléatoire sera composée dans l'habillage de la box habillée suivante.

En résumé, la directive de twirling gauche (ou droite) met en œuvre un Pauli aléatoire dans l'habillage de cette box et applique le Pauli qui l'annule dans l'habillage de la box suivante (ou précédente). Les directives d'injection de bruit et de changement de base sont analogues.

Randomisation de circuit avec des portes virtuelles​

Samplomatic utilise le cadre des portes virtuelles pour raisonner sur les circuits comportant des boxes habillées. Conceptuellement, et comme mis en œuvre dans une instance de Samplex produite par le processus build(), les portes virtuelles sont générées à la frontière de la box opposée à son habillage. Ces portes virtuelles sont déplacées dans le circuit de manière prescrite et doivent être composées dans un habillage. Si toutes les portes virtuelles peuvent être composées dans un habillage, les randomisations du circuit peuvent être construites de manière procédurale.

../_images/dressed_box.drawio.png

Circuit avec des directives de twirling, de changement de base et d'injection de bruit.

Les portes situées du côté de l'habillage qui sont compatibles avec la paramétrisation du modèle de l'habillage peuvent y être composées, ce qui réduit le nombre de portes physiques. On les appelle des portes faciles. Le reste de la box est appelé difficile et est mis en œuvre tel quel.

../_images/dressed_box_uncollected.drawio.png

Exemples de circuits avec des portes virtuelles en suspens. Les portes virtuelles du côté opposé de l'habillage n'ont nulle part où être mises en œuvre.

../_images/dressed_box_collected.drawio.png

Exemples de circuits où toutes les portes virtuelles sont composées dans des habillages. Pour les mesures, les portes de Pauli sont composées en tenant compte de l'inversion de bit qu'elles induisent.

../_images/dressed_box_mixed_collect.drawio.png

Exemple complexe où toutes les portes virtuelles sont collectées. Les portes virtuelles générées par une box peuvent être composées dans différents habillages.

Cela permet des constructions où les boxes habillées n'ont pas besoin d'avoir la même largeur.