Les ordinateurs quantiques
L'informatique quantique

Nous allons examiner une opération simple qui échange deux qubits : rien de vraiment spécial, c'est juste un échange, swap en anglais.

Sauf que cela nous posera une interrogation sur l'organisation physique des qubits : nous aurons un problème de topologie.

Avec deux qubits, ça devient plus pénible à manipuler à la main, on se traine 4 coefficients.

|Ψ⟩ = α1 |00⟩ + α2 |01⟩ + α3 |10⟩ + α4 |11
Avec α1² + α2² + α3² + α4² = 1

On aurait 8 qubits, ce serait 256 coefficients, alors on ne va pas trop se plaindre.

Le SWAP sur 2 qubits

Voici un opérateur qui parait super simple sur 2 qubits : le SWAP.

La porte SWAP échange deux qubits. On peut difficilement faire plus simple, d'ailleurs il n'y a pas vraiment d'interaction entre les deux qubits. Cela apparait anodin en apparence, mais cela sera très utile, et carrément indispensable, parce que nous aurons des problèmes de topologie.

Ça se voit un peu en regardant la tête de matrice, on voit bien qu'il va se passer un échange de ligne/colonne au milieu.

porte swap

En entrée : |Ψ⟩ = α1 |00⟩ + α2 |01⟩ + α3 |10⟩ + α4 |11⟩

En sortie : |Ψ⟩ = α1 |00⟩ + α3 |01⟩ + α2 |10⟩ + α4 |11⟩

On constate que les coefficients des termes |01⟩ et |10⟩ ont été échangés. Il s'agit bien d'un échange, puisque le |0⟩ du premier qubit est devenu un |1⟩ si le second qubit était opposé. Pour |00⟩ et pour |11⟩, on ne voit pas la différence, évidemment, ils sont pareils.

Par exemple, si on a le vecteur (0,1,0,0) en entrée, donc un |01⟩, et bien en sortie on obtiendra (0,0,1,0) -les deux termes du milieu ont été échangés- et en sortie nous avons |10⟩. Le bit "0" qui était "en haut" se retrouve "en bas".

Ça a l'air tout con.
Oui, c'est tout con.

La topologie sera importante

Et dis-donc, je sais qu'on n'a pas encore abordé comment on faisait tout ça physiquement
Mais bon, pour échanger 2 qubits, il va bien falloir qu'ils ne soient pas trop éloignés ? Non ?
Ah ben c'est sûr: il faudra qu'il existe du matériel qui relie les 2 qubits.
Et implicitement, on ne pourra pas faire du swap entre n'importe quel qubit.

Mine de rien, on a un problème de topologie assez sévère : il faudra que physiquement on soit capable d'échanger deux qubits, et en réalité, pour pouvoir faire ça, il faudra que ces qubits soient l'un à côté de l'autre avec le matériel de connexion adéquat.

On ne pourra pas faire ce qu'on veut, d'où l'importance du SWAP puisque cela permettra d'amener un état vers deux qubits physiquement proches pour pouvoir faire une opération, de proche en proche.

C'est pour ça que les constructeurs d'ordinateur quantique nous bassinent avec leur histoire de topologie ah que la mienne elle est vachement bien et bien mieux que celle de l'autre.

topologie

Sur l'exemple ci-dessus, on constate qu'on ne pourra pas faire d'opération à 2 qubits entre le qubit numéro 1 et le qubit numéro 3. Faudra d'abord swapper, amener le 1 à la position 2 par exemple. Et on sent bien le problème quand on manipulera des milliers de qubits.

Les logiciels de programmation prennent en compte ce genre de contraintes pour choisir au mieux les qubits physiques de manière à tirer parti de la topologie réelle de l'ordinateur particulier qui sera utilisé. Mais c'est quand même gênant, car cela ajoute des opérations supplémentaires, masquées pour le programmeur, et on verra que physiquement, on sera limité par le nombre total d'opérations réalisées, toujours à cause de ces maudits problèmes de décohérence.

Maintenant, on va s'intéresser à des opérateurs agissant vraiment sur 2 qubits à la fois, avec du mélange, comme un shaker, ça va secouer.