Découverte de l’informatique quantique — partie 1

Posted on

La fenêtre du Composer d’IBM : la palette de portes à gauche, au centre le circuit — une porte H sur le premier qubit, puis une porte CNOT —, le code OpenQASM à droite, et en bas l’histogramme des probabilités (00 et 11 à 50 % chacun, 01 et 10 à zéro) à côté de la Q-sphere. Le Composer d’IBM : deux qubits, une porte H, une porte CNOT. Seuls 00 et 11 sortent, à 50/50.

Je partage ici ma découverte de l’informatique quantique. Ce n’est évidemment pas un cours, mais quelques notions que j’en retiens, et ce que j’en comprends.

L’informatique quantique fait beaucoup parler, et elle fait rêver. On a tous entendu parler de physique quantique, du chat de Schrödinger, d’intrication, de superposition. Des mots qu’on croise souvent, sans toujours savoir ce qu’ils recouvrent. Mais qu’est-ce que c’est, réellement ?

Et surtout, comment manipuler un objet quantique en informatique ? Qu’existe-t-il aujourd’hui : des machines de laboratoire, ou des ordinateurs qu’on peut déjà utiliser ? Pouvons-nous écrire des programmes avec des algorithmes quantiques ? Et pour quoi faire : quelle utilité concrète ?

Dans cette première partie, nous allons aborder : un peu d’histoire, le qubit et sa mesure, sa représentation sur une sphère, les portes qui le transforment, quelques circuits pour les voir à l’œuvre, et un premier problème à résoudre.

Un peu d’histoire

Au début des années 1900, des expériences contredisent la physique classique. Dans les années 1920, de nouvelles théories relient particules, ondes et énergie : c’est la mécanique quantique.

Côté informatique, tout part de « l’âme de tous les ordinateurs : la machine de Turing ». En 1936, Alan Turing décrit une machine qui « sera le “moule” de tous nos ordinateurs » : on lui donne une entrée, elle calcule étape par étape, puis s’arrête et rend sa sortie. Les autres modèles de calcul proposés se sont tous révélés équivalents. C’est la thèse de Church-Turing étendue : « Tout calculateur raisonnable peut au mieux résoudre les mêmes problèmes et avec la même efficacité que la machine de Turing. »

Or simuler la physique quantique demande à cette machine un très grand nombre d’opérations : il faut calculer toutes les trajectoires possibles d’une particule, car elles interfèrent entre elles. En 1981, Richard Feynman fait ce constat et propose, en substance : « Ne serait-il pas plus facile de simuler la physique quantique si les ordinateurs étaient eux-mêmes quantiques ? »

En 1985, David Deutsch imagine une « machine de Turing quantique », « qui se comporte comme une particule. À chaque étape de calcul, la machine explore plusieurs branches et le résultat final dépend de l’interférence entre ces différentes branches. »

Le point décisif : « Une machine de Turing peut parfaitement, en théorie, émuler une machine de Turing quantique en calculant toutes les trajectoires et leurs interférences. Ainsi, les ordinateurs quantiques ne peuvent pas résoudre de nouveaux problèmes que les ordinateurs normaux ne pourraient pas déjà résoudre. »

Autrement dit, un ordinateur classique peut reproduire un ordinateur quantique : la seule question est le temps et la mémoire nécessaires. Il en faut énormément, « ce qui suggère que la thèse de Church-Turing étendue pourrait voler en éclat ». Personne ne l’a encore prouvé rigoureusement.

La suite, en quelques dates :

  • 1994 : l’algorithme quantique de Shor, qui factorise les entiers, pourrait casser le chiffrement à clé publique.
  • 1995 : le NIST fait fonctionner un circuit quantique à deux qubits.
  • 1996 : Lov Grover présente un algorithme de recherche dans des données non structurées.
  • 2011 : D-Wave One, premier ordinateur quantique commercial (128 qubits), sans avantage sur les ordinateurs classiques.
  • 2016 : IBM met en ligne un ordinateur quantique de 5 qubits.
  • 2019 : Google revendique l’avantage quantique avec 53 qubits, mais « l’affirmation fait encore débat ».
  • 2023 : IBM dépasse les 1 000 qubits.
  • 2024 : le NIST publie les premières normes de cryptographie post-quantique.

« Si dès 1936 l’histoire était déjà théoriquement pliée, il a fallu des années et de formidables efforts technologiques pour que la machine de Turing s’incarne pleinement dans des processeurs. Il en va de même pour l’informatique quantique. »

Le qubit et la mesure

Avant d’arriver au qubit, un peu de physique quantique.

