Découvrez l’informatique quantique avec les katas quantiques

ka·​ta | kah-tuh

Modèle pour apprendre, mettre en pratique et implémenter de nouvelles compétences, de nouvelles méthodes et de nouveaux processus.

Les katas quantiques sont des tutoriels et des exercices de programmation open source auto-rythmés qui vous permettront d’acquérir simultanément des notions d’informatique quantique et du langage de programmation Q#.

Apprendre par la pratique

Les tutoriels et les exercices collectés dans les katas quantiques mettent l’accent sur l’expérience pratique pour renforcer l’apprentissage des concepts. Les tâches de programmation couvrent un large éventail de concepts quantiques, des plus simples aux plus complexes. Pour chaque tâche, vous devez remplir le code qui manque. Si les premiers katas peuvent ne nécessiter qu’une seule ligne, les exercices ultérieurs peuvent nécessiter des fragments de code conséquents.

Plus important encore, les katas incluent des frameworks de test qui exécutent et valident vos solutions aux exercices. Vous pouvez ainsi obtenir un retour immédiat sur votre solution et reconsidérer votre approche si elle est incorrecte. Si vous êtes bloqué, la plupart des katas ont un workbook d’accompagnement comprenant les solutions et des explications.

Vous pouvez utiliser les katas dans l’environnement de votre choix :

  • Notebooks Jupyter dans un environnement Binder en ligne préconfiguré, sans aucune configuration nécessaire
  • Jupyter Notebooks s’exécutant sur votre ordinateur local
  • Visual Studio sur votre ordinateur local
  • Visual Studio Code sur votre ordinateur local

Quels sont les concepts couverts par les katas quantiques ?

Chaque kata explore un concept fondamental de l’informatique quantique. Certains couvrent les principes de base tandis que d’autres approfondissent les algorithmes et protocoles quantiques. Le parcours d’apprentissage suivant est recommandé pour bien démarrer et maîtriser parfaitement les concepts fondamentaux de l’informatique quantique. Bien sûr, vous pouvez ignorer les sujets que vous connaissez déjà et explorez les katas dans l’ordre de votre choix.

Présentation de l’informatique quantique

Kata Description
Arithmétique complexe Ce tutoriel explique certaines notions mathématiques qui sont nécessaires à l’utilisation de l’informatique quantique, telles que les nombres imaginaires ou les nombres complexes.
Algèbre linéaire L’algèbre linéaire est utilisée pour représenter les opérations et les états quantiques en informatique quantique. Ce tutoriel décrit les concepts de base, y compris les matrices et les vecteurs.
Concept du qubit Découvrez les qubits, qui sont au cœur de l’informatique quantique.
Portes quantiques à qubit unique Ce tutoriel présente les portes quantiques à qubit unique, qui sont les éléments constituants des algorithmes quantiques et permettent de transformer les états des qubits quantiques de différentes façons.
Systèmes multiqubits Ce tutoriel présente les systèmes multi-qubits, montre leur représentation en notation mathématique et en code Q#, et explique le concept d’intrication.
Portes quantiques multiqubits Ce tutoriel suit la même logique que le tutoriel Portes quantiques à qubit unique, mais il se concentre sur l’application des portes quantiques aux systèmes multiqubits.

Fondamentaux de l’informatique quantique

Kata Description
Reconnaissance des portes quantiques Série d’exercices conçus pour vous familiariser avec les portes quantiques de base en Q#. Comprend des exercices pour les portes à qubit unique, les portes multiqubits, les portes adjacentes et les portes contrôlées, ainsi que des exercices expliquant comment utiliser les portes pour modifier l’état d’un qubit.
Création d’une superposition quantique Utilisez ces exercices pour vous familiariser avec le concept de superposition et de programmation en Q#. Comprend des exercices concernant les portes à qubit unique, les portes multi-qubits, la superposition, le contrôle de flux et la récursivité en Q#.
Distinction des états quantiques à l’aide de mesures Faites ces exercices pendant votre apprentissage de la mesure quantique, ainsi que des états orthogonaux et non orthogonaux.
Mesures communes Découvrez les mesures de parité communes et comment utiliser l’opération Measure pour distinguer les états quantiques.

Algorithmes de quantum

Kata Description
Téléportation quantique Ce kata explore la téléportation quantique. Il s’agit d’un protocole qui permet de communiquer un état quantique en utilisant uniquement la communication classique et l’intrication quantique précédemment partagée.
codage Superdense Le codage super-dense est un protocole qui permet de transmettre deux bits d’informations classiques en envoyant un seul qubit à l’aide de l’intrication quantique précédemment partagée.
Algorithme de Deutsch-Jozsa Cet algorithme est connu pour être l’un des premiers exemples d’algorithmes quantiques qui sont exponentiellement plus rapides que n’importe quel algorithme déterministe classique.
Exploration des propriétés générales de l’algorithme de recherche de Grover Présentation de l’un des algorithmes les plus connus en informatique quantique. Celui-ci résout le problème consistant à trouver une entrée dans une boîte noire (oracle) qui produit une sortie particulière.
Implémentation de l’algorithme de recherche de Grover Ce kata explore plus en détail l’algorithme de recherche de Grover, et traite de l’écriture d’oracles, de l’exécution des étapes de l’algorithme, et enfin, de l’utilisation conjointe de tous ces éléments.
Résolution de problèmes réels à l’aide de l’algorithme de Grover : Problèmes SAT Série d’exercices qui utilisent l’algorithme de Grover pour résoudre des problèmes réalistes, en prenant comme exemple les problèmes SAT.
Résolution de problèmes réels à l’aide de l’algorithme de Grover : Problèmes de coloration des graphes Ce kata explore plus en détail l’algorithme de Grover, qui permet de résoudre les problèmes de satisfaction des contraintes, en prenant comme exemple un problème de coloration des graphes.

Protocoles et bibliothèques quantiques

Kata Description
Protocole BB84 pour la distribution de clés quantique Découvrez comment implémenter un protocole de distribution de clés quantiques (BB84) à l’aide de qubits pour échanger des clés de chiffrement.
Code de correction d’erreurs d’inversion de bits Découvrez la correction des erreurs quantiques avec le plus simple des codes de correction des erreurs quantiques : le code d’inversion de bits à trois qubits.
Estimation des phases Les algorithmes d’estimation de phase sont parmi les éléments les plus fondamentaux de l’informatique quantique. Découvrez l’estimation de phase avec ces exercices qui concernent l’estimation de phase quantique et qui expliquent comment préparer et exécuter des routines d’estimation de phase en Q#.
Arithmétique quantique : Création d’additionneurs séquentiels Série d’exercices avancés qui explorent les additions séquentielles (ripple-carry) sur un ordinateur quantique. Créez un additionneur quantique sur place, développez-le avec un autre algorithme, puis générez un soustracteur quantique sur place.

Jeux d’intrication quantiques

Kata Description
Jeu CHSH Explorez l’intrication quantique avec une implémentation du jeu CHSH. Ce jeu non local montre comment l’intrication quantique peut être utilisée pour augmenter les chances de gagner, au-delà de ce qui serait possible avec une stratégie entièrement classique.
Jeu GHZ Le jeu GHZ est un autre jeu non local, mais il implique trois joueurs.
Jeu du carré magique de Peres et Mermin Série d’exercices qui explorent la pseudo-télépathie quantique pour résoudre un jeu de carré magique.

Étapes suivantes