Académique Documents
Professionnel Documents
Culture Documents
U N P E U D E M AT H É M AT I Q U E S
P O U R L ’ I N F O R M AT I Q U E Q U A N T I Q U E
ARNAUD BODIN
A L G O R I T H M E S E T M AT H É M AT I Q U E S
Exo7
Un peu de mathématiques pour l’informatique quantique
Les ordinateurs quantiques sont parmi nous ! Enfin presque. . . Dans ce livre vous découvrirez l’informatique
quantique et apprendrez à programmer sur un vrai ordinateur quantique. Même s’ils sont encore balbutiants
et ne sont pas disponibles chez vous, vous avez accès en ligne à des machines quantiques pour tester de
petits programmes.
La physique quantique est l’une des révolutions du vingtième siècle. Cela reste une matière difficile à étudier
et encore plus à comprendre tant certains phénomènes quantiques contredisent notre perception du monde
physique classique. Cependant la théorie quantique est validée par de nombreuses expériences et a des
applications dans notre quotidien.
Depuis quelques années il existe des ordinateurs quantiques effectuant des calculs sur des « qubits ». Un
qubit stocke l’information quantique : soit l’information 0, notée |0i, soit l’information 1, notée |1i, soit
d’une certaine manière les deux en même temps ! Un qubit correspond à l’état d’une particule qui peut
osciller entre un état au repos et un état excité.
C’est là qu’interviennent les mathématiques ! La physique quantique est difficile à comprendre et les
ordinateurs quantiques sont compliqués à réaliser mais heureusement les mathématiques nécessaires pour
s’initier à l’informatique quantique sont simples. Par exemple un qubit s’exprime en fait par l’expression
mathématique :
↵ |0i + |1i .
C’est cette combinaison des deux états |0i et |1i qu’on vulgarise par la phrase mystérieuse « prendre à la fois
la valeur 0 et la valeur 1 ». Il est cependant délicat de trouver un sens physique à cette superposition dans le
monde classique et c’est encore plus ardu de maîtriser une particule qui réalise un qubit. Les mathématiques
sont le langage idéal pour exprimer la physique et l’informatique quantique. Nous expliquons ici les notions
(superposition, intrication, non-clonage quantique,. . .) comme des concepts mathématiques en se permettant
de s’affranchir de l’univers physique délicat qui se cache derrière.
Ce livre offre une introduction douce à l’informatique quantique et aux mathématiques afin d’être en mesure
de présenter l’algorithme de Shor. Cet algorithme a fait découvrir au monde la révolution que pourrait
apporter un ordinateur quantique. Les communications sur internet sont pour la plupart sécurisées par un
chiffrement qui repose sur la difficulté de factoriser de très grands entiers, même avec des ordinateurs très
puissants. L’algorithme de Shor montre que sur un ordinateur quantique (plus gros que ceux qui existent
actuellement) ce problème deviendrait simple à résoudre.
Pour démarrer l’étude de l’informatique quantique avec ce livre, vous n’avez pas besoin de connaître la
physique quantique, vous n’avez pas non plus besoin de compétences avancées en programmation (un peu
de Python). Les mathématiques de ce cours sont d’un niveau première année d’études supérieures, avec des
incursions vers la deuxième année. Toutes les notions de bases sont introduites, en particulier les nombres
complexes jouent un rôle important (d’ailleurs les nombre ↵ et ci-dessus sont des nombres complexes)
ainsi que les vecteurs et les matrices.
L’informatique quantique est un monde déconcertant mais bien réel. À vous de le découvrir !
3 Nombres complexes 33
4 Vecteurs et matrices 47
5 Informatique classique 66
6 Physique quantique 74
7 Téléportation quantique 85
II Algorithmes quantiques 95
12 Arithmétique 143
Index
Résumé des chapitres
Découverte de l’informatique quantique
Ce chapitre donne un aperçu des calculs avec les qubits et est une introduction détaillée des chapitres suivants
dans lesquels plusieurs notions seront revues : nombres complexes, vecteurs, matrices, portes logiques, physique
quantique. Ce chapitre se termine par une application assez difficile : le codage super-dense.
Nombres complexes
Les nombres complexes sont les coefficients naturels des qubits. Nous détaillons les calculs avec les nombres
complexes ainsi que sur les qubits.
Vecteurs et matrices
Un qubit est un vecteur et les opérations sur les qubits sont codées par des matrices. Nous étudions ici le calcul
sur les vecteurs, les matrices et leur lien avec les qubits.
Informatique classique
Nous rappelons quelques principes de base du fonctionnement d’un ordinateur classique avec les notions de bits,
de portes logiques et de complexité d’un algorithme.
Physique quantique
L’objectif est de comprendre les notions de base de la physique quantique.
Téléportation quantique
La téléportation quantique permet de transmettre un qubit d’un point A à un point B.
Portes quantiques
Nous approfondissons nos connaissances théoriques des portes quantiques en étudiant ce qu’elles peuvent
réaliser (ou pas !).
Algorithme de Deutsch–Jozsa
Nous expliquons et prouvons l’algorithme de Deutsch–Jozsa dans le cas général. C’est notre premier algorithme
quantique qui supplante les algorithmes classiques et c’est aussi l’occasion d’introduire plusieurs notions utiles
pour la suite.
Algorithme de Grover
L’algorithme de Grover est un algorithme de recherche d’un élément dans une liste qui est plus efficace que les
algorithmes classiques. Son principe est simple, même si sa mise en œuvre est un peu complexe. L’algorithme de
Grover ne fournit pas un résultat sûr à 100 %, mais une réponse qui a de grandes chances d’être la bonne.
Arithmétique
La sécurité des communications sur internet est basée sur l’arithmétique et en particulier sur le système de
cryptographie RSA qui repose sur la difficulté de factoriser de très grands entiers avec un ordinateur classique.
Nous présentons dans ce chapitre les notions essentielles d’arithmétique afin de comprendre plus tard l’algorithme
de Shor qui permet de factoriser rapidement un entier à l’aide d’un ordinateur quantique.
Algorithme de Shor
Nous détaillons le circuit et les calculs qui permettent une factorisation rapide des entiers à l’aide d’un ordinateur
quantique.
Compléments d’arithmétique
Nous apportons des compléments à l’algorithme de Shor en étudiant chacune des hypothèses.
Transformée de Fourier discrète
Nous revenons sur l’outil principal de l’algorithme de Shor : la transformée de Fourier. Nous expliquons comment
elle est construite, comment la réaliser par un circuit quantique et quelles sont ses autres applications.
Cryptographie quantique
Nous étudions le protocole BB84 qui permet le partage d’un secret commun entre deux personnes grâce à la
physique quantique.
Code correcteur
Lors de la transmission d’un qubit il peut y avoir des erreurs. Les codes correcteurs permettent de détecter et
corriger ces erreurs.
Avantage quantique
Quand est-ce qu’un ordinateur quantique sera plus performant qu’un ordinateur classique ?
P R E M I È R E PA R T I E
|0 >>
|0
P R E M I E R S PA S Q U A N T I Q U E S
1
Chapitre
Découverte de l’infor-
matique quantique
1
Ñ
Ñ
Ñ
Ñ
Ñ
Ñ
Plongeons directement au cœur de l’informatique quantique en abordant la notion de qubit et les
circuits quantiques fondamentaux.
Ce chapitre donne un aperçu des calculs avec les qubits et est une introduction détaillée des chapitres
suivants dans lesquels plusieurs notions seront revues : nombres complexes, vecteurs, matrices, portes
logiques, physique quantique. Ce chapitre se termine par une application assez difficile : le codage
super-dense.
1. Un qubit
Pour un ordinateur classique l’unité d’information est le bit représenté soit par 0, soit par 1. Avec plusieurs
bits on peut coder un entier, par exemple 19 est codé en binaire par 1.0.0.1.1 ; on peut aussi coder des
caractères, par exemple le code ASCII de « A » est 1.0.0.0.0.0.1.
|1i |1i
| i = ↵ |0i + |1i
|0i |0i
Ce qui est nouveau et fondamental est que l’on peut superposer ces deux états |0i et |1i. Un qubit est un
état quantique obtenu par combinaison linéaire :
| i = ↵ |0i + |1i
En effet : ✓ ◆ ✓ ◆ ✓ ◆
1 0 ↵
| i = ↵ |0i + |1i = ↵ + = .
0 1
Vocabulaire.
• Les états |0i et |1i se lisent « ket zéro » et « ket un » (« ket » se prononce comme le mot « quête »).
• est la lettre grecque « psi », ainsi | i se lit « ket psi ».
Là où cela se complique un peu, c’est que les coefficients ↵ et ne sont pas des nombres réels mais des
nombres complexes :
↵2C et 2C
2C
✓ ◆
↵
| i=
✓ ◆
0
|1i =
1
✓ ◆
1
↵ ↵2C
|0i =
0
Sur la figure ci-dessus, on a représenté un vecteur à coordonnées complexes comme un vecteur du plan.
Cette figure aide à la compréhension mais ne correspond pas tout à fait à la réalité. Comme chacun des
axes correspond à une coordonnée complexe (de dimension 2), un dessin réaliste nécessiterait quatre
dimensions.
Exemple.
• | i = (3 + 4i) |0i + (2 8i) |1i. On rappelle que i est le nombre complexe tel que i2 = 1.
1 i
• | i = p2 |0i + p2 |1i.
• On peut superposer des états par addition, par exemple :
2 |0i + (1 + i) |1i + i |0i + (2 3i) |1i = (2 + i) |0i + (3 2i) |1i ,
ce qui correspond à additionner deux vecteurs :
✓ ◆ ✓ ◆ ✓ ◆
2 i 2+i
+ = .
1+i 2 3i 3 2i
DÉCOUVERTE DE L’INFORMATIQUE QUANTIQUE 4
Remarque.
• Si on souhaitait définir | i uniquement avec des nombres réels, alors on pourrait écrire ↵ = ↵1 + i↵2 ,
= 1 + i 2 et dire qu’un état quantique est défini par 4 nombres réels ↵1 , ↵2 , 1 , 2 . Cependant ce
n’est pas le bon état d’esprit pour la suite.
• Attention |0i n’est pas le vecteur nul 00 , mais bien le vecteur 10 .
1.2. Norme
États de norme 1. On va principalement considérer les états | i = ↵ |0i + |1i dont la norme est égale
à 1, c’est-à-dire :
|↵|2 + | |2 = 1
où |↵| et | | sont les modules des coefficients complexes. On rappelle que si z = a + ib est un nombre
complexe (avec a, b 2 R), alors son module |z| est le nombre réel positif défini par |z|2 = a2 + b2 .
Exemple.
1 p1
• | i = p2 |0i + 2
|1i.
Alors
2 2
|↵|2 + | |2 = p1 + p1 = 1
+ 1
= 1.
2 2 2 2
Ainsi cet état | i est bien de norme 1.
• | i = (3 + 4i) |0i + (2 8i) |1i.
Remarque.
On peut schématiser de façon imparfaite les états de norme 1 par le dessin du cercle ci-dessous.
|1i
| i = ↵ |0i + |1i
|0i
Cependant ceci est un dessin où l’on considère que les coefficients ↵ et sont des nombres réels, ce qui
n’est pas le cas en général. La « sphère de Bloch » fournira une représentation plus fidèle, voir le chapitre
« Nombres complexes ».
DÉCOUVERTE DE L’INFORMATIQUE QUANTIQUE 5
Noter que, comme nous sommes partis d’un état de norme 1, nous avons bien la somme des probabilités
|↵|2 + | |2 qui vaut 1.
Exemple.
Considérons l’état quantique :
1 i 1 + 2i
| i = p |0i + p |1i .
3 15
Alors
2
1 i 2
|↵|2 = p =
3 3
et
2
1 + 2i 5 1
| |2 = p = = .
15 15 3
On a bien |↵| + | | = 1. Si on mesure | i alors on obtient 0 avec une probabilité 23 et 1 avec une
2 2
probabilité 13 .
Autrement dit, si je peux répéter 100 fois l’expérience « je prépare l’état initial | i, puis je le mesure »,
alors pour environ 66 cas sur 100 j’obtiendrai pour mesure 0 et pour environ 33 cas sur 100 j’obtiendrai 1.
La mesure d’un état quantique | i le perturbe de façon irrémédiable. C’est un phénomène physique appelé
« réduction du paquet d’onde ». Si la mesure a donné le bit 0, alors l’état | i est devenu |0i, si la mesure
a donné le bit 1 alors | i est devenu |1i. Autrement dit, une fois qu’il est mesuré, un qubit ne sert plus à
grand chose !
Remarque.
Bien évidemment la mesure de |0i donne 0 avec une probabilité 1 (l’événement est presque sûr). De même
la mesure de |1i donne 1 avec une probabilité 1. Dans ce cours nous faisons le choix qu’une mesure renvoie
un bit classique 0 ou 1. Une autre convention serait de décider qu’une mesure renvoie un des états de base
|0i ou |1i.
Bilan. On retient qu’à partir d’un état | i = ↵ |0i + |1i avec ↵, 2 C tels que |↵|2 + | |2 = 1 :
• on ne peut pas mesurer les coefficients ↵ et ;
• la mesure de | i renvoie soit 0 avec une probabilité |↵|2 , soit 1 avec une probabilité | |2 ;
• la mesure transforme le qubit | i en |0i ou en |1i, les coefficients ↵ et ont disparu après
mesure.
DÉCOUVERTE DE L’INFORMATIQUE QUANTIQUE 6
2.1. Porte X
La porte X s’appelle aussi porte N ON (ou N OT ) et est la transformation qui échange les deux états
quantiques de base :
X X
|0i 7 ! |1i et |1i 7 ! |0i
X| i= |0i + ↵ |1i
|0i |0i
Porte X
La transformation est de plus linéaire, ce qui fait que la porte X échange les deux coefficients d’un état
quantique :
X
| i = ↵ |0i + |1i 7 ! |0i + ↵ |1i .
Par exemple l’état | i = 2 |0i + (1 i) |1i est transformé par la porte X en l’état X (| i) = (1 i) |0i + 2 |1i.
En termes de vecteurs cette transformation s’écrit :
✓ ◆ ✓ ◆ ✓ ◆ ✓ ◆ ✓ ◆ ✓ ◆
1 X 0 0 X 1 ↵ X
7 ! 7 ! 7 !
0 1 1 0 ↵
La matrice de la porte X est donc :
◆ ✓
0 1
X=
1 0
car ✓ ◆✓ ◆ ✓ ◆
0 1 ↵
= .
1 0 ↵
Note. La notion de matrice n’est pas indispensable pour ce premier chapitre, elle sera développée dans le
chapitre « Vecteurs et matrices ».
|1i |1i | i
H |0i H |0i
H
|0i |0i
H| i
2.3. Mesure
C’est un élément fondamental d’un circuit quantique. C’est le seul moment où l’on peut obtenir une
information sur un état quantique | i, mais c’est aussi la fin du qubit, car la mesure ne renvoie que 0 ou 1
et perturbe irrémédiablement l’état quantique.
Exemple.
Voici un circuit composé d’une porte X (c’est-à-dire une porte N ON ) suivie d’une porte mesure symbolisée
par un petit cadran.
X /
• Si l’entrée est |0i, alors X (|0i) = |1i, la sortie mesurée vaut donc 1 (avec une probabilité 1) :
|0i X / 1
• Par contre si l’entrée est |1i, alors X (|1i) = |0i et la sortie mesurée vaut 0 :
|1i X / 0
DÉCOUVERTE DE L’INFORMATIQUE QUANTIQUE 8
• Si l’entrée est l’état | i = ↵ |0i + |1i (avec |↵|2 + | |2 = 1), alors X (| i) = |0i + ↵ |1i. La mesure
donne donc 0 avec une probabilité | |2 et 1 avec une probabilité |↵|2 .
↵ |0i + |1i X / 0 ou 1
Exemple.
H /
• Si l’entrée est |0i, alors H(|0i) = p1 |0i + p12 |1i, la mesure donne donc le bit 0 avec une probabilité 1
2 2
et le bit 1 avec une probabilité 12 .
1 1
• Si l’entrée est |1i, alors H(|1i) = p2 |0i p2 |1i et les mesures conduisent aux mêmes résultats que
précédemment.
1 1
• Par contre si l’entrée est | i = p2 |0i + p2 |1i, alors :
Å ã
1 1
H(| i) = H p |0i + p |1i
2 2
1 1
= p H(|0i) + p H(|1i)
2 2
1 1 1 1
= p p (|0i + |1i) + p p (|0i |1i)
2 2 2 2
1 1 1 1
= |0i + |0i + |1i |1i
2 2 2 2
= |0i
Ainsi pour cette entrée, le circuit renvoie, après mesure, 0 avec une quasi-certitude.
• Exercice : trouver | i tel que la mesure donne 1 avec une quasi-certitude.
p
1. Pour l’entrée |0i, que donne une mesure après la porte N OT ? Même question avec |1i.
p p
|0i N OT / ? |1i N OT / ?
p p
2. Pour l’entrée | i = 12 |0i + i 23 |1i, que donne la sortie après la porte N OT ? Que donne ensuite une
mesure ?
p p
| i N OT / ? | i N OT / ?
p
3. Montrer que le circuit suivant, qui consiste à enchaîner deux portes N OT , équivaut à une seule porte
N OT (notée aussi porte X ).
p p
N OT N OT = N OT
Autrement dit, il s’agit de montrer que :
p p
N OT N OT (| i) = N OT (| i)
Indication. On peut faire les calculs avec un qubit général | i = ↵ |0i+ |1i. Mais on peut aussi seulement
vérifier que cette affirmation est vraie pour les deux états de bases |0i et |1i, ce qui est suffisant par
linéarité. Une autre technique serait d’utiliser les matrices.
3. Les 2-qubits
Nous allons maintenant réunir deux qubits pour obtenir un 2-qubit. C’est la version quantique de l’union de
deux bits.
3.1. Superposition
Deux qubits réunis sont dans un état quantique | i, appelé 2-qubit, défini par la superposition :
0 0 0 1
Ainsi | i est un vecteur de C4 :
0 1 0 1 0 1 0 1 0 1
1 0 0 0 ↵
B 0C B 1C B 0C B 0C B C
| i = ↵B C
@ 0A +
B C+
@ 0A
B C+
@ 1A
B C = B C.
@ 0A @ A
0 0 0 1