Les expériences du début du XXᵉ siècle l’ont montré : la physique classique « devient inopérante à l’échelle microscopique des atomes et des particules ». À cette échelle, « l’énergie s’échange par valeurs discrètes ou “quanta” », et une particule peut se trouver dans une superposition de plusieurs états : sa position, son énergie « deviennent alors probabilistes ». Seule une mesure tranche.

La théorie se résume en quatre postulats. En mots simples :

  1. L’état d’un système est un vecteur de longueur 1, à coefficients complexes. Si deux états sont possibles, toute combinaison des deux est aussi un état : c’est la superposition.
  2. Tant que le système est isolé, son état évolue de façon déterministe et réversible (équation de Schrödinger).
  3. Une mesure ne peut donner que certains résultats bien précis. Lequel sort relève du hasard, avec une probabilité fixée par l’état (la règle de Born). Et la mesure modifie l’état : après elle, le système est dans l’état du résultat obtenu.
  4. Plusieurs systèmes se décrivent ensemble par un seul état, qui ne se décompose pas toujours en un état pour chacun : c’est l’intrication.

Côté informatique, un ordinateur classique stocke l’information dans des bits, « dont la valeur est soit 0, soit 1 ». Un bit est dans un état ou dans l’autre, et on le lit sans le modifier.

Le qubit, lui, est un objet quantique comme un autre, retenu parce qu’on peut le mettre dans deux états distincts, notés $|0\rangle$ et $|1\rangle$ : un courant dans un circuit supraconducteur, le spin d’un électron, un ion piégé, un photon.

Les postulats s’appliquent tels quels. D’abord, son état est un vecteur :

$$\alpha|0\rangle + \beta|1\rangle$$

où $\alpha$ et $\beta$ sont deux nombres complexes, appelés amplitudes de probabilité. « Le qubit peut être placé dans un ensemble continu de superpositions de ses deux états de base, contrairement au bit classique qui ne peut prendre que deux valeurs (0 ou 1). »

Ensuite, la mesure rend toujours 0 ou 1 : 0 avec la probabilité $|\alpha|^2$, 1 avec la probabilité $|\beta|^2$, c’est-à-dire le carré du module de chaque amplitude. La somme des deux probabilités fait 100 %, d’où :

$$|\alpha|^2 + |\beta|^2 = 1$$

C’est la « longueur 1 » du premier postulat. Avec $\alpha = 1$ et $\beta = 0$, on a $|0\rangle$, lu 0 à coup sûr. Avec $\alpha = \beta = \frac{1}{\sqrt{2}}$, chaque probabilité vaut $\left(\frac{1}{\sqrt{2}}\right)^2 = \frac{1}{2}$ : le qubit se lit 0 ou 1 à 50/50.

Enfin, après la mesure, la superposition est perdue : le qubit vaut ce qu’on a lu. Plus largement, « toute interaction, aussi minime soit-elle, avec l’extérieur » la détruit : c’est la décohérence.

Un schéma de la mesure d’un qubit : en haut, l’état α|0⟩ + β|1⟩ dans un cadre ; une flèche « mesure » descend et se partage vers deux cases, 0 et 1, portant les probabilités |α|² et |β|². Avant la mesure, un état continu ; après, un seul bit, tiré au sort.

Ce que je retiens : à la lecture, un qubit ne donne jamais plus qu’un bit, un seul 0 ou un seul 1. La différence tient à ce qu’on peut faire de $\alpha$ et $\beta$ avant de le lire.

La sphère de Bloch et l’interférence

Un qubit s’écrit donc $\alpha|0\rangle + \beta|1\rangle$, avec $\alpha$ et $\beta$ deux nombres complexes. On peut le représenter sur une sphère, puis voir ce que permettent $\alpha$ et $\beta$ : l’interférence.

Tout qubit a une écriture équivalente avec deux angles, $\theta$ et $\varphi$ :

$$\alpha = \cos\left(\frac{\theta}{2}\right) \qquad \beta = e^{i\varphi}\sin\left(\frac{\theta}{2}\right)$$

Équivalente, car on a seulement multiplié $\alpha$ et $\beta$ par un même nombre complexe de module 1, ce qui ne change aucune mesure : les probabilités sont multipliées par le carré de ce module, soit 1. On s’en sert pour rendre $\alpha$ réel.

Deux angles, c’est un point sur une sphère : « Cela permet de représenter un qubit sur la sphère de Bloch, par un point (ou un vecteur) de colatitude $\theta$ et longitude $\varphi$, et un rayon 1. »

