PROGRAMMEZ n°13 - Page 4 - 13 002.qxp_HS13 04/12/2023 12:23 Page2 programmez.com 3 TABLE DES MATIÈRES TABLE DES MATIÈRES Programmez! est une publication bimestrielle de Nefer-IT. Adresse : 57, rue de Gisors 95300 Pontoise – France. Pour nous contacter : redaction@programmez.com L’abonnement à Programmez! est de 55 € pour 1 an, 90 € pour 2 ans. Abonnements et boutiques en pages 42 et 25 Abonnement numérique (format PDF) directement sur www.programmez.com Contenus ⊦≮ Edito : les révolutions de l’informatique quantique François Tonic ⊦≯ Agenda ⊦≰ Former les talents de demain Axel Terrazzìni ⊦≲ Introduction à l’informatique quantique Benoît Prieur ⊦≵⊕ Programmation quantique : naviguer dans le futur de l’informatique Tamuz Danzig ⊦≵⊘ Réinventer le traitement des données James Clarke ⊦≵≽ Interview d’Anne Matsuura : SDK Intel Quantum Démonstration d’un algorithme quantique variationnel - In English ⊦≶⊕ IA & calcul quantique : quels rapports ? Jean-Michel Torres ⊦≶⊘ Comment faire de la mitigation d’erreurs quantique ? Aziz Ngoueya Akanji Benga ⊦≶⊛ Informatique quantique : ce que vous devez savoir pour vous lancer Olivier Hess ⊦≷⊔ Cas pratique : implémentation, compilation et réduction du bruit avec la solution Qaptiva d’Eviden Anne-Lise Guilmin, Robert Wang, Thomas Ayral ⊦≷⊛ Calcul quantique : n’importe où, n’importe quand Jason Mueller ⊦≸⊖ Solveurs quantiques en différences finies pour la simulation physique Anthony Chagneau ⊦≸⊛ Le quantique pour les problèmes de la chaîne logistique Gérard Fleury, Philippe Lacomme, Caroline Prodhon ⊦≹⊕ Réseaux de tenseurs : du quantique à l’inspiration quantique Michel Kurek ⊦≹⊚ Informatique quantique et Rust : une rapide exploration Benoît Prieur ⊦≺⊕ Hybrid computer : using NVIDA CUDA Quantum to program CPU, GPU and QPU - In English Esperanza Cuenca Gomez ⊦∼∰ Abonnez-vous ! ⊦∼∱ Boutique Programmez! ⊦≶⊓ 003_004.qxp_HS13 04/12/2023 16:16 Page3 4 programmez.com EDITO EDITO PROGRAMMEZ! N°261 Disponible à partir du 26 janvier 2024 PROGRAMMEZ! N°260 Toujours disponible #HS13 Nous remercions tous les contributeurs de ce numéro exceptionnel ainsi que les partenaires (Eviden et Intel). Ce hors-série n’a pas été le numéro le plus facile à créer. L’idée a germé durant la DevCon quantique du printemps 2023 à l’ESGI. Les promesses du quantique sont immenses mais de quoi parle-t-on réellement ? De quelle quantique ? Matériel ? Logiciel ? Les deux ? J’espère que ce numéro vous donnera envie d’aller plus loin et de découvrir par vous-même l’univers fascinant du quantique. François Tonic État indéfini PROCHAIN NUMÉRO NUMÉRO EN COURS Les révolutions de l’informatique quantique Quel est l’état de cet édito ? 0 ou 1 ? Mort ou vivant ? Réponse en ouvrant les pages de ce numéro 100 % quantique ! 003_004.qxp_HS13 04/12/2023 16:16 Page4 programmez.com 5 AGENDA Informations & inscription : programmez.com AGENDA Lun. Mar. Mer. jeu. Ven. Sam. Dim. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Meetup Programmez! 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 SnowCamp / Grenoble Lun. Mar. Mer. jeu. Ven. Sam. Dim. 1 2 3 4 5 6 7 8 9 10 Open Source Experience / Paris DevFest Dijon API Days / Paris 11 12 13 14 15 16 17 DevCon Sécurité / Paris 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Merci à Aurélie Vache pour la liste 2023/2024, consultable sur son GitHub : https://github.com/scraly/developers-conferences-agenda/blob/master/README.md Les événements Programmez! décembre 2023 janvier 2024 février 2024 1er semestre 2024 FOSDEM : 3&4 février / Belgique FlowCon : 6-7 mars / Paris pgDayParis : 14-15 mars / Paris KubeCon+CloudNativeCon Europe : 19-22 mars / Paris SymfonyLive Paris : 28-29 mars / Paris Devoxx France : 17-19 avril / Paris MiXiT : 25-26 avril / Paris Android Makers : 25-26 avril / Paris AFUP Day : 4 mai / Nancy, Poitiers, Lille, Lyon DevFest Lille : 6-7 juin / Lille Meetups Programmez! Les meetups 2024 : 9 janvier 2024 6 février 2024 Où : The Coding Machine 56 Rue de Londres, 75008 ParisParis A 5 minutes de la gare Saint Lazarre : ligne L, H, métro 3 / 9 / 12 / 14 Conférence DevCon #21 100 % IA Une conférence développeur exceptionnelle sur l’IA, l’IA générative : usage, les modèles de développement, comment concevoir et déployer, la partie matérielle. 7 mars 2024 : au campus de l’école 42 ! PROGRAMMEZ! N°261 Disponible à partir du 26 janvier 2024 PROGRAMMEZ! N°260 Toujours disponible PROCHAIN NUMÉRO NUMÉRO EN COURS Lun. Mar. Mer. jeu. Ven. Sam. Dim. 1 2 3 4 SnowCamp / Grenoble AgileLeMans 5 6 7 8 9 10 11 DevFestParis / Paris Meetup Programmez! 12 13 14 15 16 17 18 Touraine Tech / Tours 19 20 21 22 23 24 25 26 27 28 29 30 31 005.qxp_HS13 05/12/2023 10:17 Page5 Pendant de nombreuses années, les étudiants désirant apprendre le quantique s’engageaient dans des formations très théoriques dans lesquelles les principes fondamentaux de la physique quantique étaient enseignés afin de comprendre, entre autres, le comportement de la matière à l’échelle atomique, c’est-à-dire l’infiniment petit. Les prérequis principaux étaient d’avoir de bonnes connaissances d’analyse mathématique, d’algèbre linéaire et de physique classique. De nombreuses avancées technologiques fascinantes ont été découvertes grâce à cette théorie, telles que les lasers, l’imagerie médicale ou encore les nanotechnologies. Après un mastère, les élèves désirant approfondir le sujet, et peut-être faire de la recherche fondamentale, continuaient en doctorat. Les dix dernières années ont vu l’arrivée des technologies de rupture (i.e. deeptech) dans l’intelligence artificielle, la biologie, la robotique, l’électronique, la photonique et, bien sûr, le quantique : cela a créé de nouveaux besoins et la nécessité d’inventer de nouveaux profils d’ingénieurs. Cela a fait évoluer les formations liées au quantique, tant d’un point de vu du nombre de talents nécessaires que du contenu des formations. Certains problèmes ayant un niveau de complexité plus important nécessitent de passer d’un ordinateur classique à un supercalculateur afin d’être résolus. Mais certains problèmes complexes sont impossibles à résoudre même avec les supercalculateurs les plus puissants d’aujourd’hui, et c’est là que l’ordinateur quantique devrait apporter un avantage. Former les talents de demain a l’informatique quantique et aux technologies quantiques Changement de paradigme Les ingénieurs en informatique classique connaissent des carrières riches, diverses et évoluant au fur et à mesure des avancées technologiques. Cependant passer de l’informatique classique qui utilise des bits (qui peuvent prendre comme valeur 0 ou 1) à l’informatique quantique qui utilise des qubits (qui ne prennent pas comme valeur 0 ou 1, mais une superposition de 0 et de 1) n’est pas une évolution simple, c’est un changement de paradigme qui requière une formation spécifique. Création de la formation L’informatique quantique utilise des propriétés de la physique quantique telles que la superposition et l’intrication quantiques. C’est pourquoi l’EPITA proposait depuis plusieurs années une mineure Quantique animée par un des spécialistes les plus réputés du domaine, Olivier Ezratty, afin de permettre aux ingénieurs en informatique (i.e. Computer Science) d’avoir une acculturation quantique et d’éveiller en eux l’envie de s’impliquer dans l’informatique quantique, les technologies quantiques et les technologies habilitantes. À la suite du succès de celle-ci, l’EPITA a décidé en 2022 de créer une nouvelle majeure dédiée au quantique. C’est ainsi que la majeure ‘Informatique & Technologies Quantiques’ a été lancée en février 2023 en devenant la seizième majeure proposée par l’EPITA. Les conditions nécessaires pour un élèves désirant suivre cette majeure sont : d’aimer les mathématiques, la physique et la programmation. Les élèves débutant leur deuxième année du cycle ingénieur possèdent d’excellentes compétences en développement logiciel à la suite de création de projets complexes impliquant l’apprentissage de différents langages de programmation. L’un des buts était aussi de faire simple et le plus agile possible : pas d’investissement dans du matériel coûteux (matériel d’optique par exemple) ou indisponible (ordinateurs quantiques). La consultation des entreprises principales du quantique nous a donné raison et nous avons donc centré cette formation autour du développement logiciel quantique avec une diversité d’architectures d’ordinateurs quantiques et un accès aux ordinateurs quantiques via les fournisseurs de cloud. La formation détaillée Pour répondre aux besoins de l’industrie, la majeure a été créée en partenariat avec les sociétés les plus importantes du quantique en France, en Europe et au niveau international. Cela a aussi permis de créer une formation avec une très grande majorité d’intervenants venant directement de l’industrie du quantique : vingt-deux sociétés ont accepté de rejoindre l’aventure avec l’aide d’universitaires renommés 6 programmez.com Axel Ferrazzini Chef de la majeure Informatique & Technologies Quantiques à l’EPITA Les étudiants de la majeure quantum de l'EPITA découvrent la technologie des qubits de chat chez la startup française Alice & Bob 006_007.qxp_HS13 04/12/2023 12:27 Page6 afin de créer l’un des programmes les plus complets et ambitieux, de France et d’Europe. Sans compter le tronc commun, le programme se compose de plus de 600 heures d’enseignement purement quantique auquel s’ajoute des cours de cryptographie classique, de réseaux et de télécommunication (axé 5G advance afin de préparer la création de la 6G qui aura une partie quantique). La majeure s’étend sur deux semestres puis est suivie par un stage de fin d’études de six mois. Les élèves ont également un projet en entreprise pendant les deux semestres qui leur permet de passer une demi-journée par semaine au sein d’une entreprise et d’y appliquer leurs connaissances. La formation débute par une remise à niveau en mathématiques, physique classique / quantique et en parallèle commence une acculturation à l’écosystème des technologies quantiques avec une approche business. Il est très important que les élèves aient des exemples concrets tout au long du programme afin d’illustrer, comprendre et structurer leur apprentissage. Une fois tous les concepts de base maitrisés, s’ensuivent les premiers développements en utilisant python et Q# avec une mise en application des enseignements des principaux algorithmes quantiques (Bernstein Vazirani, Grover, Shor, HHL…), auxquels s’ajoutent l’estimation de ressources, l’informatique quantique hybride et la cohabitation avec les ordinateurs à hautes performances. En parallèle les élèvent apprennent la théorie de l’information, la correction d’erreurs quantiques et sont initiés aux différentes architectures (qubit supraconducteur, qubit à ions piégés, qubit photonique, qubit silicium, qubit à base de nanotubes de carbone, qubit à atome neutre et qubit de chat). Les élèves ont également la chance d’apprendre les différentes technologies de capteurs quantiques (atomes froids, centres NV, Josephson, terres rares et autres). L’accent est également mis sur l’importance de la cryptographie post-quantique, qui nécessite de comprendre les menaces liées à l’informatique quantique (en particulier bien comprendre l’algorithme de Shor) pour être mise en application. La compréhension de l’utilisation de la normalisation (NIST, ETSI…) et des rôles des propriétés intellectuelles et industrielle sont aussi enseignés. Le développement logiciel quantique étant au cœur de la formation, il y a un enchainement d’utilisation de Qiskit, Braket, Q# ainsi que des plateformes Black Opal et Classiq. Nous mettons aussi l’accent sur l’apprentissage de l’utilisation d’émulateurs tels que Callisto et Perceval. Enfin l’enseignement de la cryptographie quantique, de la distribution et des solutions de déploiement de clefs quantiques mais aussi des solutions quantiques de génération de nombres aléatoires viennent consolider les connaissances des étudiants. L’enseignement du Quantum Machine Learning a aussi une place prépondérante dans la formation. Pour conclure, les élèves ont également plusieurs enseignements couvrant les applications de l’informatique quantique et des algorithmes quantiques aux secteurs de la finance, de la logistique et de la pharmaceutique. Ce programme a été élaboré en collaboration avec les acteurs majeurs de l’industrie quantique et évoluera en fonction des besoins afin de former les meilleurs ingénieurs en informatique et technologies quantiques d’aujourd’hui et de demain. programmez.com 7 7 & 8 MARS 2024 Q2B24 PARIS L’ÉVÉNEMENT QUANTIQUE À NE PAS RATER ! Q2B est la conférence de référence en informatique quantique au niveau mondial, organisée par QC WARE. Rendez-vous les 7 et 8 mars 2024 de 8h à 18h au Paris Pullman Montparnasse pour deux jours de présentations et d’échanges exclusivement en anglais. La conférence rassemble les fournisseurs, investisseurs, industriels/utilisateurs finaux, universitaires et représentants gouvernementaux les plus réputés dans la matière autour des dernières avancées de l’art. Elle vise également à mettre en relation clients actuels ou futurs et fournisseurs. Q2B existe depuis 2017 aux Etats-Unis avec Q2B Silicon Valley se déroulant chaque année au mois de décembre en Californie. Elle s’est étendue à Tokyo en 2022, puis en 2023 à Paris. Après son édition inaugurale réussie à Paris en 2023, en présence du Prix Nobel Alain Aspect et du Ministre délégué chargé de la transition numérique et des télécommunications Jean-Noël Barrot, Q2B revient à Paris avec les 7 et 8 mars 2024 avec le Pullman Paris Montparnasse comme nouvel écrin, rendant sa communauté toujours plus accessible à l’écosystème européen et international de l’informatique quantique. L’évènement sera structuré autour de sessions plénières et spécialisées sur les ordinateurs, logiciels et algorithmes quantiques, capteurs et communications quantiques, avec un focus sur leurs applications (aéronautique, finance, recherche pharmaceutique, etc.), et des pauses dédiées au networking. Lien vers inscriptions : https://q2b.qcware.com/2024-conferences/paris/ Code promo pour les lecteurs de Programmez : PARIS-20-PROGRAMMEZ 006_007.qxp_HS13 04/12/2023 12:27 Page7 Premiers éléments de physique quantique Considérations générales L’informatique quantique se base sur quelques principes de physique quantique. La première question à évacuer est de définir la physique quantique. C’est la physique de l’infiniment petit au niveau nanoscopique. Exprimé autrement, c’est la physique des atomes et de ce qu’ils contiennent, en particulier les électrons. Elle couvre également les photons, qui sont des particules de lumière, et qui constituent l’aspect corpusculaire de la lumière, qui est également une onde. On parle d’ailleurs à propos de la lumière de la dualité onde-corpuscule. La physique quantique se distingue également par son caractère non intuitif. Chaque personne a au contraire l’intuition, par exemple de la gravitation, dans le monde de la mécanique classique : si l’on pousse un objet posé sur une table, tout le monde a l’intuition que quand l’objet sera proche du rebord de la table, il tombera. Nous avons donc l’intuition de sa chute avant même qu’elle ne survienne, car nous avons une connaissance intuitive des lois de la mécanique classique ; a contrario chaque phénomène quantique échappe complètement à notre intuition. Introduction à l’informatique quantique Cet article est destiné à donner les premiers éléments de compréhension de l’informatique quantique. Il reprend largement des publications passées, à commencer par un article introductif publié dans Programmez! 239, mais aussi le support de présentation d’Introduction to Quantum Computing présenté lors de BarCamp Yerevan 2023. Son objectif est clairement de faire saisir les quelques notions-clés nécessaires pour commencer à explorer les différentes solutions quantiques disponibles. Autre caractéristique de la physique quantique, sa nature non déterministe, ou probabiliste. Au contraire de la mécanique classique qui est, elle, déterministe. En effet, si on a toutes les données d’entrée, la position précise du ballon, sa vitesse, la force qui est exercée sur lui, dans quelle direction, on pourra calculer précisément sa nouvelle position. La mécanique classique est déterministe ; la mécanique quantique, elle, ne l’est pas. C’est une physique probabiliste. Mentionnons enfin, le principe d’Heisenberg en physique quantique, qui explicite le fait que si on connaît, grâce à une mesure, une donnée relative à une particule, sa vitesse par exemple, on ne peut pas connaître une autre de ses caractéristiques, sa localisation précise par exemple. Ceci nous amène à la notion de mesure quantique, que nous expliciterons ci-après, qui est liée à une autre notion importante, la réduction du paquet d’onde, qui explicite que dans le monde quantique, après une mesure, une particule, ou un système physique en général, voit son état réduit à celui qui a été mesuré. En d’autres termes, la mesure quantique fait passer un état quantique de la physique quantique à la physique classique. De plus, on considère que la mesure quantique perturbe la valeur mesurée. C’est comme si dans le monde classique, quand vous mesurez la vitesse d’un véhicule à l’aide d’un radar routier, cette mesure modifie la vitesse dudit véhicule. Absolument contre-intuitif. Détaillons plus avant cette notion d’état quantique, ainsi que les trois notions fondamentales pour commencer à faire de l’informatique quantique : la superposition quantique, l’intrication quantique et la mesure quantique, dont nous venons déjà de dire un mot. Superposition, intrication et mesure quantiques L’état quantique Une particule se trouve dans un état quantique, constitué par une superposition quantique des différents états mesurables par une mesure quantique et pondéré chacun par la probabilité que cet état soit mesuré. En informatique classique, on parle de bit : l’état est 0 ou 1. Il faut voir un état quantique comme un état superposant à la fois un état 0 et un état 1, chacun pondéré par la probabilité respective d’être mesuré. Après mesure, l’état “classique” est égal strictement à 0 ou à 1. Cette première explication paraît sans doute obscure au premier abord, nous allons donc détailler l’expérience de 8 programmez.com Benoît Prieur est auteur aux éditions ENI pour lesquelles il a publié une vidéo de vulgarisation de l’informatique quantique en 2023. Il a publié plusieurs articles de vulgarisation sur le sujet et participe régulièrement à des conférences quantiques. Il a également donné des cours d’informatique quantique en écoles d’ingénieurs. https://www.benoit-prieur.fr/ Figure 1 : Le chat Couscous dans la boîte, face au cruel dispositif. Le dessin du chat de Schrödinger : Cristineagoe sur Wikipédia anglais, CC BY-SA 3.0
, via Wikimedia Commons 008_012.qxp_HS13 04/12/2023 12:37 Page8 l’esprit dite du chat de Schrödinger pour rendre plus concret ce fonctionnement éminemment contre-intuitif. Un mot avant cela à propos de la manière de représenter un état quantique, en informatique quantique : on parle de bit quantique, ou qubit ou qu-bit. Le bit quantique représente l’unité de base en informatique quantique à l’instar du bit en informatique dite classique. L’expérience du chat de Schrödinger L’expérience consiste à enfermer le chat Couscous (aka Cacahuète, aka Titus) dans une boîte opaque, et la refermer. Dans cette boîte se trouve un dispositif létal qui peut tuer le chat Couscous à n’importe quel moment. Figure 1 De l’extérieur, nous n’avons aucun moyen de savoir si le chat Couscous est vivant ou mort. En réalité, d’un point de vue quantique, il est à la fois mort et vivant, les deux états superposés (mort et vivant) étant équiprobables. L’état quantique de Couscous est donc une superposition de deux états : l’état mort et l’état vivant. Seule manière de savoir réellement ce qu’il en est : ouvrir la boîte, et ce faisant, procéder à une mesure quantique. L’état mesuré du chat Couscous sera soit mort, soit vivant. On peut tenter de mettre en équation, cet état quantique, grâce à une notation très utilisée en informatique quantique, la notation bra-ket. L’état quantique de Couscous est représenté par cette combinaison linéaire impliquant l’état quantique mort, et l’état quantique vivant, chacun pondéré par une sorte de probabilité d’être la valeur finalement mesurée. Si l’on considère les deux états superposés du chat (vivant et mort) comme étant équiprobables alors l’état quantique du chat s’écrit comme ci-dessous. Note sans importance pour la compréhension : le coefficient multiplicateur devant chaque état dans la précédente équation est égal à la racine carrée de la probabilité associée (ici chaque probabilité est égale à 0.5). En effet : Figure 2 Cette expérience de la pensée permet de mettre en exergue deux notions-clés : la superposition quantique (quand le chat est dans un état superposé, à la fois mort et vivant) et la mesure quantique (quand on ouvre la boîte). La notation bra-ket Imaginons une particule donnée. On s’intéresse particulièrement à sa vitesse. Sa vitesse est une superposition quantique de trois vitesses différentes. On peut écrire l’état quantique associée ainsi : |Ψ〉 Modulo quelques approximations en termes de probabilité, on peut donc considérer que l’état quantique est une superposition de trois vitesses, V1, V2 et V3. La vitesse V1 a 25% de chance d’être mesurée, la vitesse V2 45% et la vitesse V3 30%. Une fois la mesure effectuée, ce ne sera qu’une des trois vitesses qui sera mesurée, et on se retrouvera alors dans le domaine de la mécanique classique. Dans le schéma suivant, le segment vertical représente la mesure : une seule vitesse est consistante post-mesure, ici la vitesse V1, celle d’ailleurs qui était la moins probable. Allons à présent un petit peu plus loin. On considère ici que l’on s’intéresse à un seul qubit. En notation bra-ket, son état quantique s’écrit ainsi : On peut d’ailleurs écrire chacune des deux valeurs mesurables ainsi. Si l’on passe à un schéma à deux qubits, on a quatre valeurs possibles mesurables. Ce sont les valeurs suivantes. On peut en effet écrire l’état quantique à l’aide de l’équation suivante, utilisant les coefficients α, β, γ et δ. Comme précédemment on peut exprimer sous forme d’équations chacune des valeurs finalement mesurables. Si l’on passe à trois qubits on aura huit valeurs possibles. De manière générale, une solution à n qubits verra la possibilité de travailler en 2 exposant n. programmez.com 9 Figure 2 : Le chat Couscous, bien vivant, mais courroucé par cette drôle d’expérience. 008_012.qxp_HS13 04/12/2023 12:37 Page9 On peut ensuite modifier l’état quantique de chaque qubit à l’aide d’un circuit quantique, qui représente ni plus ni moins un algorithme quantique. Ce circuit quantique est composé de portes quantiques et se termine en général par une mesure quantique. L’informatique classique et son algèbre de Boole manipulent des portes logiques. En informatique quantique, on utilise des portes quantiques. Les états quantiques étant finalement des états probabilistes, on soumet en général plusieurs fois les mêmes entrées à un circuit quantique. On analyse ensuite la répartition du résultat des 10000 (par exemple) mesures, une mesure par utilisation du circuit quantique. Le propos qui précède nous a permis d’éclaircir les notions de superposition et de mesure, ainsi que ce qui lie ces deux notions. Il nous reste à aborder la troisième grande notion : l’intrication (ou l’enchevêtrement) quantique. L’intrication quantique L’intrication quantique est un phénomène physique assez étonnant dont l’existence fut longtemps controversée au sein de la communauté scientifique. Il a été depuis démontré expérimentalement bien après sa mise en évidence théorique. L’intrication quantique consiste en un lien entre deux particules, pourtant possiblement très éloignées l’une de l’autre. Deux particules A et B qui sont intriquées ont le même état quantique. Si l’une des deux change d’état, l’état de la seconde particule sera le même. Cela implique enfin que le résultat de la mesure respective de deux particules intriquées est théoriquement le même. Cette notion est fréquemment utilisée en informatique quantique, pour coder ce que l’on appelle la téléportation quantique ou encore pour simuler les états de Bell, qui seront l’objet de notre exemple pratique avec la solution IBM Qiskit. Les états de Bell Un des moyens d’implémenter l’intrication de deux particules, ici entre deux qubits, est de recourir aux états de Bell. Ci-dessous les quatre états de Bell : Ceux-ci permettent de maximiser l’intrication entre les deux qubits. Un circuit quantique bien déterminé et bien connu permet d’implémenter un des quatre états de Bell. Il implique l’utilisation de deux portes quantiques, la porte de Hadamard et la porte C-NOT et se termine par une mesure de chacun des deux qubits. La plate-forme IBM QisKit La plate-forme permet de s’essayer à l’informatique quantique de plusieurs manières. En premier lieu, Qiskit s’installe et s’utilise localement indifféremment sous Linux, Windows ou macOS. L’URL suivante détaille la procédure à suivre pour installer QiSkit sur votre machine. https://qiskit.org/documentation/install.html La plate-forme permet également de travailler entièrement en ligne. C’est la solution que nous utiliserons ici. D’une part est disponible un éditeur graphique de circuits quantiques nommé Circuit Composer (nous en dirons un mot) et d’autre part, il est possible de coder et d’exécuter tous ses programmes quantiques en Python dans des notebooks Jupyter que nous allons également utiliser ici. Une fois défini votre circuit quantique (soit avec Circuit Composer soit au sein d’un notebook Jupyter) on peut exécuter le programme. IBM Qiskit permet de soumettre le programme à deux types de solveurs quantiques. • des simulateurs de machines quantiques conçus avec un ordinateur classique qui sont supposés donner un résultat exact d’un point de vue quantique. • de vraies machines quantiques. L’exécution se retrouve alors dans une file d’attente Note : les notebooks Jupyter permettent la programmation interactive faisant alterner du code Python et le résultat de son exécution. L’extension d’un fichier de notebook Jupyter est .ipynb. Un tel fichier peut facilement être partagé, y compris sur des sites de gestion de version, comme Github, qui savent afficher un fichier .ipynb. Pour utiliser Qiskit en ligne, commencez par vous créer un compte IBM en ligne à l’URL suivante. https://quantum-computing.ibm.com/ Une fois votre compte créé, vous accédez à votre espace, muni d’une barre latérale à gauche de l’écran qui vous permet de naviguer parmi les différents outils mis à disposition. Ci-contre une copie d’écran de la barre latérale incluant les liens suivants. • Dashboard qui fait office de page d’accueil. • Results qui permet de consulter les exécutions passées et leurs résultats. • Circuit Composer, qui permet de réaliser un circuit quantique de manière graphique. • Qiskit Notebooks, qui permet de travailler avec des notebooks Jupyter. Figure 3 Le Circuit Composer de Qiskit Cet outil permet de composer un circuit quantique en faisant glisser les différentes portes quantiques de notre programme. Ainsi en quelques clics on réalise le schéma suivant en faisant glisser une porte de Hadamard (H), une porte C-NOT ainsi que deux portes de mesure. Figure 4 Au-dessus du schéma ainsi composé se trouve un bouton Run dans lequel on peut sélectionner un solveur ainsi que le nombre d’utilisations du circuit quantique. Nous choisissons donc de lancer 1024 essais à l’aide d’un des simulateurs quantiques mis à disposition. Après quelques secondes on obtient un résultat graphique qu’il s’agit d’interpréter. Figure 5 10 programmez.com Figure 3 008_012.qxp_HS13 04/12/2023 12:37 Page10 On voit qu’on obtient 49,121 % des essais (503 essais) qui donnent le résultat suivant dans lequel les deux qubits de sortie sont identiques (à zéro) : On obtient également 50,879 % des essais (521 essais) qui donnent le résultat suivant dans lequel les deux qubits de sortie sont identiques (à un) : Nous n’obtenons jamais, comme prévu, les deux situations suivantes : Les notebooks Jupyter dans Qiskit Passons à présent à l’utilisation de Jupyter. Nous allons reproduire le même exemple, mais cette fois avec du code Python. Nous lancerons une simulation similaire à celle qui précède puis nous exposerons notre programme quantique sur une vraie machine quantique située à Melbourne. Commençons à créer un nouveau notebook Jupyter en cliquant sur le bouton New Notebook. On commence ensuite à coder une première section du notebook que nous détaillons tout de suite. On ajoute la clause %matplotlib inline nécessaire dès l’instant que l’on travaille avec des notebooks Jupyter. %matplotlib inline Puis on déclare les différents modules dont on aura besoin, à commencer évidemment par le module qiskit. On importe également numpy et plot_histogram pour pouvoir ensuite générer un résultat graphique. importqiskit fromqiskitimport( IBMQ, ClassicalRegister, QuantumCircuit, QuantumRegister, QuantumCircuit, execute, Aer) importnumpyasnp fromqiskit.visualizationimportplot_histogram Puis on définit notre circuit quantique à l’aide de la fonction QuantumCircuit dont la documentation est à cette URL. https://qiskit.org/documentation/api/qiskit.circuit.QuantumCircuit.html On a besoin de deux bits quantiques en entrée et de deux bits classiques de sortie. circuit=QuantumCircuit(2,2) Puis on adjoint une porte de Hadamard sur le premier bit quantique. circuit.h(0) On ajoute ensuite notre porte quantique C-NOT entre le premier et le deuxième bit quantique. circuit.cx(0,1) Puis on ajoute les deux unités de mesure quantique. circuit.measure([0,1],[0,1]) Pour l’instant nous avons seulement défini un circuit quantique que nous allons dessiner à l’écran avant de l’exécuter. circuit.draw() print(circuit) circuit.draw(output=’mpl’,filename=’circuit.png’) La copie d’écran de la première section de notre notebook. Figure 6 Quand on l’exécute, on obtient deux représentations de notre circuit quantique. Figure 7 Nous allons à présent exécuter ce programme quantique. La seconde section du notebook concerne l’exécution du programme sur un simulateur quantique, puis la troisième section concerne l’exécution sur une réelle machine quantique. programmez.com 11 Figure 4 Figure 5 008_012.qxp_HS13 04/12/2023 12:37 Page11
PROGRAMMEZ n°13 - Page 4
PROGRAMMEZ n°13 - Page 5
viapresse