Aller au contenu principal

Autres familles de codes

Cela fait plus de 25 ans que le code torique a été découvert, et d'importantes recherches ont été menées sur les codes correcteurs d'erreurs quantiques depuis lors, notamment la découverte d'autres codes quantiques topologiques inspirés du code torique, ainsi que des codes basés sur des idées différentes. Une liste exhaustive des constructions de codes correcteurs d'erreurs quantiques connues serait impossible à inclure ici — mais nous allons gratter un peu la surface pour examiner brièvement quelques exemples prominents.

Codes de surface

Il s'avère qu'il n'est pas réellement nécessaire que le code torique ait des bords périodiques. Autrement dit, il est possible de découper une partie du code torique et de la placer à plat sur une surface bidimensionnelle, plutôt qu'un tore, pour obtenir un code correcteur d'erreurs quantiques — à condition que les générateurs de stabilisateurs sur les bords soient correctement définis. Ce que l'on obtient s'appelle un code de surface.

Par exemple, voici un diagramme d'un code de surface, où le réseau est découpé avec des bords dits rugueux en haut et en bas, et des bords lisses sur les côtés. Les cas de bord pour les générateurs de stabilisateurs sont définis de manière naturelle, c'est-à-dire que les opérations de Pauli sur les qubits « manquants » sont simplement omises.

Diagramme d'un code de surface

Les codes de surface de cette forme encodent un seul qubit, plutôt que deux comme le code torique. Les générateurs de stabilisateurs forment un ensemble générateur minimal dans ce cas, sans avoir besoin d'en supprimer un de chaque type comme avec le code torique. Mais, malgré ces différences, les caractéristiques importantes du code torique sont héritées. En particulier, les erreurs non triviales non détectées pour ce code correspondent à des chaînes d'erreurs qui s'étendent soit du bord gauche au bord droit (pour les chaînes d'erreurs XX) soit de haut en bas (pour les chaînes d'erreurs ZZ).

Il est également possible de découper les bords d'un code de surface en diagonale pour obtenir ce que l'on appelle parfois des codes de surface pivotés, ainsi nommés non pas parce que les codes sont pivotés dans un sens significatif, mais parce que les diagrammes sont pivotés (de 45 degrés). Par exemple, voici un diagramme d'un code de surface pivoté de distance 5.

Diagramme d'un code de surface pivot�é

Pour ce type de diagramme, les tuiles noires (y compris les arrondies sur les bords) indiquent les générateurs de stabilisateurs XX, où les opérations XX sont appliquées aux (deux ou quatre) sommets de chaque tuile, tandis que les tuiles blanches représentent les générateurs de stabilisateurs ZZ. Les codes de surface pivotés ont des propriétés similaires aux codes de surface (non pivotés), mais sont plus économiques en termes de nombre de qubits utilisés.

Codes couleur

Les codes couleur sont une autre classe intéressante de codes, qui entrent également dans la catégorie générale des codes quantiques topologiques. Ils ne seront décrits que brièvement ici.

Une façon de penser aux codes couleur est de les considérer comme des généralisations géométriques du code de Steane à 7 qubits. Dans cet esprit, reconsidérons le code de Steane à 7 qubits, en supposant que les sept qubits sont nommés et ordonnés selon la convention de numérotation de Qiskit comme (Q6,Q5,Q4,Q3,Q2,Q1,Q0).(\mathsf{Q}_6,\mathsf{Q}_5,\mathsf{Q}_4,\mathsf{Q}_3,\mathsf{Q}_2,\mathsf{Q}_1,\mathsf{Q}_0). Rappelons que les générateurs de stabilisateurs pour ce code sont les suivants.

ZZZZIIIZZIIZZIZIZIZIZXXXXIIIXXIIXXIXIXIXIX\begin{array}{ccccccc} Z & Z & Z & Z & \mathbb{I} & \mathbb{I} & \mathbb{I} \\[1mm] Z & Z & \mathbb{I} & \mathbb{I} & Z & Z & \mathbb{I} \\[1mm] Z & \mathbb{I} & Z & \mathbb{I} & Z & \mathbb{I} & Z \\[1mm] X & X & X & X & \mathbb{I} & \mathbb{I} & \mathbb{I} \\[1mm] X & X & \mathbb{I} & \mathbb{I} & X & X & \mathbb{I} \\[1mm] X & \mathbb{I} & X & \mathbb{I} & X & \mathbb{I} & X \end{array}

Si nous associons ces sept qubits aux sommets du graphe suivant, nous constatons que les générateurs de stabilisateurs correspondent précisément aux faces formées par les arêtes du graphe.

Diagramme illustrant la localité géométrique du code de Steane à 7 qubits

C'est-à-dire que pour chaque face, il y a à la fois un générateur de stabilisateur ZZ et un générateur de stabilisateur XX qui agissent de manière non triviale sur les qubits situés aux sommets de cette face. Le code de Steane à 7 qubits possède donc une localité géométrique, ce qui signifie qu'en principe il n'est pas nécessaire de déplacer les qubits sur de grandes distances pour mesurer les générateurs de stabilisateurs. Le fait que les générateurs de stabilisateurs ZZ et XX agissent toujours de manière non triviale sur exactement les mêmes ensembles de qubits est également intéressant pour des raisons liées au calcul quantique tolérant aux fautes, qui est le sujet de la prochaine leçon.

Les codes couleur sont des codes correcteurs d'erreurs quantiques (des codes CSS pour être plus précis) qui généralisent ce pattern de base, sauf que les graphes sous-jacents peuvent être différents. Par exemple, voici un graphe à 19 sommets qui fonctionne. Il définit un code qui encode un qubit dans 19 qubits et a une distance 5 (c'est-à-dire, c'est un code stabilisateur [[19,1,5]][[19,1,5]]).

Diagramme d'un code couleur

Cela peut être fait avec de nombreux autres graphes, y compris des familles de graphes qui croissent en taille et ont des structures intéressantes.

Les codes couleur sont ainsi nommés parce que l'une des conditions requises sur les graphes qui les définissent est que les faces peuvent être tricolorées, ce qui signifie que les faces peuvent chacune se voir attribuer une des trois couleurs de sorte qu'aucune deux faces de la même couleur ne partagent une arête (comme dans le diagramme précédent). Les couleurs n'ont en réalité pas d'importance pour la définition du code lui-même — il y a toujours des générateurs de stabilisateurs ZZ et XX pour chaque face, quelle que soit sa couleur — mais les couleurs sont importantes pour analyser le fonctionnement des codes.

Autres codes

La correction d'erreurs quantiques est un domaine de recherche actif et en rapide évolution. Ceux qui souhaitent explorer plus en profondeur peuvent consulter le Error Correction Zoo, qui répertorie de nombreux exemples et catégorisations de codes correcteurs d'erreurs quantiques.

Exemple : Le code gross

Le code gross est un code stabilisateur [[144,12,12]][[144,12,12]] récemment découvert. Il est similaire au code torique, sauf que chaque générateur de stabilisateur agit de manière non triviale sur deux qubits supplémentaires, légèrement plus éloignés de la tuile ou du sommet de ce générateur (ainsi, chaque générateur de stabilisateur a un poids de 6). L'avantage de ce code est qu'il peut encoder 12 qubits, contre seulement deux pour le code torique.