La sphère de Bloch : le pôle Nord porte |0⟩, le pôle Sud |1⟩, l’équateur est dessiné en ellipse. Un vecteur part du centre vers un point de la sphère et tourne autour de l’axe des pôles en gardant la même hauteur ; l’angle φ s’ouvre à sa base. La sphère de Bloch. Le vecteur parcourt sa longitude φ sans changer de hauteur : les chances de lire 0 ou 1 ne bougent pas.

Chaque point de la surface est un état du qubit. Au pôle Nord, $|0\rangle$ ; au pôle Sud, $|1\rangle$. Les formules le confirment : au pôle Nord, $\theta = 0$, donc $\alpha = \cos 0 = 1$ et $\beta = 0$ ; au pôle Sud, $\theta = 180^\circ$, donc $\alpha = \cos 90^\circ = 0$, et il ne reste que $|1\rangle$. Quand on lit le qubit, il saute sur l’un des deux pôles : au Nord si on lit 0, au Sud si on lit 1.

$\theta$, l’angle depuis le pôle Nord, fixe les chances de tomber sur chaque pôle. Pour un qubit, « la probabilité que sa mesure donne 0 est $\cos^2(\theta/2)$ ». C’est $|\alpha|^2$. Celle de lire 1 est $|\beta|^2 = \sin^2(\theta/2)$ : le facteur $e^{i\varphi}$, de module 1, n’y compte pas. Et « un qubit sur l’équateur se mesure en 0 ou 1 avec la même probabilité » : à l’équateur, $\theta = 90^\circ$, et $\cos^2(45^\circ) = \sin^2(45^\circ) = \frac{1}{2}$.

$\varphi$, la phase de $\beta$, place le point autour de l’axe des pôles, sans changer ces probabilités. Exemple sur l’équateur ($\theta = 90^\circ$) : la mesure donne 0 ou 1 à 50/50, et $\cos 45^\circ = \sin 45^\circ = \frac{1}{\sqrt{2}}$. Avec $\varphi = 0$, $e^{i\varphi}$ vaut 1 ; avec $\varphi = 180^\circ$, il vaut $-1$. On obtient deux états :

$$|+\rangle = \frac{|0\rangle + |1\rangle}{\sqrt{2}} \qquad |-\rangle = \frac{|0\rangle - |1\rangle}{\sqrt{2}}$$

Le signe devant $|1\rangle$ change, mais la probabilité de lire 0 ou 1 reste 50/50 : la mesure ne les distingue pas.

Ce signe est pourtant essentiel. Une probabilité n’est jamais négative : deux probabilités ne peuvent que s’additionner. Une amplitude, elle, peut être négative. Deux amplitudes de même signe se renforcent ; de signes opposés, elles peuvent s’annuler. C’est l’interférence.

C’est le cœur du calcul quantique, car « on peut essayer toutes les possibilités en parallèle, mais on ne peut pas accéder à tous les résultats en parallèle » : la mesure n’en rend qu’un, au hasard. Le calcul doit donc faire interférer les amplitudes, pour que celles des bonnes réponses s’additionnent et que celles des mauvaises s’annulent. La mesure a alors de bonnes chances de tomber sur une bonne réponse.

Ce que je retiens : $\theta$ fixe les chances de lire 0 ou 1 ; la phase $\varphi$ fixe le signe de $\beta$, et les signes décident de ce qui s’additionne ou s’annule.

Les portes

Nous avons un qubit, un point sur la sphère de Bloch. On le transforme avec des portes.

Une porte fait évoluer l’état d’un ou plusieurs qubits : sur des qubits supraconducteurs, par des « impulsions à micro-onde ». C’est le deuxième postulat, une évolution réversible, mais provoquée. Contrairement à une porte AND classique, qui rend 0 pour 00, 01 ou 10 (d’un 0 en sortie, impossible de savoir laquelle des trois entrées l’a produit), une porte quantique est réversible : on peut toujours revenir à l’état de départ, en appliquant la porte inverse.

Les portes à un qubit :

