La téléportation quantique

Quand on parle de téléportation, beaucoup de personnes pensent à Star Trek. Moi je repense au traumatisme subi en 1987 quand j’ai vu « La mouche » au cinéma. Le héros a inventé la téléportation moléculaire. Bravo.Sauf que, dans un moment d’égarement, ce savant fou a testé le concept sur lui-même, alors qu’une mouche était également présent dans la cabine. Résultat, le génome des 2 êtres vivants vont progressivement se mélanger. Scary. 😮
C’est donc avec réticence que je me suis mis à étudier cet algorithme de téléportation quantique. J’ai bien vérifié qu’aucune mouche ou autre bestiole ne trainait dans mon bureau… Je vous recommande d’en faire de même avant de lire cet article 😉

Le principe
Alice veut échanger une information à Bob. (Si au passage vous vous demandez pourquoi en cryptographie on parle toujours d’Alice et Bob, je vous conseille de lire l’hilarante page wikipédia sur ce sujet, qui liste toute la famille des prénoms qui peuvent être impliqués dans des communications).

Bref, Alice veut envoyer à son ami Bob une information codée sur 2 nombres complexes a et b.
Elle stocke ces informations dans un qubit

Pour ce faire, Alice et Bob vont partager au préalable 2 qubits intriqués dans un  état dit « de Bell ». Ce système quantique est :
Le but du jeu est que les informations a et b du qubit d’Alice se « téléportent » sur le bit qubit intriqué de Bob.
Le système quantique à 3 qubits est donc représenté par : 
Pour plus de lisibilité, j’ai représenté en rouge les qubits « d’Alice » et en noir ceux « de Bob ».
On développe l’équation précédente.

Vous remarquez bien les deux premiers qubits (en rouge) venants d’Alice et le dernier étant celui de Bob.
On applique une porte CNOT sur les 2 qubits d’Alice. Le qubit de contrôle étant le 1er (celui issu de .
Rappel : Si le qubit de controle = 0, le second est inchangé. Si le qubit de controle = 1 alors le second est inversé. Ce qui donne des modifications uniquement dans le membre b :

Vous noterez que cela permet d’avoir les 4 combinaisons différentes sur les 2 derniers qubits.
On applique une porte Hadamard sur le qubit 
Rappel si le qubit est |0> alors le résultat sera :
Si le qubit est |1> alors le résultat sera :
Remplaçons dans l’équation précédente les premiers qubits par ces valeurs

Ce qui donne, en développant :

Arrangeons cette équation pour factoriser les 2 qubits d’Alice (en rouge) qui seront mesurés :

Le résultat
Les 2 qubits d’Alice (rouges) peuvent être mesurés. Au passage, on constate que les valeurs a et b sont bien passées sur le qubit de Bob (téléportation réussie ! et aucune mouche détectée ! 🙂 )
Par contre, la mesure des 2 qubits d’Alice ne va donner qu’une seule des 4 configurations possibles : (|00>, |10>, |01>, |11>), chacune avec 25% de probabilités. Aussi, Bob n’a que 25% des chances de récupérer le vrai qubit d’Alice : a|0>+b|1>.
Pour que Bob puisse reconstituer fidèlement l’information initiale (), il lui faut la configuration mesurée par Alice. Avec celle-ci, il pourra faire les rotations nécessaires (via matrice de Pauli) sur son qubit pour retrouver exactement
Voilà pourquoi la téléportation quantique nécessite un canal d’information complémentaire et non quantique (je préconise le fax.  😉 ). Alice dira si c’est la première, deuxième, troisième ou quatrième configuration qu’elle a mesurée (2 bits).

Où l’on sauve Einstein
Grâce à cette information non quantique, on évite à Einstein de perdre la face : la téléportation quantique ne viole pas la relativité restreinte. Aucune information ne peut aller plus vite que la vitesse de la lumière, car ici, l’échange d’information n’est terminé que quand la communication classique est terminée. Ouf. (Cela dit on s’en fout, Einstein n’a pas gagné son prix Nobel pour la relativité (mais pour l’effet photo-électrique), du coup, même pas besoin de le destituer au cas où…)

Le schéma sur IBM Q
Il n’est pas possible d’implémenter en entier la téléportation quantique sur l’IBM Q System One. Premièrement parce qu’on ne peut pas mixer des qubits et des bits. Puis parce que la mesure ne se fait que sur l’axe z. On ne retrouvera pas les valeurs a et b sur le qubit de Bob.
Il faut coder cet algorithme en Q#.
Cela dit, sous IBM Q, ça ressemblerait à cela :

Les 2 premiers qubits sont les qubits intriqués d’Alice et Bob. Ils sont intriqués au moyen d’une porte d’Hadamard puis par une porte CNOT (rectangle vert). (On démontre facilement que la multiplication des matrices donne bien l’état de Bell).
La porte U2 orange permet de donner des valeurs aux angles du qubit sur les axes x,y, reflets de a et b. Ensuite, conformément à l’algo, on applique un CNOT puis une porte d’Hadamard. La mesure des 2 qubits d’Alice, exécutée 100 fois, donne bien les 4 configurations possibles équiprobables (mais on ne peut rien tirer de cette information là).

Le code en Q#
Si vous avez suivi les bases du Q# sur cette page, le code ci-dessous est assez lisible.
Le fichier Driver.cs.
Il consiste à partir d’une phrase s, à la décomposer en caractères puis en binaire. Chaque bit est téléporté par la fonction Teleportation.Run

Le fichier Operation.qs
Il s’agit de faire les opérations quantiques décrites plus haut. Ce n’est pas bien sorcier une fois que l’on a compris la théorie. Vous noterez la trituration du qubit de Bob à la mesure des qubits d’Alice.

Et le résultat…
Y’a pas à dire… c’est beau la science ! 🙂

Quirk
Quirk permet une visulisation très pédagogique de la téléportation quantique : voir sur le simulateur ici >>
Notamment, grace à la visualisation de (a,b), animée par 2 transformations en début du 1er qubit.

Page mise à jour le 20 février 2019.

 

 

 

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s