Langages graphiques pour le contrôle quantique et l'optique linéaire Dans le modèle usuel de calcul quantique, des opérations sur des données quantiques sont contrôlées de manière essentiellement classique. Un contrôle lui aussi quantique est cependant possible, mais a été peu étudié en comparaison. En particulier, il manque au contrôle quantique un formalisme permettant de l'exprimer de manière simple afin de raisonner efficacement sur des processus l'impliquant. La première contribution de cette thèse est de poser les fondations d'un cadre formel dédié au contrôle quantique, sous la forme d'un langage graphique. Notre principal résultat concernant ce langage est l'introduction d'une théorie équationnelle complète, c'est à dire d'un ensemble d'équations permettant de transformer un diagramme, par réécriture locale successive, en n'importe quel autre diagramme représentant le même programme ou processus physique. Une deuxième contribution est l'application de ce formalisme d'une part au problème de l'optimisation des ressources dans les processus impliquant un contrôle quantique, et d'autre part à la caractérisation de l'équivalence observationnelle des canaux de communication quantiques. La troisième contribution de cette thèse est l'introduction d'un langage pour les circuits optiques linéaires. Nous l'équipons d'une théorie équationnelle complète, ainsi que d'une forme normale simple, accessible par un système de réécriture fortement normalisant et confluent. La dernière contribution de cette thèse, peut-être la plus importante, est l'introduction d'une théorie équationnelle complète pour le langage des circuits quantiques. Nous nous appuyons pour cela sur une correspondance entre les circuits quantiques et les circuits optiques, qui nous permet de transférer la théorie équationnelle déjà obtenue pour les circuits optiques.
Langages graphiques pour le contrôle quantique et l'optique linéaire Dans le modèle usuel de calcul quantique, des opérations sur des données quantiques sont contrôlées de manière essentiellement classique. Un contrôle lui aussi quantique est cependant possible, mais a été peu étudié en comparaison. En particulier, il manque au contrôle quantique un formalisme permettant de l'exprimer de manière simple afin de raisonner efficacement sur des processus l'impliquant. La première contribution de cette thèse est de poser les fondations d'un cadre formel dédié au contrôle quantique, sous la forme d'un langage graphique. Notre principal résultat concernant ce langage est l'introduction d'une théorie équationnelle complète, c'est à dire d'un ensemble d'équations permettant de transformer un diagramme, par réécriture locale successive, en n'importe quel autre diagramme représentant le même programme ou processus physique. Une deuxième contribution est l'application de ce formalisme d'une part au problème de l'optimisation des ressources dans les processus impliquant un contrôle quantique, et d'autre part à la caractérisation de l'équivalence observationnelle des canaux de communication quantiques. La troisième contribution de cette thèse est l'introduction d'un langage pour les circuits optiques linéaires. Nous l'équipons d'une théorie équationnelle complète, ainsi que d'une forme normale simple, accessible par un système de réécriture fortement normalisant et confluent. La dernière contribution de cette thèse, peut-être la plus importante, est l'introduction d'une théorie équationnelle complète pour le langage des circuits quantiques. Nous nous appuyons pour cela sur une correspondance entre les circuits quantiques et les circuits optiques, qui nous permet de transférer la théorie équationnelle déjà obtenue pour les circuits optiques.
Les ordinateurs quantiques exploitent les principes de la physique quantique pour encoder et traiter l'information, avec le potentiel de surpasser les capacités des ordinateurs classiques dans certains domaines. Cette thèse explore l'une des technologies majeures du calcul quantique : l'optique linéaire, où les calculs sont effectués à l'aide de photons traversant des circuits d'optique linéaire.Si ces circuits sont bien compris et simulables à petite échelle, leur véritable intérêt apparaît à grande échelle lorsqu'ils atteignent des régimes hors de portée du calcul classique. Cette thèse s'intéresse à cette transition sous deux aspects : sur le plan calculatoire d'une part, en développant des modèles plus efficaces pour repousser les limites des simulations classiques, et sur le plan formel d'autre part, en modélisant à un niveau plus abstrait les circuits optiques et leurs interactions.En simulation, l'un des défis majeurs est le calcul efficace des probabilités de sortie des circuits. Nous présentons dans cette thèse de nouveaux algorithmes pour calculer plusieurs de ces probabilités, où l'utilisation de la mémoire est optimisée pour significativement réduire le temps de calcul. Ce travail mène au développement de Perceval, une plateforme logicielle open-source dédiée au calcul quantique photonique.Sur le plan théorique, nous introduisons un cadre formel et diagrammatique qui capture pleinement la structure des processus d'optique linéaire. Plus précisément, nous utilisons le formalisme des langages graphiques pour modéliser ces circuits. Nous établissons une théorie équationnelle complète, démontrant que deux circuits équivalents d'optique linéaire peuvent toujours être réécrits localement avec notre ensemble d'équations.Enfin, nous montrons comment nos contributions ont des applications à la fois en physique et en informatique quantique théorique. En particulier, nous étendons notre théorie équationnelle complète des circuits optiques à une théorie équationnelle complète pour les circuits quantiques, résolvant ainsi un problème ouvert des dernières décennies.
Les ordinateurs quantiques exploitent les principes de la physique quantique pour encoder et traiter l'information, avec le potentiel de surpasser les capacités des ordinateurs classiques dans certains domaines. Cette thèse explore l'une des technologies majeures du calcul quantique : l'optique linéaire, où les calculs sont effectués à l'aide de photons traversant des circuits d'optique linéaire.Si ces circuits sont bien compris et simulables à petite échelle, leur véritable intérêt apparaît à grande échelle lorsqu'ils atteignent des régimes hors de portée du calcul classique. Cette thèse s'intéresse à cette transition sous deux aspects : sur le plan calculatoire d'une part, en développant des modèles plus efficaces pour repousser les limites des simulations classiques, et sur le plan formel d'autre part, en modélisant à un niveau plus abstrait les circuits optiques et leurs interactions.En simulation, l'un des défis majeurs est le calcul efficace des probabilités de sortie des circuits. Nous présentons dans cette thèse de nouveaux algorithmes pour calculer plusieurs de ces probabilités, où l'utilisation de la mémoire est optimisée pour significativement réduire le temps de calcul. Ce travail mène au développement de Perceval, une plateforme logicielle open-source dédiée au calcul quantique photonique.Sur le plan théorique, nous introduisons un cadre formel et diagrammatique qui capture pleinement la structure des processus d'optique linéaire. Plus précisément, nous utilisons le formalisme des langages graphiques pour modéliser ces circuits. Nous établissons une théorie équationnelle complète, démontrant que deux circuits équivalents d'optique linéaire peuvent toujours être réécrits localement avec notre ensemble d'équations.Enfin, nous montrons comment nos contributions ont des applications à la fois en physique et en informatique quantique théorique. En particulier, nous étendons notre théorie équationnelle complète des circuits optiques à une théorie équationnelle complète pour les circuits quantiques, résolvant ainsi un problème ouvert des dernières décennies.
Combining classical and quantum control : A logical, syntactic and semantic perspective Cette thèse vise principalement à établir les fondements théoriques nécessaires à la conception d'un langage de programmation complet pour l'informatique quantique. L'idée qui a inspiré toutes les contributions de cette thèse est de produire dans le cadre quantique un développement similaire à celui utilisé pour les langages de programmation et la logique dans le paradigme classique. En nous appuyant sur les travaux préparatoires de la correspondance Curry-Howard-Lambek, nous essayons d'approfondir les trois pierres angulaires de cette correspondance : les langages de programmation, la logique et la théorie des catégories, en nous concentrant sur la combinaison de deux paradigmes et en considérant des programmes avec des flots de contrôle quantique et classique. Nous avons essayé d'aller plus loin. Nous avons également abordé les deux visions complémentaires de la mécanique quantique, celles de Heisenberg et de Schrödinger, et adopté l'une d'elles pour définir une sémantique physiquement intuitive pour les langages dont nous discutons. Cette thèse apporte deux contributions principales à la littérature existante sur les langages de programmation quantiques. Nous introduisons tout d'abord un lambda calcul quantique qui combine le contrôle quantique et classique, dont la conception s'appuie sur la structure mathématique de sa sémantique dénotationnelle physiquement intuitive. La sémantique opérationnelle de ce langage est basée sur une adaptation des configurations quantiques que nous introduisons, et est liée au modèle dénotationnel par un résultat d'adéquation. Le langage fournit également un prototype de types inductifs quantiques à travers le type qnat, un type pour les entiers naturels quantiques. Le modèle dénotationnel de ce calcul est basé sur les algèbres de von Neumann, qui sont au cœur de la formulation mathématique de la vision de Heisenberg de la mécanique quantique. La deuxième contribution est un langage de preuve pour le fragment IMALL de la logique linéaire qui s'appuie sur certaines observations clés du calcul présenté ci-dessus. Ce langage estl'un des premiers à pouvoir prendre en charge des programmes combinant des constructions telles que le quantum switch et la mesure. À cet égard, ce travail constitue une amélioration significative par rapport au calcul précédent, car il prend en charge une version plus fine du contrôle quantique, permettant ainsi l'écriture d'algorithmes tels que le quantum switch. La syntaxe du langage est par nature algébrique et linéaire, permettant d'écrire des combinaisons linéaires de termes. Une conséquence majeure, avec la sémantique de la modalité B qu'il introduit, est que la mesure n'est plus une construction de base du langage. Elle peut désormais être écrite comme un programme parmi d'autres dans le langage. Enfin, la sémantique dénotationnelle de ce travail est basée sur les algèbres C* - une généralisation des algèbres de von Neumann. Le modèle dénotationnel s'avère adéquat pour la sémantique opérationnelle, dont la linéarité en est une conséquence naturelle. Enfin, nous concluons cette thèse en présentant les limites de ces travaux et les orientations possibles pour des travaux futurs.
L'informatique quantique, qui repose sur les principes de la physique quantique, promet des gains significatifs en termes de puissance de calcul. Cependant, elle introduit de nouveaux défis, notamment pour la vérification de programmes.En effet, les techniques de vérification classiques ne s'appliquent pas directement à l'informatique quantique. Cela s'explique principalement par l'utilisation de la mémoire quantique (unité d'information non standard) et de son opération de mesure, qui est le seul moyen de récupérer une information à partir d'un bit quantique et introduit un aspect probabiliste.Dans cette thèse, nous nous concentrons sur le modèle de calcul quantique par circuits et sur un aspect pratique de ce modèle : les transformations de circuit.Un circuit quantique peut être purement quantique (circuit unitaire) ou inclure du contrôle classique et de la mesure (circuit hybride).Les transformations de circuits se produisent tout au long du processus de calcul quantique, qu'il s'agisse de compiler un circuit décrit dans un langage de haut niveau vers un langage de bas niveau, d'optimiser un circuit pour un matériel particulier (transpilation), de changer de modèle de calcul (one-way measurement), ou de transférer un état quantique (téléportation).Chacune de ces transformations peut altérer le comportement du circuit ; nous avons donc besoin d'outils permettant de vérifier sa préservation.Mais la plupart des outils actuels sont limités au cas unitaire, donc limités à vérifier des transformations qui ne changent pas le type de circuit : un circuit unitaire est transformé en circuit unitaire.Et ceux qui s'aventurent dans le cas hybride sont limités à l'hybridation : un circuit unitaire est transformé en un circuit hybride.Alors que le vrai défi survient lors de l'introduction de fils auxiliaires, tels que les ancillas ou les discards (mesures intermédiaires non incluses dans la sortie du circuit), car il faut s'assurer que ces fils auxiliaires n'affectent pas les autres.Pour vérifier un circuit, plusieurs techniques existent (simulation, exécution symbolique, preuve), qui diffèrent par leur automatisation et leur scalabilité. La simulation, bien qu'automatisable, manque de scalabilité. L'exécution symbolique, automatisable, passe mieux à l'échelle. La preuve, insensible à l'échelle, est difficile à automatiser.Nous avons ainsi opté pour la preuve et pour l'exécution symbolique.Nous avons utilisé la preuve pour certifier une passe de compilation d'un langage de haut niveau vers un langage de bas niveau. Et l'exécution symbolique, en développant un outil de vérification d'équivalence de circuits hybrides avec discard.Pour nous aider dans la preuve, nous avons utilisé l'outil de preuve semi-automatique Qbricks, capable de prouver des circuits unitaires paramétrés basés sur les sommes de chemins, un formalisme permettant une modélisation compacte et encodable des circuits.En préalable au développement de notre outil de vérification de circuits hybrides avec discard, nous avons défini des relations d'équivalence partielles pour les circuits unitaires, ainsi qu'un mécanisme pour étendre les outils de vérification unitaires aux circuits hybrides.La combinaison de ces deux composants permet de traiter les circuits hybrides avec discard.Pour évaluer notre approche, nous avons implémenté dans l'outil SQbricks nos relations d'équivalence ainsi que notre mécanisme d'extension des outils limités aux unitaires.Nous avons démontré que les outils unitaires étendus au cas hybride sans discard surpassent, pour la plupart, largement l'état de l'art.Et qu'avec l'ajout d'un test de séparation au niveau unitaire, nous pouvons traiter des classes beaucoup plus vastes.
Vérification pratique des transformations de circuits quantiques L'informatique quantique, qui repose sur les principes de la physique quantique, promet des gains significatifs en termes de puissance de calcul. Cependant, elle introduit de nouveaux défis, notamment pour la vérification de programmes.En effet, les techniques de vérification classiques ne s'appliquent pas directement à l'informatique quantique. Cela s'explique principalement par l'utilisation de la mémoire quantique (unité d'information non standard) et de son opération de mesure, qui est le seul moyen de récupérer une information à partir d'un bit quantique et introduit un aspect probabiliste.Dans cette thèse, nous nous concentrons sur le modèle de calcul quantique par circuits et sur un aspect pratique de ce modèle : les transformations de circuit.Un circuit quantique peut être purement quantique (circuit unitaire) ou inclure du contrôle classique et de la mesure (circuit hybride).Les transformations de circuits se produisent tout au long du processus de calcul quantique, qu'il s'agisse de compiler un circuit décrit dans un langage de haut niveau vers un langage de bas niveau, d'optimiser un circuit pour un matériel particulier (transpilation), de changer de modèle de calcul (one-way measurement), ou de transférer un état quantique (téléportation).Chacune de ces transformations peut altérer le comportement du circuit ; nous avons donc besoin d'outils permettant de vérifier sa préservation.Mais la plupart des outils actuels sont limités au cas unitaire, donc limités à vérifier des transformations qui ne changent pas le type de circuit : un circuit unitaire est transformé en circuit unitaire.Et ceux qui s'aventurent dans le cas hybride sont limités à l'hybridation : un circuit unitaire est transformé en un circuit hybride.Alors que le vrai défi survient lors de l'introduction de fils auxiliaires, tels que les ancillas ou les discards (mesures intermédiaires non incluses dans la sortie du circuit), car il faut s'assurer que ces fils auxiliaires n'affectent pas les autres.Pour vérifier un circuit, plusieurs techniques existent (simulation, exécution symbolique, preuve), qui diffèrent par leur automatisation et leur scalabilité. La simulation, bien qu'automatisable, manque de scalabilité. L'exécution symbolique, automatisable, passe mieux à l'échelle. La preuve, insensible à l'échelle, est difficile à automatiser.Nous avons ainsi opté pour la preuve et pour l'exécution symbolique.Nous avons utilisé la preuve pour certifier une passe de compilation d'un langage de haut niveau vers un langage de bas niveau. Et l'exécution symbolique, en développant un outil de vérification d'équivalence de circuits hybrides avec discard.Pour nous aider dans la preuve, nous avons utilisé l'outil de preuve semi-automatique Qbricks, capable de prouver des circuits unitaires paramétrés basés sur les sommes de chemins, un formalisme permettant une modélisation compacte et encodable des circuits.En préalable au développement de notre outil de vérification de circuits hybrides avec discard, nous avons défini des relations d'équivalence partielles pour les circuits unitaires, ainsi qu'un mécanisme pour étendre les outils de vérification unitaires aux circuits hybrides.La combinaison de ces deux composants permet de traiter les circuits hybrides avec discard.Pour évaluer notre approche, nous avons implémenté dans l'outil SQbricks nos relations d'équivalence ainsi que notre mécanisme d'extension des outils limités aux unitaires.Nous avons démontré que les outils unitaires étendus au cas hybride sans discard surpassent, pour la plupart, largement l'état de l'art.Et qu'avec l'ajout d'un test de séparation au niveau unitaire, nous pouvons traiter des classes beaucoup plus vastes.
Le ZX-Calculus est un langage graphique puissant et intuitif, issu de la théorie des catégories, et qui permet de raisonner et calculer en quantique. Les évolutions quantiques sont vues dans ce formalisme comme des graphes ouverts, ou diagrammes, qui peuvent être transformés localement selon un ensemble d’axiomes qui préservent le résultat du calcul. Un aspect des plus importants du langage est sa complétude : Étant donnés deux diagrammes qui représentent la même évolution quantique, puis-je transformer l’un en l’autre en utilisant seulement les règles graphiques permises par le langage ? Si c’est le cas, cela veut dire que le langage graphique capture entièrement la mécanique quantique. Le langage est connu comme étant complet pour une sous-classe (ou fragment) particulière d’évolutions quantiques, appelée Clifford. Malheureusement, celle-ci n’est pas universelle : on ne peut pas représenter, ni même approcher, certaines évolutions. Dans cette thèse, nous proposons d’élargir l’ensemble d’axiomes pour obtenir la complétude pour des fragments plus grands du langage, qui en particulier sont approximativement universels, voire universels. Pour ce faire, dans un premier temps nous utilisons la complétude d’un autre langage graphique et transportons ce résultat au ZX-Calculus. Afin de simplifier cette fastidieuse étape, nous introduisons un langage intermédiaire, intéressant en lui-même car il capture un fragment particulier mais universel de la mécanique quantique : Toffoli-Hadamard. Nous définissons ensuite la notion de diagramme linéaire, qui permet d’obtenir une preuve uniforme pour certains ensembles d’équations. Nous définissons également la notion de décomposition d’un diagramme en valeurs singuliaires, ce qui nous permet de nous épargner un grand nombre de calculs. Dans un second temps, nous définissons une forme normale qui a le mérite d’exister pour une infinité de fragments du langage, ainsi que pour le langage lui-même, sans restriction. Grâce à cela, nous reprouvons les résultats de complétude précédents, mais cette fois sans utiliser de langage tiers, et nous en dérivons de nouveaux, pour d’autres fragments. Les états contrôlés, utilisés pour la définition de forme normale, s’avèrent en outre utiles pour réaliser des opérations non-triviales telles que la somme, le produit terme-à-terme, ou la concaténation.