Trois petites sphères de Bloch, une par porte, chacune traversée par l’axe de son demi-tour en pointillés : horizontal pour X, vertical pour Z, en diagonale pour H. Le vecteur fait un demi-tour autour de cet axe, s’arrête, puis en refait un et retrouve son point de départ : |0⟩ et |1⟩ pour X, |+⟩ et |−⟩ pour Z, |0⟩ et |+⟩ pour H. Chaque porte est un demi-tour autour de son axe, en pointillés — celui de H est en diagonale. Appliquée deux fois, la porte ne fait rien : c’est sa réversibilité.

  • X, la porte NOT, échange $|0\rangle$ et $|1\rangle$, donc $\alpha$ et $\beta$ : $\alpha|0\rangle + \beta|1\rangle$ devient $\beta|0\rangle + \alpha|1\rangle$. Un demi-tour du pôle Nord au pôle Sud.
  • Z change le signe de $|1\rangle$ : $\alpha|0\rangle + \beta|1\rangle$ devient $\alpha|0\rangle - \beta|1\rangle$, et $\varphi$ tourne de 180°. Invisible à la mesure, décisif pour l’interférence.
  • Y revient à Z puis X. Ces trois portes de Pauli sont des demi-tours de la sphère, chacune autour d’un axe.
  • S et T, les portes de phase, font comme Z en plus fin : $\varphi$ tourne de 90° (S) ou de 45° (T). Là où Z multiplie $\beta$ par $e^{i \cdot 180^\circ} = -1$, S le multiplie par $e^{i \cdot 90^\circ}$ et T par $e^{i \cdot 45^\circ}$.
  • H, la porte de Hadamard, change $|0\rangle$, lu 0 à coup sûr, en $|+\rangle$, lu 0 ou 1 à 50/50 : elle crée la superposition, du pôle à l’équateur. Et $|1\rangle$ en $|-\rangle$. C’est un demi-tour elle aussi, autour de la bissectrice des axes x et z.

$$H|0\rangle = \frac{|0\rangle + |1\rangle}{\sqrt{2}} \qquad H|1\rangle = \frac{|0\rangle - |1\rangle}{\sqrt{2}}$$

Les qubits d’un circuit sont tous présents dès le départ : chacun est un fil qui part de $|0\rangle$ et se lit de gauche à droite. Une porte se place sur un fil, ou en relie plusieurs. La mesure rend des bits classiques.

À deux qubits, la mesure lit 00, 01, 10 ou 11 : quatre états de base, $|00\rangle$, $|01\rangle$, $|10\rangle$ et $|11\rangle$, chacun avec son amplitude (premier chiffre : premier qubit).

$$a|00\rangle + b|01\rangle + c|10\rangle + d|11\rangle$$

La règle de Born ne change pas : on lit 00 avec la probabilité $|a|^2$, 01 avec $|b|^2$, et ainsi de suite, les quatre faisant 100 %. Avec $n$ qubits, $2^n$ états de base : 1 024 pour 10. Tant qu’ils sont indépendants, cela revient à un état par qubit.

La principale porte à deux qubits, CNOT (NOT contrôlé), relie deux fils : si le premier qubit vaut $|1\rangle$, elle applique X au second ; sinon, rien. Sur les quatre états de base :

$$|00\rangle \to |00\rangle \qquad |01\rangle \to |01\rangle \qquad |10\rangle \to |11\rangle \qquad |11\rangle \to |10\rangle$$

Ces quelques portes suffisent : toute porte quantique « peut être approchée d’aussi près que l’on veut » par un circuit de portes H, T et CNOT.

Ce que je retiens : une porte à un qubit le fait tourner sur sa sphère, et toute porte est réversible. H crée la superposition, CNOT peut lier deux qubits.

Exemples de circuits

Trois circuits de base.

Le premier : $|0\rangle$, H, mesure. 0 ou 1 à 50/50, un pile ou face.

Un fil partant de |0⟩, une porte H, puis une mesure. Sous le circuit, l’état à chaque étape : |0⟩, puis (|0⟩ + |1⟩)/√2, et enfin 0 ou 1 à 50/50. H crée la superposition, la mesure tranche.

Le deuxième : $|0\rangle$, H, H, mesure. Toujours 0. H est sa propre inverse : la seconde ramène $|+\rangle$ à $|0\rangle$. C’est la réversibilité en acte : la porte inverse ramène à l’état de départ.

Et il montre par quel mécanisme : l’interférence. La seconde porte H agit sur chacun des deux termes de $|+\rangle$ :

$$H|+\rangle = \frac{H|0\rangle + H|1\rangle}{\sqrt{2}} = \frac{1}{2}\big(|0\rangle + |1\rangle + |0\rangle - |1\rangle\big) = |0\rangle$$

Les deux amplitudes de $|0\rangle$, de même signe, s’additionnent : $\frac{1}{2} + \frac{1}{2} = 1$. Celles de $|1\rangle$, de signes opposés, s’annulent : $\frac{1}{2} - \frac{1}{2} = 0$. Le pile ou face a disparu.

