Les algorithmes classiques ne fonctionnent pas mieux ou plus rapidement sur un ordinateur quantique. Il faut écrire des algorithmes spécifiques qui utilisent les spécificités de l’architecture de l’ordinateur quantique pour gagner en vitesse d’exécution. On va détailler sur cette page cette architecture.
On peut déjà commencer par s’intéresser au cycle de vie d’un qubit dans un ordinateur quantique. Les opérations réalisés sur un qubit devront être fait plus rapidement que son temps de décohérence pour qu’il soit dans son état de superposition.

Les portes quantiques sont les éléments de l’ordinateur quantique qui vont réaliser toutes les opérations. Certaines portes vont servir à initialiser un qubit, à créer l’état de superposition, à modifier cet état en suivant les demandes de l’algorithme utiliser. Enfin le système de lecture intégré sur le processeur va donner un résultat probabiliste binaire : 0 ou 1. On peut déjà remarquer qu’un qubit est un bit classique à l’initialisation et redevient un bit classique après la mesure. On comprend qu’étant donné la lecture probabiliste, un programme quantique devra être réalisé sur plusieurs systèmes de qubits afin de pouvoir déterminer après lecture les probabilités d’avoir 0 ou 1.
Un ordinateur quantique est utilisé en tant que co-processeur d’un ordinateur traditionnel, un peu comme un GPU dans les ordinateurs traditionnels pour traiter des informations matricielles (Jeux vidéos, entraînement de réseaux de neurones).
L’interconnexion avec un ordinateur classique permet d’exécuter les programmes quantiques. L’ordinateur quantique reçoit des bits d’informations qui vont réaliser des opérations physiques sur les qubits (initialisation, activation des portes quantiques, activation de la mesure). Finalement, le système quantique réalise des opérations décidés par l’ordinateur classique. Le déclenchement des opérations tient compte du temps d’exécution des portes quantiques et du temps de cohérence connu des qubits, c’est-à-dire, le temps pendant lequel les qubits restent en état de superposition. Toute cette architecture est résumée sur le schéma suivant.

(1) les registres quantiques contiennent les qubits et donc l’information du système. On arrive à en avoir une dizaine pouvant fonctionner simultanément (20 pour le Q System One). Ils exploitent le principe de superposition pour utiliser un grand nombre de valeurs simultanément et donc réaliser simultanément des opérations dessus.

Dans un processeur classique, les registres ont une taille de 32 ou 64 bits. Les registres de qubits correspondent à des qubits reliés entre eux (pour réaliser des opérations d’intrication). La différence entre un processeur classique et un processeur quantique est la quantité d’information pouvant être manipulé simultanément.
Un registre de n qubits possède donc, grâce à la superposition quantique les 2 puissance n états simultanément, alors que un registre de n qubit classique va posséder un seul état parmi les 2 puissances n possibilités. Un exemple est donné pour n = 3 sur le schéma ci dessus. Cette faculté de pouvoir combiner toutes les valeurs du registre n’est pas un stockage d’information. Cela permet juste de pouvoir appliquer des traitements pour faire ressortir les combinaisons que l’on recherche selon un algorithme quantique donné. Cela permet de tester plein d’hypothèses en parallèle pour en ressortir la meilleure. Et non en série comme un ordinateur classique. Le gain de temps d’exécution d’un ordinateur quantique vient de ce principe de superposition.
Le taux d’erreur sur le résultat des calculs quantiques est situé aux environs de 0,5% et il faudrait idéalement qu’il soit de 0,01% voire 0,0001%. Ce taux d’erreur s’évalue d’ailleurs au niveau de la stabilité de chaque qubit pris isolément et des opérations de portes quantiques portant sur deux qubits. Donc les erreurs proviennent généralement de la décohérence des qubits. Par ailleurs, 90% des portes quantiques appliqués servent à corriger (par des algorithmes de correction d’erreurs complexes dont je ne vais pas parler) ces erreurs. Ce qui limite encore les capacités de calculs dans les registres.
(2) L’architecture classique utilise les portes logiques. Ils exécutent de l’algèbre booléenne avec des tables de décision en fonction des bits mis en entrée. Il existe plusieurs portes logiques. La plus intéressante est la porte NAND car elle n’utilise que 2 transistors et permet de recréer toutes les autres portes logiques par association. Ces portes sont situés sur le processeur (jusqu’à 1 à 2 milliards). Les opérations des portes logiques sont générées à la fréquence d’horloge du processeur, de l’ordre du GHz. Le fonctionnement des portes quantiques est similaire (mais différent !).

Les portes quantiques appliquent des opération d’algèbre linéaire (matrice 2*2) sur les qubits (représentable par un vecteur à deux dimension). Les portes quantiques modifient l’information des qubits sans les lire et donc sans casser leur état de superposition. On retrouve des portes unitaires et des portes qui agissent de manière conditionnelle comme dans un processeur classique.

