Informatique Quantique Simon Perdrix 1 Pépites Algorithmiques [email protected] Ecole des Mines de Nancy - 1 mars 2016 1. CNRS, équipe CARTE, LORIA Une Information Quantique • Brique de base de l’information : 0, 1 • Nous vivons dans un monde quantique : α |0i + β |1i avec α, β ∈ C et |α|2 + |β|2 = 1 1 ϕ 0 Exemples : |0i 1 √ (|0i + i |1i) 2 2/14 Definition L’état d’un registre quantique de taille n est un vecteur unité de C{0,1} : X X |αx |2 = 1 αx |xi avec ||Φ||2 = Φ= n x∈{0,1}n x∈{0,1}n Exemples : 1 √ (|00i − |01i) 2 1 √ (|00i + i |01i + |11i) 3 1 √ (|000i + |111i) 2 3/14 Système composé Soit Φ1 l’état d’un registre de n qubits et Φ2 celui d’un registre de m qubits, l’état du registre composé de (n + m) qubits est Φ = Φ1 ⊗ Φ2 avec · ⊗ · bilinéaire et ∀x ∈ {0, 1}n, ∀y ∈ {0, 1}m, |xi ⊗ |yi = |xyi Exemples : |0i−|1i √ 2 = |0i⊗|0i−|0i⊗|1i √ 2 1 |0i ⊗ 2 |0i+i|1i √ 2 3 |01i+|11i √ 2 =?⊗? 4 |00i−|11i √ 2 =?⊗? ⊗ |00i−i|10i √ 2 = |00i−|01i √ 2 = 4/14 Intrication Definition Un état Φ est intriqué si pour tout Φ1 , Φ2 , Φ 6= Φ1 ⊗ Φ2 Exemple : 1 √ (|00i + |11i) 2 5/14 Mesurer, c’est Transformer 2 α |0i + β |1i |α| ✲ |0i on mesure 0 |β | 2 ✲ |1i on mesure 1 La mesure est probabiliste et irréversible. Mesure =⇒ Interaction =⇒ Transformation 6/14 Système fermé : une évolution unitaire Un système fermé évolue • de façon linéaire, i.e. U (αΦ + βΨ) = αU (Φ) + βU (Ψ) ; • en préservant la condition de normalisation, i.e. ||U (Φ)|| = ||Φ||. 7/14 Exemples d’évolutions unitaires X : |0i 7→ |1i |1i 7→ |0i H : |0i 7→ |1i 7→ Z |0i+|1i √ 2 |0i−|1i √ 2 CN ot Exemples : Rz (θ) : : |00i |01i |10i |11i 7→ 7 → 7→ 7 → : |0i → 7 |0i |1i → 7 − |1i |0i → 7 |0i |1i → 7 eiθ |1i |00i |01i |11i |10i HH |0i = HH |1i = 8/14 Composition de transformations unitaires Si une partie d’un registre évolue selon U et le reste du registre selon V alors l’évolution globale du registre est U ⊗ V avec : (U ⊗ V )(Φ ⊗ Ψ) = (U Φ) ⊗ (V Ψ) Exemples : (H ⊗ H) |01i = (H |0i) ⊗ (H |1i) = |0i+|1i √ 2 ⊗ |0i−|1i √ 2 = |00i−|01i+|10i−|11i 2 Quand l’état est intriqué, utiliser la linéarité : √ (U ⊗ V ) |00i+|11i 2 = (U⊗V )|00i+(U⊗V )|11i √ 2 = (U|0i)⊗(V |0i)+(U|1i)⊗(V |1i) √ 2 9/14 Exemples d’évolutions unitaires X : |0i 7→ |1i |1i 7→ |0i H : |0i 7→ |1i 7→ Z |0i+|1i √ 2 |0i−|1i √ 2 CN ot Rz (θ) : : |00i |01i |10i |11i 7→ 7 → 7→ 7 → : |0i → 7 |0i |1i → 7 − |1i |0i → 7 |0i |1i → 7 eiθ |1i |00i |01i |11i |10i Exemple : CN ot ◦ (H ⊗ I)(|00i) = 10/14 Circuits quantiques (I ⊗ Rz (π/3)) ◦ CN ot ◦ (H ⊗ I) • {H, CN ot, Rz (θ), θ ∈ [0, 2π)} est une famille universelle de transformations unitaires. • Toute transformation unitaire est réversible. 11/14 Circuits Classiques / Quantiques Lemme : Si f : {0, 1}n → {0, 1} est calculée par un circuit classique de taille t alors son extension quantique Uf : |xi 7→ (−1)f (x) |xi est calculée par un circuit quantique de taille O(t). Preuve : voir exercices 4 & 5. 12/14 Un 1er algorithme quantique Umesh veut identifier les fausses pièces parmi un ensemble de n pièces. Il sait qu’une vraie pièce a une masse de 8g contre 7.5g pour une fausse. Umesh possède une balance dont l’écran défectueux n’indique que le chiffre après la virgule : 0 pour 8g, 5 pour 22.5g etc. Ainsi Umesh ne peut connaı̂tre que la parité du nombre de fausses pièces posées sur le plateau de la balance. Combien de pesées Umesh doit effectuer pour identifier l’ensemble des fausses pièces ? Donnée : f Problème : Algorithme Algorithme P : {0, 1}n →{0, 1} t.q. ∃a∈{0, 1}n , f (x) = x • a = n i=1 xi ai mod 2. n Trouver a ∈ {0, 1} . classique : n appels à f sont nécessaires et suffisants. quantique : 1 appel à Uf . |0n i H ⊗n Uf H ⊗n 13/14 H ⊗n Uf H ⊗n |0n i = = = X 1 √ H ⊗n Uf |xi 2n x∈{0,1}n X 1 √ H ⊗n (−1)f (x) |xi 2n n x∈{0,1} X 1 √ H ⊗n (−1)x•a |xi n 2 x∈{0,1}n = H ⊗n H ⊗n |ai = |ai (1) (2) (3) (4) (5) 14/14