Boîtes décorées
Les mécanismes physiques de bruit qui interviennent lors de l'exécution de circuits quantiques dépendent du contexte. Lorsqu'on applique simultanément des opérations à des ensembles disjoints de qubits, le profil de bruit de l'opération globale peut différer des profils de bruit des éléments constitutifs si ceux-ci étaient appliqués isolément. De même, pour les opérations qui, dans l'idéal, commutent sur les mêmes qubits, le profil de bruit associé à chacune d'entre elles peut ne pas commuter et pourrait être totalement différent si l'ordre des opérations venait à changer. Par conséquent, les protocoles visant à supprimer, atténuer et corriger le bruit doivent tenir compte du contexte dans lequel celui-ci apparaît.
Samplomatic s'appuie sur les instructions associées aux « boîtes » pour raisonner sur des ensembles d'opérations de circuit qui doivent être considérés comme ayant un contexte de bruit stable, et utilise des annotations sur ces « boîtes » pour permettre aux utilisateurs de déclarer et de configurer cette intention. Chaque boîte correspond à un champ d'application comprenant un ensemble de qubits, des opérations agissant sur ces qubits et une liste d'annotations. Les annotations Samplomatic précisent les directives et les arrangements. Les instructions indiquent comment manipuler la boîte, par exemple en la faisant tourner. Les « dressings » sont des ensembles de portes paramétrées à ajouter à gauche ou à droite de la boîte; il peut s'agir, par exemple, d'une couche de portes à un seul qubit. Les portes d'un circuit d'assemblage comprennent les portes de la boîte ainsi que les opérations nécessaires à l'exécution des instructions, telles que celles-ci :
- Les portes de la boîte qui sont compatibles avec les portes paramétrées et qui se trouvent du même côté que celles-ci.
- Portails tournoyants tirés au hasard d'un ensemble pour randomiser la boîte.
- Portes d'injection de bruit échantillonnées à partir d'une carte de Pauli-Lindblad.
- Portes permettant de modifier la base selon les spécifications de l'utilisateur.
Notez que les directives peuvent modifier la mise en forme d'autres encadrés.
Exemple
Supposons que l'on veuille « twirler » le circuit suivant, en ajoutant des portes de Pauli aléatoires avant et après les portes d'intrication parallèles, qui ne modifient pas le contenu logique du circuit, mais qui modifient le modèle de bruit effectif.
Circuit vers la pirouette de Pauli.
Pour ce faire, on divise le circuit en zones et on ajoute des annotations de rotation.
Circuit avec des directives de rotation de Pauli. Le symbole @ sert à indiquer des directives; par défaut, l'alignement se fait à gauche.
Chaque boîte « 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 sorte que l'action logique de la boîte reste inchangée. Ces couches de Pauli aléatoires sont virtuelles, au même titre qu'une porte Z virtuelle. Elles n'ajoutent pas d'opérations au circuit, mais agissent plutôt comme une directive visant à modifier la manière dont les portes à un seul qubit adjacentes sont mises en œuvre.
Circuit comportant des éléments de connexion et des portes issus de directives. Les dressings sont représentés par les encadrés en pointillés. Les couches de Pauli reliées par des flèches s'annulent mutuellement. La couche de Pauli finale sera appliquée sous forme de inversions de bits aux résultats des mesures.
La couche aléatoire de Pauli située entre les portes d'intrication et les portes à qubit unique est intégrée à la couche de portes à qubit unique et mise en œuvre dans son habillage. L'autre couche de Pauli choisie au hasard sera intégrée à la garniture de la prochaine boîte à garnir.
En résumé, la directive de rotation vers la gauche (ou vers la droite) met en œuvre un opérateur de Pauli aléatoire dans la représentation de cette case et applique l'opérateur de Pauli qui l'annule dans la représentation de la case suivante (ou précédente). Les directives « inject noise » et « basis change » sont analogues.
Aléatorisation de circuits à l'aide de portes virtuelles
Samplomatic utilise le cadre des portes virtuelles pour analyser les circuits composés de « boîtes habillées ». D'un point de vue conceptuel, et tel qu'implémenté dans une instance Samplex produite par le build() processus, les portes virtuelles sont générées à la limite de la boîte opposée à son habillage. Ces portes virtuelles sont déplacées à travers le circuit selon un schéma prédéfini et doivent être assemblées pour former un circuit. Si toutes les portes virtuelles peuvent être combinées pour former un « dressing », il est possible de construire des versions aléatoires du circuit de manière procédurale.
Circuit comportant des directives « twirl », « basis change » et « inject noise ».
Les portes situées sur le côté du pansement et compatibles avec la paramétrisation du modèle du pansement peuvent être intégrées à celui-ci, ce qui permet de réduire le nombre de portes physiques. On les appelle des « easy gates ». Le reste de la boîte est dit « *dur *» et est implémenté tel quel.
Exemples de circuits comportant des portes virtuelles suspendues. Les portes virtuelles situées de l'autre côté du vestiaire n'ont nulle part où être mises en place.
Exemples de circuits dans lesquels toutes les portes virtuelles sont intégrées dans des « dressings ». Les mesures tiennent compte des portes de Pauli en prenant en considération le renversement de bit qu'elles induisent.
Exemple complexe dans lequel toutes les portes virtuelles sont regroupées. Les portes virtuelles générées par une boîte peuvent être combinées pour former différentes configurations.
Cela permet de réaliser des constructions dans lesquelles les caissons finis ne doivent pas nécessairement avoir la même largeur.