1 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ALGORITHME DE SHOR Sébastien Giraud 22 mai 2007
Le calcul quantique Les postulats de la Physique Quantique 1. A tout système physique isolé est associé un espace de Hilbert E : le système est complètement décrit par un vecteur normé de cet espace, le vecteur d état Ψ. ex : un qubit correspond à un espace de Hilbert de dimension 2 Ψ = α 0 + β 1 α 2 + β 2 = 1 2. L évolution d un système isolé est décrite par une transformation unitaire : Ψ(0) Ψ(t) = U(t, 0) Ψ(0) 3. L espace des états d un système composite est le produit tensoriel des espaces individuels : Ψ 12 = Ψ 1 Ψ 2 ex : états à 3 qubits 000, 100, 111 Mais il existe des états intriqués qui ne peuvent pas s écrire sous cette forme : 1 2 ( 00 + 11 ) 2
3 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ALGORITHME DE SHOR Le calcul quantique Les postulats de la Physique Quantique 4. Toute grandeur physique mesurable A est décrite par un opérateur hermitien A de E : la mesure de A ne peut donner comme résultat qu une des valeurs propres a n de A avec la probabilité p n = u n Ψ 2 A u n = a n u n La mesure modifie le système de façon irréversible : le vecteur d état est projeté sur le sous-espace propre de A pour la valeur propre mesurée. ex : Ψ = α 0 + β 1 probabilité de mesurer 0 : α 2 si on mesure 0, après la mesure le système est dans l état 0.
4 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ALGORITHME DE SHOR Le calcul quantique Registre de n qubits L état d un registre de n qubits est un vecteur dans un espace à 2 n dimensions dont une base est : Il s écrit donc : 00 00 (c.à.d. 0 ) 00 01 (c.à.d. 1 ) 00 10 (c.à.d. 2 ). 11 11 (c.à.d. 2 n 1 ) Ψ = α 0 0 + α 1 1 + + α 2 n 1 2 n 1 avec α 0 2 + α 1 2 + + α 2 n 1 2 = 1.
Le calcul quantique Le parallélisme quantique Porte de Hadamard : 0 1 0 H = 1/ 2 1/ 2 1 1/ 2 1/ 2 Soit f : {0, 1} {0, 1}. On définit la transformation unitaire U f agissant sur 2 qubits : A l aide du circuit : x, y x, y f (x) on obtient un état qui contient une information sur les deux valeurs prises par la fonction f : 0 0 H 1 ( 00 + 10 ) U f 1 ( 0 f (0) + 1 f (1) ) 2 2 5
Le calcul quantique Le parallélisme quantique Avec n qubits : 1 1 ( 0 + 1 ) ( 0 + 1 ) = 1 N 1 x 2 2 N superposition cohérente des N = 2 n états Pour une fonction f : {0,, N 1} {0, 1}, on définit la transformation unitaire U f agissant sur le n-qubits x et sur le qubit y : x, y x, y f (x) On obtient l état quantique 1 N 1 x f (x) qui contient virtuellement N x=0 les valeurs f (x) pour les 2 n valeurs de x, en utilisant une seule fois U f. accélération exponentielle pour certains algorithmes 6 x=0
Le calcul quantique Un exemple : l algorithme de Deutsch-Josza Soit f : {0, 1} {0, 1}. On souhaite déterminer si f est constante. On utilise le circuit suivant qui n utilise qu une seule évaluation de U f : Le registre de sortie est dans l état ± f (0) f (1) [ ] 0 1 2 On mesure alors l état final du premier qubit. si f est constante, on obtient, de manière certaine 0 si f n est pas constante, on obtient, de manière certaine 1 7
8 L algorithme de Shor La factorisation des entiers Le meilleur algorithme classique actuellement connu pour factoriser un entier est exponentiel en la taille du nombre à factoriser : 2 O( 3 log N) problème difficile, on ne connaît pas sa classe de complexité intervient dans l algorithme de clé publique RSA, plusieurs défis : RSA-640, $20,000, 193 chiffres, factorisé en 2005, 5 mois de calcul. RSA-2048, $200,000, 617 chiffres, non factorisé. En 1994, Peter Shor propose un algorithme quantique en temps polynomial O((log N) 3 ).
9 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ALGORITHME DE SHOR L algorithme de Shor Description de l algorithme 1 Déterminer si N est pair, premier ou puissance d un nombre premier. Ceci peut-être fait classiquement en O((log N) 3 ). Dans ce cas, FIN. 2 Choisir un nombre a au hasard 1 < a < N. 3 Calculer pgcd(a, N). Si pgcd(a, N) 1, c est un facteur non trivial, FIN. 4 Sinon a Z/NZ. Déterminer r l ordre de a dans Z/NZ. 5 Si r est pair et a r/2 1 mod N (ceci se produit avec une probabilité > 1 1/2 k 1, k nombre de facteurs premiers de N), alors N (a r 1) = (a r/2 1)(a r/2 + 1) et N a r/2 1, N a r/2 + 1, donc pgcd(a r/2 1, N) est un facteur non trivial de N, FIN.
10 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ALGORITHME DE SHOR L algorithme de Shor Un exemple, N = 15 1 15 n est pas pair, premier ou puissance d un nombre premier. 2 On choisit a au hasard 1 < a < N : a = 7. 3 pgcd(a, N) = pgcd(7, 15) = 1. 4 On note f a : k a k mod N. k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 f a (k) 1 7 4 13 1 7 4 13 1 7 4 13 1 7 On a r = 4. 5 r = 4 est pair et a r/2 = 4 1 mod N. pgcd(a r/2 + 1, N) = pgcd(50, 15) = 5, pgcd(a r/2 1, N) = pgcd(48, 15) = 3, FIN.
L algorithme de Shor Calcul de l ordre de a L étape difficile est l étape 4. L ordre de a est la période de la fonction f a : k a k mod N et les valeurs prises par f a pour k {0, 1,, r 1} sont distinctes. On utilise une transformée de Fourier Quantique : 1 Soient n = log 2 N + 1 et q > n. En utilisant le parallélisme quantique on prépare le système à q + n qubits : 1 2 q/2 2 q 1 x f a (x) x=0 2 On mesure la valeur du second registre, on obtient une valeur y 0 et il existe un unique x 0 {0, 1,, r 1} tel que f a (x 0 ) = y 0. projection du premier registre sur le sous espace des x tels que f a (x) = y 0. On obtient l état : A 1 1 x 0 + jr A j=0 11
12 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ALGORITHME DE SHOR L algorithme de Shor Calcul de l ordre de a 3 On effectue la transformée de Fourier à 2 q points : classiquement (FFT) : O(nq 2 q ) quantiquement (QFT) : O(nq 2 ) Une mesure du système donne kq/r, avec Q = 2 q et k un entier. En répétant, environ O(log q) fois l opération on peut déterminer r. On a q n, donc une complexité globale en O((log N) 3 ).
13 UNE INTRODUCTION AU CALCUL QUANTIQUE : L ALGORITHME DE SHOR L algorithme de Shor De la fiction à la réalité Un spin 1/2 dans un champ magnétique réalise un qubit idéal : on manipule son état par résonance magnétique nucléaire (RMN). Dans une molécule, les fréquences de résonance des différents atomes sont légèrement différentes : on peut adresser individuellement chaque spin. En 2001, en utilisant 7 qubits, le centre de recherche d IBM a obtenu la factorisation du nombre 15.
L algorithme de Shor De la fiction à la réalité Pour N = 15, n = 4 et q = 3, en prenant a = 7, ils ont obtenu, après transformée de Fourier : Le premier qubit est dans l état 0 et le deuxième et le troisième sont dans une superposition de 0 et 1. Donc l état du système des 3 qubits est un superposition de 000, 010, 100 et 110, c est-à-dire 0, 2, 4 et 6. la périodicité de la QFT est 2, donc r = 2 q /2 = 4. 14