Un fil partant de |0⟩, deux portes H à la suite, puis une mesure. Sous le circuit, l’état à chaque étape : |0⟩, puis (|0⟩ + |1⟩)/√2, puis de nouveau |0⟩, et enfin 0 à coup sûr. La seconde H défait la première, et le hasard avec.

Le troisième : deux qubits à $|00\rangle$, H sur le premier, CNOT, mesure.

Suivons l’état à chaque étape. H change le premier qubit en $|+\rangle$, le second reste à $|0\rangle$ ; puis CNOT change $|10\rangle$ en $|11\rangle$ et laisse $|00\rangle$ tel quel :

$$|00\rangle \xrightarrow{H} \frac{|00\rangle + |10\rangle}{\sqrt{2}} \xrightarrow{\text{CNOT}} \frac{|00\rangle + |11\rangle}{\sqrt{2}}$$

Deux fils partant de |0⟩, une porte H sur le premier, puis une porte CNOT qui les relie, puis une mesure sur chacun. Sous le circuit, l’état à chaque étape : |00⟩, puis (|00⟩ + |10⟩)/√2, puis (|00⟩ + |11⟩)/√2, et enfin 00 ou 11 à 50/50. L’état à chaque étape.

Ici, seuls 00 et 11 sont possibles, à 50/50 : l’amplitude de 01 et celle de 10 sont nulles. Lu seul, chaque qubit donne 0 ou 1 au hasard, mais les deux donnent toujours le même : ils sont intriqués. C’est le quatrième postulat, cet état ne se décompose pas en un état pour chaque qubit. Lire le premier suffit à connaître le second, même plus tard, même loin. Cette lecture rompt l’intrication : chaque qubit retrouve son propre état, et le second peut continuer dans d’autres portes.

Reste la mesure : « Le calcul quantique est donc un modèle de calcul probabiliste ». Les portes doivent faire sortir la bonne réponse avec une grande probabilité.

Ce que je retiens : un circuit part de $|0\rangle$ sur chaque fil, enchaîne les portes pour faire interférer les amplitudes, puis mesure.

Un premier algorithme

Un premier problème à résoudre avec des portes.

On reçoit une boîte noire, qu’on ne peut pas ouvrir. À l’intérieur se cache une fonction $f$, qui prend un bit (0 ou 1) et rend un bit. Elle n’a que quatre possibilités :

Fonction$f(0)$$f(1)$Famille
constante 000constante
constante 111constante
identité01équilibrée
négation10équilibrée

Les deux premières sont constantes : elles rendent la même valeur, quelle que soit l’entrée. Les deux autres sont équilibrées : elles rendent une fois 0 et une fois 1.

La boîte prend deux qubits. Le premier porte l’entrée $x$ et ressort tel quel. Le second reçoit la réponse : si $f(x)$ vaut 1, la boîte l’inverse ; si $f(x)$ vaut 0, elle n’y touche pas.

Exemple avec la fonction constante 0, qui rend toujours 0 : on met $x = 0$ sur le premier qubit. Le second garde sa valeur, quelle qu’elle soit, puisque $f$ ne change rien.

Les deux qubits entrent dans la boîte séparés, chacun avec son propre état : ils ne sont pas intriqués.

La question : la boîte cache-t-elle une fonction constante ou équilibrée ?

Avec un algorithme classique, il faut deux passages dans la boîte :

  1. on lui donne 0, elle rend $f(0)$ ;
  2. on lui donne 1, elle rend $f(1)$ ;
  3. si les deux réponses sont égales, la fonction est constante ; sinon, elle est équilibrée.

Un seul passage ne suffit pas. Si la boîte rend 0 pour l’entrée 0, elle peut cacher aussi bien constante 0 qu’identité.

Le défi : avec des qubits, répondre en un seul passage dans la boîte et une seule mesure. On ne saura pas laquelle des quatre fonctions est cachée, seulement sa famille : constante ou équilibrée.

Le problème : deux fils partant de |0⟩ traversent une boîte noire qui cache la fonction f. Avant et après la boîte, quatre emplacements de portes vides, marqués d’un point d’interrogation. En dessous, la question : constante ou équilibrée ? Le problème : une fonction cachée, un seul passage, et quatre emplacements à remplir.

Ce problème a une solution connue, l’algorithme de Deutsch, proposé en 1985 par David Deutsch, celui de la machine de Turing quantique. Les outils sont ceux déjà vus : H, X et la mesure. Pour qui veut chercher, le circuit se teste sur le simulateur d’IBM, le Quantum Composer.

Le défi est posé : quelles portes placer avant et après la boîte pour que la mesure réponde ?

Sources

Table of Contents