La porte X (ou porte NOT) réalise une inversion. Concrètement elle intervertit le alpha et le beta devant les ket de l’état. On fait tourner la flèche de 180° sur le cadran opposé sphère de Bloch.
La porte Y réalise une rotation d’un demi-tour autour de l’axe y de la sphère de Bloch. La porte Z change le signe de beta.
La porte H (porte de Hadamard-Walsh) prend en entrée un qubit à 0 ou 1 et crée un état de superposition entre 0 et 1. Elle sert à générer l’état de 2 puissance n simultanés dans un registre quantique
Il existe ensuite d’autres portes plus complexes qui agissement sur 2 ou 3 qubits. Certaines portes créent des états intriqués. Ceux-ci réduisent la combinatoire de 2 puissance n car ces qubits seront synchronisés et donc diminuer la superposition d’état dans un registre.
(3) Il existe une grosse différence entre un processeur classique et quantique. Les microprocesseurs traditionnels ont des portes logiques gravés sur la puce de silicium donc non mobiles, et des bits qui sont des impulsions électriques qui se propagent dans le circuit, donc mobiles. Le tout à une certaine fréquence en GHz, réglée par une horloge.
Dans un processeur quantique, tout est réalisé suivant le cycle de vie d’un qubit décrit plus haut. Physiquement, les qubits ne bougent pas. Il s’agit de circuits fixes gravés sur une puce. Les portes ne bougent pas non plus et sont activés dynamiquement pour réaliser des opérations sur les qubits. L’information est ensuite lue sur place par des systèmes de lecture eux aussi fixes sur la puce. Rien ne bouge dans un processeur quantique à part les bits initiaux et les bits résultant de la lecture !

Les diagrammes de représentation des algorithmes quantiques comme celui au dessus à droite sont en fait des schémas temporels (on initialise, réalise les opérations et ensuite la mesure) et rien ne bouge sur le processeur alors que pour les portes logiques classiques, il s’agit un diagramme physique où les bits vont bien de l’entrée vers la sortie.
On peut voir ci-dessous un exemple de layout physique : une puce quantique. On voit en blanc les qubits, les pins bleu et violet sont les portes quantiques qui agissent sur les qubits. Il s’agit de portes universelles qui recréent les portes quantiques par association. Dans le cas des qubits supraconducteurs, ces portes sont alimentés via des câbles par des sources de courants à très haute fréquence comprises entre 5 et 10 GHz. Ces fréquences peuvent être différentes entre les différents qubits d’un même circuit. On verra où se situe ces sources sur la colonne d’un ordinateur supraconducteur.

Les qubits sont reliés entre eux par des circuits de couplage qui contrôlent leur intrication et d’autres circuits servent à la lecture du qubit. Je n’en ai pas parlé et souvent la lecture se fait avec des circuits SQUID (Superconducting QUantum Interferance Device). C’est compliqué et pas nécessaire pour bien comprendre un ordinateur quantique. On peut juste dire que cela sert à détecter des champs magnétiques de faible intensité.
Pourquoi est-ce qu’il est intéressant de représenter l’architecture d’un processeur quantique par un schéma temporel ? C’est pour bien comprendre les limites de l’ordinateur quantique. En effet, comme je l’ai déjà dit, une porte réalise son opération sur des temps de l’ordre de 10-600 ns. Ces temps tendent à se réduire avec les recherches sur ce sujet. On peut donc déterminer une limite haute du nombre de portes utilisables sur un qubits avant que celui-ci ne perte son état de superposition (lié à son temps de cohérence). De plus une bonne partie des portes utilisés dans un programme quantique sert au QEC (Quantum Error Correction). Cela ne laisse plus beaucoup de portes utilisables sur un qbits pour réaliser les calculs de l’algorithme.

Les temps de cohérences des qubits supraconducteurs tendent aussi à augmenter (j’ai des sources qui donnent 1 microseconde, d’autres 100 ..). Les ordinateurs quantiques doivent être dimensionnés et protégés de l’environnement extérieur (perturbations, champ magnétique terrestre) et aussi refroidis à une température bien précise à maintenir. Il s’agit d’un bijou d’ingénierie et cela rend encore plus admiratif qu’un ordinateur puisse être assez fiable pour être commercialisé même si le nombre de qubits reste faible (Q System One). J’espère vous avoir fait comprendre qu’au delà du nombre de qubits, le temps de cohérence est aussi important comme facteur limitant aujourd’hui.
Bibliographie :
[1] Olivier Ezratty, Comprendre l’informatique quantique, https://www.oezratty.net/wordpress/2018/comprendre-linformatique-quantique-ordinateur-quantique/
