Codes Polaires Quantiques Dans la théorie de l'information classique, les codes polaires sont la première construction explicite d'une famille de codes correcteurs d’erreurs qui atteignent la capacité de n'importe quel canal classique, discret sans mémoire. Dans cette thèse, nous nous intéressons aux généralisations des codes polaires au cas des canaux quantiques. Nous commençons par passer en revue une construction de type Calderbank-Shor-Steane (CSS) des codes polaires pour les canaux quantiques opérant sur des systèmes de dimension 2 (qubits). Cette construction exploite le phénomène de polarisation classique à la fois en base de phase et en base d’amplitude. Nous proposons ensuite une approche différente, qui s’intéresse à un phénomène de polarisation quantique. Ainsi, le premier théorème important de cette thèse prouve une « polarisation purement quantique » des canaux quantiques opérant sur des systèmes de dimension supérieure ou égale à 2 (qudits). Ce phénomène de polarisation permet de synthétiser des canaux dits « virtuels », qui ont tendance à être soit complètement débruités, soit complètement bruités, en tant que canaux quantiques, et pas seulement en une base. Il utilise une opération dite de « combinaison » de deux canaux quantiques, définie par une opération à deux qudits, opérant sur les entrées des deux canaux, et choisie de manière aléatoire dans un ensemble fini d’opérations. Profitant de ce phénomène de polarisation, nous construisons un code quantique efficace assisté par enchevêtrement, où les canaux complètement bruités sont figés en prenant en entrée la moitié d'une paire EPR pré-partagée entre l'encodeur et le décodeur. Nous montrons que la construction proposée permet d’atteindre un taux de communication d’information quantique égal à la capacité symétrique du canal quantique pour communication assistée par enchevêtrement. De plus, en enchaînant plusieurs codes polaires quantiques, nous proposons un schéma de codage qui utilise les paires EPR pré-partagées comme catalyseur, de sorte que le taux d'enchevêtrement pré-partagé s'annule asymptotiquement.Par la suite, nous nous concentrons sur une importante famille de canaux quantiques appelés canaux de Pauli, opérant sur des qubits. Etant donné un canal Pauli, nous lui associons un canal classique à alphabet quaternaire, et nous montrons que le premier se polarise quantiquement si et seulement si ce dernier se polarise classiquement. Sur la base du canal classique associé, nous fournissons une preuve alternative de la polarisation quantique pour les canaux de Pauli. De manière plus importante, nous fournissons également un moyen efficace de décoder les canaux de Pauli, en décodant le code polaire sur le canal classique associé. Nous considérons également une polarisation multiniveau des canaux de Pauli, où la polarisation se produit à plusieurs niveaux, de sorte que les canaux virtuels synthétisés peuvent également être « semi-bruités », au lieu d'être complètement débruités ou complètement bruités. Cette construction n'utilise pas la randomisation de l'opération de combinaison de canaux. Nous montrons ensuite que les canaux semi-bruités peuvent être figés soit en base de phase, soit en base d’amplitude. Par conséquent, la polarisation à plusieurs niveaux peut être utilisée efficacement pour construire un schéma de codage quantique.Enfin, nous exposons nos travaux en cours sur les codes polaires quantiques CSS, dans le contexte du calcul quantique tolérant aux fautes. Nous fournissons des procédures tolérantes aux fautes pour la préparation d’états quantiques logiques et pour l'extraction du syndrome d'erreur. Ainsi, nous pouvons protéger un état logique pendant un temps arbitrairement long, dans la limite d’un bruit suffisamment faible. De plus, pour le traitement de l'information quantique, nous fournissons des procédures tolérantes aux fautes pour mettre en œuvre les portes logiques de Pauli, Hadamard et CNOT.
Codes Polaires Quantiques Dans la théorie de l'information classique, les codes polaires sont la première construction explicite d'une famille de codes correcteurs d’erreurs qui atteignent la capacité de n'importe quel canal classique, discret sans mémoire. Dans cette thèse, nous nous intéressons aux généralisations des codes polaires au cas des canaux quantiques. Nous commençons par passer en revue une construction de type Calderbank-Shor-Steane (CSS) des codes polaires pour les canaux quantiques opérant sur des systèmes de dimension 2 (qubits). Cette construction exploite le phénomène de polarisation classique à la fois en base de phase et en base d’amplitude. Nous proposons ensuite une approche différente, qui s’intéresse à un phénomène de polarisation quantique. Ainsi, le premier théorème important de cette thèse prouve une « polarisation purement quantique » des canaux quantiques opérant sur des systèmes de dimension supérieure ou égale à 2 (qudits). Ce phénomène de polarisation permet de synthétiser des canaux dits « virtuels », qui ont tendance à être soit complètement débruités, soit complètement bruités, en tant que canaux quantiques, et pas seulement en une base. Il utilise une opération dite de « combinaison » de deux canaux quantiques, définie par une opération à deux qudits, opérant sur les entrées des deux canaux, et choisie de manière aléatoire dans un ensemble fini d’opérations. Profitant de ce phénomène de polarisation, nous construisons un code quantique efficace assisté par enchevêtrement, où les canaux complètement bruités sont figés en prenant en entrée la moitié d'une paire EPR pré-partagée entre l'encodeur et le décodeur. Nous montrons que la construction proposée permet d’atteindre un taux de communication d’information quantique égal à la capacité symétrique du canal quantique pour communication assistée par enchevêtrement. De plus, en enchaînant plusieurs codes polaires quantiques, nous proposons un schéma de codage qui utilise les paires EPR pré-partagées comme catalyseur, de sorte que le taux d'enchevêtrement pré-partagé s'annule asymptotiquement.Par la suite, nous nous concentrons sur une importante famille de canaux quantiques appelés canaux de Pauli, opérant sur des qubits. Etant donné un canal Pauli, nous lui associons un canal classique à alphabet quaternaire, et nous montrons que le premier se polarise quantiquement si et seulement si ce dernier se polarise classiquement. Sur la base du canal classique associé, nous fournissons une preuve alternative de la polarisation quantique pour les canaux de Pauli. De manière plus importante, nous fournissons également un moyen efficace de décoder les canaux de Pauli, en décodant le code polaire sur le canal classique associé. Nous considérons également une polarisation multiniveau des canaux de Pauli, où la polarisation se produit à plusieurs niveaux, de sorte que les canaux virtuels synthétisés peuvent également être « semi-bruités », au lieu d'être complètement débruités ou complètement bruités. Cette construction n'utilise pas la randomisation de l'opération de combinaison de canaux. Nous montrons ensuite que les canaux semi-bruités peuvent être figés soit en base de phase, soit en base d’amplitude. Par conséquent, la polarisation à plusieurs niveaux peut être utilisée efficacement pour construire un schéma de codage quantique.Enfin, nous exposons nos travaux en cours sur les codes polaires quantiques CSS, dans le contexte du calcul quantique tolérant aux fautes. Nous fournissons des procédures tolérantes aux fautes pour la préparation d’états quantiques logiques et pour l'extraction du syndrome d'erreur. Ainsi, nous pouvons protéger un état logique pendant un temps arbitrairement long, dans la limite d’un bruit suffisamment faible. De plus, pour le traitement de l'information quantique, nous fournissons des procédures tolérantes aux fautes pour mettre en œuvre les portes logiques de Pauli, Hadamard et CNOT.
On sait depuis vingt ans maintenant qu'un ordinateur quantique permettrait de résoudre en temps polynomial plusieurs problèmes considérés comme difficiles dans le modèle classique de calcul, comme la factorisation ou le logarithme discret. Entre autres, un tel ordinateur mettrait à mal tous les systèmes de chiffrement à clé publique actuellement utilisés en pratique, mais sa réalisation se heurte, entre autres, aux phénomènes de décohérence qui viennent entacher l'état des qubits qui le constituent. Pour protéger ces qubits, on utilise des codes correcteurs quantiques, qui doivent non seulement être performants mais aussi munis d'un décodage très rapide, sous peine de voir s'accumuler les erreurs plus vite qu'on ne peut les corriger. Une solution très prometteuse est fournie par des équivalents quantiques des codes LDPC (Low Density Parity Check, à matrice de parité creuse). Ces codes classiques offrent beaucoup d'avantages : ils sont faciles à générer, rapides à décoder (grâce à un algorithme de décodage itératif) et performants. Mais leur version quantique se heurte (entre autres) à deux problèmes. On peut voir un code quantique comme une paire de codes classiques, dont les matrices de parité sont orthogonales entre elles. Le premier problème consiste alors à construire deux « bons » codes qui vérifient cette propriété. L'autre vient du décodage : chaque ligne de la matrice de parité d'un des codes fournit un mot de code de poids faible pour le second code. En réalité, dans un code quantique, les erreurs correspondantes sont bénignes et n'affectent pas le système, mais il est difficile d'en tenir compte avec l'algorithme de décodage itératif usuel. On étudie dans un premier temps une construction existante, basée sur un produit de deux codes classiques. Cette construction, qui possède de bonnes propriétés théoriques (dimension et distance minimale), s'est avérée décevante dans les performances pratiques, qui s'expliquent par la structure particulière du code produit. Nous proposons ensuite plusieurs variantes de cette construction, possédant potentiellement de bonnes propriétés de correction. Ensuite, on étudie des codes dits q-Aires~: ce type de construction, inspiré des codes classiques, consiste à agrandir un code LDPC existant en augmentant la taille de son alphabet. Cette construction, qui s'applique à n'importe quel code quantique 2-Régulier (c'est-À-Dire dont les matrices de parité possèdent exactement deux 1 par colonne), a donné de très bonnes performances dans le cas particulier du code torique. Ce code bien connu se décode usuellement très bien avec un algorithme spécifique, mais mal avec l'algorithme usuel de propagation de croyances. Enfin, un équivalent quantique des codes spatialement couplés est proposé. Cette idée vient également du monde classique, où elle améliore de façon spectaculaire les performances des codes LDPC : le décodage s'effectue en temps quasi-Linéaire et atteint, de manière prouvée, la capacité des canaux symétriques à entrées binaires. Si dans le cas quantique, la preuve éventuelle reste encore à faire, certaines constructions spatialement couplées ont abouti à d'excellentes performances, bien au-Delà de toutes les autres constructions de codes LDPC quantiques proposées jusqu'à présent.
On sait depuis vingt ans maintenant qu'un ordinateur quantique permettrait de résoudre en temps polynomial plusieurs problèmes considérés comme difficiles dans le modèle classique de calcul, comme la factorisation ou le logarithme discret. Entre autres, un tel ordinateur mettrait à mal tous les systèmes de chiffrement à clé publique actuellement utilisés en pratique, mais sa réalisation se heurte, entre autres, aux phénomènes de décohérence qui viennent entacher l'état des qubits qui le constituent. Pour protéger ces qubits, on utilise des codes correcteurs quantiques, qui doivent non seulement être performants mais aussi munis d'un décodage très rapide, sous peine de voir s'accumuler les erreurs plus vite qu'on ne peut les corriger. Une solution très prometteuse est fournie par des équivalents quantiques des codes LDPC (Low Density Parity Check, à matrice de parité creuse). Ces codes classiques offrent beaucoup d'avantages : ils sont faciles à générer, rapides à décoder (grâce à un algorithme de décodage itératif) et performants. Mais leur version quantique se heurte (entre autres) à deux problèmes. On peut voir un code quantique comme une paire de codes classiques, dont les matrices de parité sont orthogonales entre elles. Le premier problème consiste alors à construire deux « bons » codes qui vérifient cette propriété. L'autre vient du décodage : chaque ligne de la matrice de parité d'un des codes fournit un mot de code de poids faible pour le second code. En réalité, dans un code quantique, les erreurs correspondantes sont bénignes et n'affectent pas le système, mais il est difficile d'en tenir compte avec l'algorithme de décodage itératif usuel. On étudie dans un premier temps une construction existante, basée sur un produit de deux codes classiques. Cette construction, qui possède de bonnes propriétés théoriques (dimension et distance minimale), s'est avérée décevante dans les performances pratiques, qui s'expliquent par la structure particulière du code produit. Nous proposons ensuite plusieurs variantes de cette construction, possédant potentiellement de bonnes propriétés de correction. Ensuite, on étudie des codes dits q-Aires~: ce type de construction, inspiré des codes classiques, consiste à agrandir un code LDPC existant en augmentant la taille de son alphabet. Cette construction, qui s'applique à n'importe quel code quantique 2-Régulier (c'est-À-Dire dont les matrices de parité possèdent exactement deux 1 par colonne), a donné de très bonnes performances dans le cas particulier du code torique. Ce code bien connu se décode usuellement très bien avec un algorithme spécifique, mais mal avec l'algorithme usuel de propagation de croyances. Enfin, un équivalent quantique des codes spatialement couplés est proposé. Cette idée vient également du monde classique, où elle améliore de façon spectaculaire les performances des codes LDPC : le décodage s'effectue en temps quasi-Linéaire et atteint, de manière prouvée, la capacité des canaux symétriques à entrées binaires. Si dans le cas quantique, la preuve éventuelle reste encore à faire, certaines constructions spatialement couplées ont abouti à d'excellentes performances, bien au-Delà de toutes les autres constructions de codes LDPC quantiques proposées jusqu'à présent.
Codes correcteurs d’erreur quantique topologiques au-delà de la dimension 2 La mémoire quantique est constituée de matériaux présentant des effets quantiques comme la superposition. C’est cette possibilité de superposition qui distingue l’élément élémentaire de mémoire quantique, le qubit, de son analogue classique, le bit. Contrairement à un bit classique, un qubit peut être dans un état différent de l’état 0 et de l’état 1. Une difficulté majeure de la réalisation physique de mémoire quantique est la nécessité d’isoler le système utilisé de son environnement. En effet l’interaction d’un système quantique avec son environnement entraine un phénomène appelé décohérence qui se traduit par des erreurs sur l’état du système quantique. Dit autrement, à cause de la décohérence, il est possible que les qubits ne soient pas dans l’état dans lequel il est prévu qu’ils soient. Lorsque ces erreurs s’accumulent le résultat d’un calcul quantique a de grandes chances de ne pas être le résultat attendu. La correction d’erreur quantique est un ensemble de techniques permettant de protéger l’information quantique de ces erreurs. Elle consiste à réaliser un compromis entre le nombre de qubits et leur qualité. Plus précisément un code correcteur d’erreur permet à partir de N qubits physiques bruités de simuler un nombre plus petit K de qubits logiques, c’est-à-dire virtuels, moins bruités. La famille de codes la plus connue est sans doute celle découverte par le physicien Alexei Kitaev: le code torique. Cette construction peut être généralisée à des formes géométriques (variétés) autres qu’un tore. En 2014, Larry Guth et Alexander Lubotzky proposent une famille de code définie à partir de variétés hyperboliques de dimension 4 et montrent que cette famille fournit un compromis intéressant entre le nombre K de qubits logiques et le nombre d’erreurs qu’elle permet de corriger. Dans cette thèse, nous sommes partis de la construction de Guth et Lubotzky et en avons donné une version plus explicite et plus régulière. Pour définir un pavage régulier de l’espace hyperbolique de dimension 4, nous utilisons le groupe de symétrie de symbole de Schläfli {4, 3, 3, 5}. Nous en donnons la représentation matricielle correspondant au modèle de l’hyperboloïde et à un hypercube centré sur l’origine et dont les faces sont orthogonales aux quatre axes de coordonnée. Cette construction permet d’obtenir une famille de codes quantiques encodant un nombre de qubits logiques proportionnel au nombre de qubits physiques et dont la distance minimale croît au moins comme N0.1. Bien que ces paramètres soient également ceux de la construction de Guth et Lubotzky, la régularité de cette construction permet de construire explicitement des exemples de taille raisonnable et d’envisager des algorithmes de décodage qui exploitent cette régularité. Dans un second chapitre nous considérons une famille de codes quantiques hyperboliques 4D de symbole de Schläfli {5, 3, 3, 5}. Après avoir énoncé une façon de prendre le quotient des groupes correspondant en conservant la structure locale du groupe, nous construisons les matrices de parité correspondant à des codes quantiques ayant 144, 720, 9792, 18 000 et 90 000 qubits physiques. Nous appliquons un algorithme de Belief Propagation au décodage de ces codes et analysons les résultats numériquement. Dans un troisième et dernier chapitre nous définissons une nouvelle famille de codes quantiques à partir de cubes de dimension arbitrairement grande. En prenant le quotient d’un cube de dimension n par un code classique de paramètres [n, k, d] et en identifiant les qubits physiques avec les faces de dimension p du polytope quotient ainsi défini, on obtient un code quantique. Cette famille de codes quantiques a l’originalité de considérer des quotients par des codes classiques. En cela elle s’éloigne de la topologie et appartient plutôt à la famille des codes homologiques.
Étude de codes LDPC quantiques et de leur décodage Les codes quantiques de type LDPC (Low-Density Parity-Check, à matrice de parité creuse) offrent une solution prometteuse pour protéger l’information quantique contre les erreurs et sont donc considérés comme une étape importante dans la réalisation à grande échelle d’un ordinateur quantique tolérant aux fautes. Dans cette thèse, nous étudions les codes LDPC quantiques selon trois approches différentes, en analysant le décodage par renormalisation du code torique de Kitaev, en établissant des limites sur la distance minimale des codes géométriquement locaux et en construisant de petits exemples de codes de Tanner quantiques. Le code torique de Kitaev est un code LDPC quantique remarquable et est actuellement le plus largement considéré pour une mise en œuvre expérimentale. Nous examinons les décodeurs par renormalisation probabiliste introduits par Duclos-Cianci et Poulin, une famille de décodeurs qui offrent l’un des meilleurs compromis entre précision et rapidité. Nous étudions la manière dont ils gèrent les erreurs adverses en introduisant un décodeur par renormalisation déterministe, n’utilisant pas les probabilités a priori du modèle d’erreur. Nous constatons que ce décodeur par renormalisation admet des motifs d’erreurs incorrigibles de type fractal et nous obtenons une borne inférieure sur le poids de ces erreurs. En raison de contraintes physiques, une grande attention a été accordée aux codes LDPC quantiques dont les stabilisateurs n’agissent que sur un nombre limité de qubits voisins. Nous étendons la fameuse borne de Bravyi-Terhal aux codes quantiques définis par des contraintes locales sur un quotient de réseau, fournissant ainsi un aperçu essentiel des limites des codes stabilisateurs géométriquement locaux. En guise d’application, nous fournissons des bornes supérieures sur la distance minimale de codes à deux blocs construits à l’aide d’une algèbre d’un groupe abélien, une famille de codes LDPC quantiques pour laquelle la distance minimale est actuellement inconnue. Ces dernières années, des codes LDPC quantiques asymptotiquement bons ont été construits, mais les résultats démontrables concernant leurs distances minimales ne s’appliquent qu’à des codes trop longs pour être utilisables. Dans le cadre des efforts visant à concevoir des codes pouvant être mis en œuvre à court terme, nous construisons des instances courtes de codes quantiques de Tanner à l’aide de complexes carrés obtenus à partir de produits liftés de graphes réguliers. Plusieurs instances explicites de ces codes présentent des distances minimales dépassant la racine carrée de la longueur du code.
Le thème unificateur des contenus sera l’examen des codes correcteurs d’erreurs à travers le prisme du calcul ZX. Plus précisément, nous aborderons les codes de stabilisateur ainsi que les codes polaires classique et quantique. L’objectif d’utiliser le prisme du ZX-calculus est de bénéficier d’un niveau d’abstraction plus élevé. Le premier avantage de cette approche est de voir si nous pouvons offrir une interprétation plus naturelle des preuves existantes, ce qui faciliterait leur enseignement et leur apprentissage. L’autre avantage est que la simplification conceptuelle apportée par l’abstraction permettrait de mieux comprendre les effets et les implications de la mécanique quantique, favorisant ainsi des avancées plus significatives dans le développement des algorithmes quantiques de tous types. En utilisant le ZX-calculus, nous commencerons par examiner les codes stabilisateurs qui sont les plus utilisés parmi les codes correcteurs d’erreurs quantiques. Ensuite, nous entrerons également dans les détails des codes polaires classiques et quantiques et montrerons comment nous pouvons reformuler la méthode de décodage classique en une méthode qui prend en compte les contraintes de l’information quantique, telles que l’impossibilité de connaître l’état d’un qubit à moins de le mesurer et donc de le perturber. Cette nouvelle méthode est applicable dans les cas quantiques ainsi que classiques pour certains types de canaux d’erreur. Tout cela conduit à la formulation d’une nouvelle méthode de décodage visant à fonctionner pour tous les types de canaux d’erreur en catégorisant tous les scénarios d’erreur possibles nécessitant des actions pour corriger les données, puis en utilisant un ensemble de mesures pour réduire les possibilités à un point qui nous donne une certitude presque totale.
Les codes polaires constituent une classe de codes correcteurs d’erreurs inventés récemment qui suscite l’intérêt des chercheurs et des industriels, comme en atteste leur sélection pour le codage des canaux de contrôle dans la prochaine génération de téléphonie mobile (5G). Un des enjeux des futurs réseaux mobiles est la virtualisation des traitements numériques du signal, et en particulier les algorithmes de codage et de décodage. Afin d’améliorer la flexibilité du réseau, ces algorithmes doivent être décrits de manière logicielle et être déployés sur des architectures programmables. Une telle infrastructure de réseau permet de mieux répartir l’effort de calcul sur l’ensemble des noeuds et d’améliorer la coopération entre cellules. Ces techniques ont pour but de réduire la consommation d’énergie, d’augmenter le débit et de diminuer la latence des communications. Les travaux présentés dans ce manuscrit portent sur l’implémentation logicielle des algorithmes de décodage de codes polaires et la conception d’architectures programmables spécialisées pour leur exécution.Une des caractéristiques principales d’une chaîne de communication mobile est l’instabilité du canal de communication. Afin de remédier à cette instabilité, des techniques de modulations et de codages adaptatifs sont utilisées dans les normes de communication.Ces techniques impliquent que les décodeurs supportent une vaste gamme de codes : ils doivent être génériques. La première contribution de ces travaux est l’implémentation logicielle de décodeurs génériques des algorithmes de décodage "à Liste" sur des processeurs à usage général. En plus d’être génériques, les décodeurs proposés sont également flexibles.Ils permettent en effet des compromis entre pouvoir de correction, débit et latence de décodage par la paramétrisation fine des algorithmes. En outre, les débits des décodeurs proposés atteignent les performances de l’état de l’art et, dans certains cas, les dépassent.La deuxième contribution de ces travaux est la proposition d’une nouvelle architecture programmable performante spécialisée dans le décodage de codes polaires. Elle fait partie de la famille des processeurs à jeu d’instructions dédiés à l’application. Un processeur de type RISC à faible consommation en constitue la base. Cette base est ensuite configurée,son jeu d’instructions est étendu et des unités matérielles dédiées lui sont ajoutées. Les simulations montrent que cette architecture atteint des débits et des latences proches des implémentations logicielles de l’état de l’art sur des processeurs à usage général. La consommation énergétique est réduite d’un ordre de grandeur. En effet, lorsque l’on considère le décodage par annulation successive d’un code polaire (1024,512), l’énergie nécessaire par bit décodé est de l’ordre de 10 nJ sur des processeurs à usage général contre 1 nJ sur les processeurs proposés.La troisième contribution de ces travaux est également une architecture de processeur à jeu d’instructions dédié à l’application. Elle se différencie de la précédente par l’utilisation d’une méthodologie de conception alternative. Au lieu d’être basée sur une architecture de type RISC, l’architecture du processeur proposé fait partie de la classe des architectures déclenchées par le transport. Elle est caractérisée par une plus grande modularité qui permet d’améliorer très significativement l’efficacité du processeur. Les débits mesurés sont alors supérieurs à ceux obtenus sur les processeurs à usage général. La consommation énergétique est réduite à environ 0.1 nJ par bit décodé pour un code polaire (1024,512) avec l’algorithme de décodage par annulation successive. Cela correspond à une réduction de deux ordres de grandeur en comparaison de la consommation mesurée sur des processeurs à usage général.