Rapport de stage de M1 Simon Forest 30 août 2014 Résumé Ceci est le rapport du stage que j’ai effectué à l’Institute of Quantum Computing (IQC) à l’université de Waterloo, Ontario, Canada, entre Mars et Août 2014 sous la direction de Michele Mosca dans le cadre du stage obligatoire du M1 du MPRI. Durant ce stage, j’ai travaillé avec David Gosset et Vadym Kliuchnikov, puis plus tard avec David McKinnon sur certaines propriétés des décompositions des portes quantiques agissant sur un seul qubit dans U2 et SO3 . 1 Introduction L’ordinateur est un objet essentiellement physique. Ainsi, ses capacités de calculs sont avant tout limitées par les lois physiques qui le régissent. Cependant, dans l’informatique de tous les jours, on raisonne surtout sur des ordinateurs classiques, donc basés essentiellement sur la physique classique, alors que l’on sait depuis longtemps qu’il existe une théorie plus générale et qui offre plus de possibilités : la physique quantique. D’où l’idée de réfléchir à un modèle d’ordinateur tirant profit des lois de la physique quantique : l’informatique quantique. Dans ce nouveau modèle, les bits (qui ne peuvent prendre que les valeurs 0 ou 1) manipulés par un ordinateur classique sont remplacés par des qubits (qui peuvent être une superposition quelconque des valeurs 0 et 1 et qui peuvent être étriqués avec les autres qubits). Le nouvel espace que l’on considère pour décrire les états possibles n’est plus le produit {0, 1}n , mais V ectC (|0i , |1i)⊗n (que l’on notera H). Aussi, de la même manière que l’on peut appliquer des portes sur les bits, on peut appliquer des portes quantiques sur les qubits. Cependant, contrairement aux portes classiques, les portes que l’on applique doivent être réversibles et doivent être des opérateurs linéaires sur H. Plus précisément, ce doit être des opérations unitaires sur H vu comme un espace hermitien. Un corollaire est que l’on travaille toujours avec le même système de qubits, même après avoir appliqué une porte (contrairement aux circuits classiques : une porte ET a deux entrées et une seule sortie, donc il n’y a pas vraiment de porte ET). Ces portes quantiques, en plus d’opérations classiques réversibles (comme l’opération SWAP qui échange deux bits), sont capables de mettre les qubits en superposition et aussi de les étriquer entre eux. Par exemple, la porte H qui agit sur un seul qubit : 1 |0i + |1i √ 2 |0i − |1i √ |1i → 2 H : |0i → (1) (2) introduit de la superposition à partir de qubits dans l’état |0i ou |1i. Elle vérifie aussi H 2 = I. Dans la base |0i , |1i, cette porte, vue comme opérateur 1 1 linéaire sur H, a comme matrice √12 1 −1 Autre exemple, la porte CN OT (ou controlled-not) qui agit sur deux qubits : CN OT : |00i → |00i (3) |01i → |01i (4) |10i → |11i (5) |11i → |10i (6) Cette porte permet d’introduire de l’étriquement, car elle change l’état du deuxième qubit suivant l’état du premier.Dans la base |00i , |01i , |10i , |11i, 1 0 0 0 0 1 0 0 cette porte a pour matrice 0 0 0 1 0 0 1 0 Une autre opération qui est permise est la mesure, qui permet de repasser dans le monde classique. En effet, il n’est pas très intéressant d’avoir des états superposés si on n’est pas capable d’obtenir le résultat d’un calcul à la fin, c’est-à-dire le faire passer dans le monde classique. Ainsi, mesurer consiste à observer la valeur d’un qubit précis. Cette observation, selon les lois de la mécanique quantique, va faire effondrer l’état du qubit dans l’état |0i ou |1i de façon aléatoire selon des probabilités définies par la superposition du qubit. Si ce qubit était étriqué avec d’autres qubits, cette mesure va aussi affecter d’autres qubits. Par exemple, considérons l’état sur deux qubits |00i, auquel on applique la porte H sur le premier qubit, puis la porte CN OT sur le tout. On obtient l’état |00i+|11i √ . Mesurer le premier qubit donne la valeur |0i ou |1i avec probabilité 2 1 2 . Cependant, si le premier qubit s’effondre sur |0i, le deuxième qubit fera de même. L’informatique quantique fait donc intervenir des nouveaux éléments qui permettent, d’une certaine façon, de paralléliser le calcul en mettant en superposition les différentes alternatives possibles, ainsi que de faire interférer des qubits éloignés par l’intermédiaire des interférences. L’apport de ces éléments (qui restent assez abstraits) par rapport à l’informatique classique n’a toujours pas été complètement apprécié. Et même il est toujours difficile de concevoir de nouveaux algorithmes qui en tirent profit, même s’il existe de glorieux succès comme l’algorithme de factorisation de Shor. Cependant les difficultés de l’informatique quantique ne se limitent pas là. En effet, la conception d’algorithmes qui tirent profit de phénomènes contraires à l’intuition n’est qu’un seul des problèmes de l’informatique quantique. 2 En effet, il existe déjà un problème de mise en pratique. Pour obtenir des propriétés de calcul quantique, on manipule des entités physiques ayant des propriétés quantiques (par exemple un ensemble de photons, d’ions, de spins etc . . . ), ce qui nécessite assez souvent des technologies de pointe. Ce sera les qubits physiques. Cependant, cette étape est déjà difficile, et on peine à dépasser les dizaines de photons (donc les dizaines de qubit physique). De plus, ce système restant instable, il est nécessaire de mettre en place un système pour corriger les interférences (ou erreurs) qui se produisent dans le système. On installe une couche de codes correcteurs d’erreur quantique sur la couche de qubits physiques pour obtenir des qubits logiques, résistant aux erreurs. Cependant, le nombre de qubits logiques n’est plus qu’un ratio du nombre de qubits physiques. À ce moment, une fois que l’on a un système assez stable sur lequel exécuter notre algorithme, il faut encore le compiler ! En effet, il n’est pas possible d’appliquer n’importe quelle porte (matrice unitaire) sur le système. Seul un nombre limité d’opérations est possible. Cependant, ces opérations élémentaires permettent d’approximer n’importe quelle matrice unitaire mais on ne sait toujours pas comment trouver une séquence pour approximer une matrice rapidement. De plus, parmi notre nombre limité d’opérations, certaines coûtent cher alors que d’autres non pour la couche de correction d’erreurs. Dans le modèle classique, on sait appliquer facilement des portes associées à un sous-groupe de U2n appelé le groupe de Clifford (que l’on notera C dans la suite). Cependant, ce groupe étant fini, on ne peut pas approximer n’importe quelle matrice. Mais en rajoutant la porte T au groupe de Clifford (ensemble T +Clifford), on obtient un groupe dense dans l’ensemble des matrices unitaires. Cependant, cette porte T coûte cher, et il est nécessaire afin d’avoir un calcul quantique viable de minimiser l’utilisation de cette porte. Dans le groupe dans lequel j’ai travaillé, on cherche à mieux comprendre comment compiler des portes, notamment en essayant de déterminer le nombre minimum de portes T à utiliser, ainsi que des algorithmes pour trouver des séquences de décomposition. L’ensemble de mon travail s’est fait sur l’analyse du cas avec un seul qubit. Ainsi, toutes les analyses se passent dans U2 (puis dans SO3 ). La généralisation du résultat à plusieurs qubits étant assez compliquée, le fait d’avoir des résultats pour un seul qubit est déjà une bonne chose. 2 Généralisation à T π8 de la caractérisation dans U (2) Tout d’abord, on m’a demandé de généraliser un résultat caractérise les représentations matricielles des portes générées avec les portes H et T montré dans ( [2]). Ce résultat stipule que l’ensemble des portes générées par ces portes élémentaires est l’ensemble des matrices de U (2) ayant leurs coefficients dans l’anneau B = π Z[ √12 , ei 4 ] (on notera cet ensemble D), une inclusion étant évidente. On sait déjà que cet ensemble est un groupe. En effet, H 2 = I et T 8 = I et G = hH, T i forme un sous-groupe du groupe des matrices unitaires. La généralisation consistait à remplacer la porte T par la porte T π8 = 3 1 0 π . La méthode dans l’article consiste tout d’abord à établir une 0 ei 8 valeur sur laquelle faire une récurrence. On remarque en effet que si x ∈ B, on a |x|2 ∈ R = Z[ √12 ].On peut ensuite définir le sde dans R comme étant √ √ sde(x) = min{k ∈ Z|( 2)k x ∈ Z[ 2]}. De plus, dans le but d’avoir une écriture normale, on voit que tout élément π x ∈ B peut s’écrire √y2n avec y ∈ A = Z[ei 4 ]. Les éléments y ∈ A peuvent aussi π 2π 3π se décomposer sous la forme y = a0 + a1 ei 4 + a2 ei 4 + a3 ei 4 . Le raisonnement pour montrer l’autre inclusion (D ⊂ G : que n’importe quelle matrice ayant ses coefficients dans l’anneau B peut s’écrire comme un produit de H et de T ) est alors le suivant : on définit le sde d’une matrice comme étant le maximum du sde de la norme carrée de ses coefficients. La suite, grosso modo, consiste à que l’on peut décomposer les matrices par récurrence sur le sde. Pour cela, on montre facilement que : — pour une matrice de sde non nul, le sde de la matrice est le sde de n’importe quel coefficient. — il suffit de montrer que l’on peut construire tous les vecteurs colonnes pour montrer que l’on est capable de décomposer toutes les matrices unitaires — aussi, si la propriété est vraie, alors pour diminuer le sde, il suffit d’appliquer une porte de la forme HT k avec k ∈ {0, · · · , 7}. Donc, si un cas est fixé, on peut montrer en un nombre fini d’étapes si l’on est capable de réduire le sde. C’est-à-dire, si l’on cherche à montrer que l’on peut réduire u le sde de , il suffit de montrer qu’il existe un k compris entre 0 et v ik π u+ve √ 4 u u 2 π π = 7 tel que le sde de HT k =H ik u−ve v veik 4 √ 4 2 — pour montrer que l’on peut toujours diminuer le sde de l’ensemble des vecteurs colonnes l’ensemble des vecteurs co unitaires, au lieuπ de considérer i 2π i 3π i 2π i 3π iπ i u lonnes avec u = a0 +a1 e 4 +a√22en 4 +a3 e 4 et v = b0 +b1 e 4 +b√22en 4 +b3 e 4 , v avec a0 , · · · , a3 , b0 , · · · , b3 ∈ Z, il suffit de se placer modulo 8 pour retomber sur un nombre fini de cas à tester à la main — de plus, on trouve des conditions modulaires, issues du fait que le vecteur que l’on considère est unitaire, qui permettent de filtrer les cas impossibles Ainsi, on arrive à montrer la propriété en testant l’ensemble des possibilités pour les coefficients modulo 8. Mon travail ici a consisté à généraliser ce résultat de caractérisation en remplaçant T par T π8 , G, par G 0 = H, T π8 et D par D0 l’ensemble des matrices de π U2 à coefficients dans Z[ei 8 , √12 ]. Remarquons tout de suite, pour faciliter la compréhension de la méthode utilisée, que pour prouver une propriété du type D ⊂ G, l’essentiel du travail consiste à montrer que l’on peut diminuer le sde d’une matrice U ∈ D en appliquant une séquence de portes dans G. Une fois que l’on a cette propriété, on peut facilement faire la récurrence. C’est ce raisonnement qui va apparaı̂tre plusieurs fois dans la suite (même quand on sera passé dans SO3 ). π π Cette fois, on a B = Z[ei 8 , √12 ], A = Z[ei 8 ] et pour x ∈ B, on a |x|2 ∈ 4 √ p √ √ p √ p √ 2, 2 − 2], et pour x ∈ A, on a |x|2 ∈ Z[ 2, 2 + 2, 2 − 2]. √ La difficulté a été ici de montrer que le sde en base 2 pouvait toujours diminuer si l’on appliquait le bon HT k . Seulement, l’analyse du sde dans le nouvel anneau B avec la nouvelle porte T est plus difficile qu’avec la porte T initiale. En effet, dans la première situation, on dispose de propriétés pratiques et de caractérisations assez faciles pour le sde. Par exemple, on avait lap propriété que √ sde(xy)p= sde(x)+sde(y), ce qui n’estpplus vraipmaintenant : sde( 2 + 2) = 0 √ √ √ √ et sde( 2 − 2) = 0, pourtant sde( 2 + 2 2 − 2) = sde( 2) = 1. Aussi, √ il était plus facile de caractériser les éléments de sde 0 : si x s’écrit a + b 2 avec a, b ∈ Z, alors x est de sde 0 si et seulement si a est impair. Donc regarder un coefficient individuellement peut suffire à obtenir une information sur le sde. Alors que dans la nouvelle p situation, lesp coefficients peuvent interférer entre eux. √ √ − 2, connaı̂tre de a ou de Par exemple, si x s’écrit a 2 + 2 + b 2 p pla parité √ √ 2 + 2 + 2k 2 − 2) = 0, mais b nep suffit pas à conclure. En effet : sde( p √ √ sde( 2 + 2 + (2k + 1) 2 − 2) = 1. Cependant, vu que l’on peut encore généraliser l’analyse modulaire, on arrive à se ramener à déterminer le sde d’un nombre p fini de cas (par : quel p exemple √ √ √ est le sde de x en sachant que x ≡ a + b 2 + c 2 + 2 + d 2 − 2 (mod 8) avec a, b, c, d ∈ Z fixés), ce que l’on résout à main. Puis, on utilise la même méthode : on génère tous les classes modulaires, puis on ne garde que celles qui sont possibles (en utilisant le fait que le vecteur colonne que l’on analyse est normé). Cependant, j’ai réussi à montrer qu’il n’était nécessaire de faire une analyse modulo 4 seulement. Z[ √12 , 3 p 2+ Caractérisation dans SO3 pour T π4 On remarque que la phase dans les portes quantiques n’a pas d’importance. En effet, ajouter une phase à un vecteur représentant plusieurs qubits ne change pas les probabilités de mesure (ce qui est au final notre seul interaction avec le monde quantique). Cependant, dans U2 , deux portes U et V avec V = eiθ U sont considérées comme différentes, alors qu’on les considère comme équivalente du point de vue de l’informatique quantique. Se placer dans U (2) n’est donc pas totalement satisfaisant. Cependant, il existe un morphisme de U2 dans SO3 que l’on notera φ tel que φ(U ) = φ(V ). Il s’avère aussi que l’analyse dans SO3 admet une analyse de sde qui peut être considérée comme plus simple. Comment obtient-on ce morphisme de U2 dans SO3 ? Tout d’abord, on fixe une matrice U ∈ U2 et on s’intéresse à l’application γ : V → U V U † comme endomorphisme de M2 (C). On remarque alors que si V est hermitienne (c’est-à-dire V = V † ), U V U † est à son tour hermitienne. Ainsi, si l’on choisit une base de l’espace des opérateurs hermitiens, on peut regarder comment les images de cette base se décomposent sur celle-ci. La est la base base que l’on prend de Pauli, constitué de l’identité 1 0 0 1 0 −i I= , de l’opérateur X = , de l’opérateur Y = 0 1 1 0 i 0 1 0 et de l’opérateur Z = . Une base étant fixée, on peut écrire la 0 −1 5 matrice de γ restreint à l’espace des opérateurs hermitiens. Par exemple, pour la porte H, on a : — HIH † = I — HXH † = Z — HY H † = −Y — HZH † = X Ainsi, la matrice 4x4 obtenue pour H est : 1 0 0 0 0 0 0 1 0 0 −1 0 0 1 0 0 On remarque que γ envoie toujours l’identité sur l’identité et que (preuve nécessaire), la matrice de γ dans cette base est dans SO4 . Ainsi, vu qu’il y aura toujours un 1 dans la case en haut à gauche, les autres éléments de la première ligne et de la première colonne sont toujours nuls. On peut donc ne considérer que la sous-matrice 3 par 3 obtenue en supprimant la première ligne et la première colonne. Dans l’exemple de H, on obtient la matrice : 0 0 1 0 −1 0 1 0 0 On obtient donc cette matrice dans SO3 , et φ est donc l’application qui à V dans U2 associe cette sous-matrice 3 par 3. Il s’avère que, à partir d’une matrice de SO3 , on peut retrouver une pré-image dans U2 et les autres pré-images sont reliées à celle-ci par une phase. De plus, on a une propriété de morphisme : φ(U V ) = φ(U )φ(V ). Ainsi, on obtient un isomorphisme à la phase près. Il est donc possible de montrer des résultats de décomposition dans SO3 , vu qu’une décomposition dans SO3 donne une décomposition dans U2 à la phase près. b la matrice dans SO3 Dans la suite, on notera U la matrice de U2 et U associée. De l’article [1], on connaı̂t une décomposition spéciale des images des éléments de ce groupe selon d’autres générateurs, qui paraissent a posteriori plus naturels. π π Premièrement, on remarque que T = 21 ((1+ei 4 )I +(1−ei 4 )Z) = exp(i π8 (1− Z)) = Rz . On note de façon équivalente : Rx = exp(i π8 (1−X)) et Ry = exp(i π8 (1−Y )). On verra plus tard que ces matrices peuvent être considérées comme des matrices de rotation sur les axes X, Y, Z. b = φ(U ). Si U ∈ U2 , on note plus simplement U On définit le groupe C de Clifford dans U2 comme étant le sous-groupe fini d’ordre maximum dans U2 . Ce groupe a la propriété de laisser invariant le sousgroupe de Pauli {±I, ±X, ±Y, ±Z}. En passant dans SO3 , ces matrices sont toutes les matrices de permutations signées (dont les coefficients sont ±1) de déterminant 1. La décomposition de [1] est la suivante Qm : si U ∈ U2 et U est à coefficients π dans Z[ei 4 , √12 ], alors U s’écrit U = eiθ n=1 RPn C où C ∈ C et Pi ∈ {X, Y, Z} avec Pi 6= Pi+1 6 On remarque que l’image par φ du sous-groupe G de U2 que l’on considère est à l’intérieur du sous-groupe des matrices de SO3 dont les coefficients sont dans Z[ √12 ]. √1 1 0 0 − 2 0 √12 1 1 cx = 0 √ cy = 0 cz = − √2 , R 1 0 , R En effet : R 2 1 1 1 1 √ √ √ √ 0 0 2 2 2 2 √1 √1 − 0 2 2 √1 √1 0 . De plus, les images des matrices de Clifford sont des ma2 2 0 0 1 trices de permutations signées de déterminant 1, ce qui prouve l’inclusion de l’image du groupe dans cet ensemble. Dans [1], ce passage dans SO3 est utilisé pour montrer que l’on est capable de compter le nombre de portes T dans une décomposition minimale. Ce nombre est alors le maximum des sde des coefficients de la matrice. cP ont deux lignes de sde 1 L’argument utilisé est le suivant : les matrices R et une ligne de sde 0 (à la ligne qui correspond à P ). Plus généralement, si une Q1 d séquence de décomposition M = i=m R Pi a deux lignes de sde m et une de sde m − 1 et que cette ligne est celle qui correspond à Pm , alors si on multiplie \ cette séquence par R Pm+1 , avec Pm+1 6= Pm , on obtient une matrice avec deux lignes de sde m + 1 et une ligne de sde m qui correspond à Pm+1 . En effet si on note L1 , L2 , L3 les lignes de M , et que l’on suppose, par exemple que les lignes L1 et L2 sont de sde m et que la ligne L3 est de sdem − 1, alors 0 L1 L1 L2 −L3 cx , on obtient la matrice M 0 = L02 = si on multiplie par R √2 . 0 L2√ +L3 L3 2 Ainsi, L01 est de sde m, et L2 est de sde m et sde(L3 ) = m − 1 < sde(L2 ), donc 3 sde(L2 − L3 ) = sde(L2 ) = m. Donc sde(L02 ) = sde( L2√−L ) = m + 1. De même 2 pour L03 . Ainsi, on arrive à trouver lien entre le sde de la matrice et la longueur de Qm und la décomposition m dans i=1 R Pi . De plus, multiplier à gauche par une matrice de Clifford ne change pas la caractérisation, vu que les matrices de Clifford sont des matrices de permutation signées qui ne changent pas la valeur du sde de la matrice. On m’a alors demandé de réfléchir à une question : quelle est l’image du sous-groupe G par φ ? Peut-on le caractériser dans SO3 ? cP ont des coefficients dans Z[ √1 ], on va essayer de Vu que les matrices R 2 montrer que l’image de G dans SO3 est exactement l’ensemble D des matrices de SO3 à coefficients dans Z[ √12 ]. Le nouvel anneau où atterrissent les coefficients (réels √ cette fois) rend encore une fois propice l’analyse en utilisant le sde en base 2. De plus, il semble clair cP augmente le sde dans la plupart des cas, vu que l’on que multiplier par un R √ divise les coefficients par 2. Et en effet, un des résultats de [1] est que le sde de la matrice dans SO3 est exactement la valeur m du nombre de termes dans cP . la décomposition, c’est-à-dire le nombre de R Si la propriété de caractérisation dans SO3 est vraie, cela signifie qu’une matrice MQde SO3 avec les coefficients dans l’anneau considéré peut s’écrire b= m R db M =U i=1 Pi C. Et donc qu’il est toujours possible de réduire le nombre 7 −1 d de termes du produit en multipliant par R . Aussi, vu que le nombre de Pi termes du produit est exactement le sde de la matrice, on a un moyen simple pour vérifier si on a réussi à diminuer le sde. −1 d Par récurrence, on arriverait donc à multiplier à gauche par les R jusqu’à Pi arriver sur une matrice de sde 0. On montre facilement alors que cette matrice sera alors une matrice de Clifford dans SO3 . À ce moment, on aurait donc montré Q1 Qm d b d −1 b que i=m R Pi M = C et donc que M = i=1 RPi C. On aurait donc montré que M peut donc se décomposer avec nos matrices élémentaires et donc que M fait bien partie des matrices générées par notre ensemble de portes élémentaires. De plus, on aurait tout de suite un algorithme pour trouver une telle décomposition : tant que le sde de la matrice n’est pas égal à 0, essayer de multiplier à gauche par −1 −1 −1 cx , R cy , R cz jusqu’à ce que le sde baisse. Puis continuer jusqu’à atteindre R une matrice de sde 0. On rappelle ici que les matrices sont à coefficients dans B = Z[ √12 ] et que √ le sde d’un élément x ∈ B est par l’intermédiaire de A = Z[ 2] comme √ défini étant sde(x) = min{k ∈ Z|( 2)k x ∈ A}. Pour montrer la propriété de caractérisation, j’ai d’abord essayé de réfléchir sur des vecteurs : si on prend un vecteur u normé de B 3 , est-il toujours possible de réduire son sde (le sde d’un vecteur étant le maximum des sde de ses coefficients) ? Notons n le sde de u. Il est alors possible d’écrire u sous la forme u = u1 √1 n u2 , avec au moins un des trois ui de sde 0. On peut alors supposer 2 u3 que c’est u1 . Supposons alors que n ≥ 2. L’autre information dont on dispose à ce moment est le fait que u est un vecteur normé. Ainsi, on a u21 +u22 +u23 = 2n . Vu que n ≥ 2, on a u21 +u22 +u23√≡ 0 (mod 4). De plus, vu que les ui sont dans A, on peut les écrire ui = ai + 2bi avec ai , bi ∈ Z ce qui permet de faire une analyse modulaire sur les ai , bi . De plus, on arrive à montrer qu’un autre des coefficients est de sde 0. On peut alors supposer que c’est u2 . On montre alors que sde(u3 ) = −1. On caractérise aussi très bien la forme du sde lorsque n = 0 ou 1. Au final, en prenant en compte le facteur √12n devant le vecteur, on voit que n la forme du sde de u est n . n−1 De plus, on montre, toujours avec l’analyse modulaire, qu’il est possible de cz . Ceci renforce donc réduire le sde du vecteur avec la matrice de rotation R l’hypothèse formulée. Cependant, il faut montrer ce résultat pour une matrice entière. Et il n’est pas évident que, même si l’on peut diminuer le sde de chaque colonne individuellement par le travail précédent, on arrive à diminuer le sde de cP . la matrice entière en appliquant une matrice R Prenons donc M , une matrice de SO3 avec ses coefficients dans B. Vu que les colonnes et les lignes de cette matrice sont des vecteurs normés, on peut appliquer le lemme précédent, à condition que le sde du vecteur que l’on considère soit assez grand. Ainsi, on suppose que le sde n de la matrice M vérifie n ≥ 3. Il existe alors un coefficient dans cette matrice qui est de sde n que l’on peut supposer en haut à gauche. Ainsi, la forme du sde est pour l’instant 8 n ∗ ∗ ∗ ∗ ∗ . ∗ ∗ ∗ En utilisant le lemme précédent sur la première colonne et sur la première n n n−1 ∗ ∗ ligne, et en réarrangeant les éléments, on obtient donc la forme n n−1 ∗ ∗ On peut encore une fois appliquer le lemme sur la deuxième colonne mais on n n n−1 obtient deux formes qui ne sont pas équivalentes. La première est n n−1 n n n n−1 n n − 1 . et la deuxième est n n−1 n−1 n−2 On arrive à montrer que la première forme n’est pas possible, en utilisant une propriété que l’on avait toujours pas utilisée, qui est l’orthogonalité des colonnes de la matrice. En effet, le produit scalaire entre la première et la deuxième colonne de cette matrice est une somme de trois éléments : un de sde 2n (le sde est additif avec la multiplication dans cet anneau) et deux de sde 2n − 1. Une propriété du sde nous indique alors que cette somme a un sde de 2n. Or 0 a un sde égal à −∞. Donc ce cas n’est pas possible. Ainsi, pour une matrice la forme du sde des coefficients M ∈ D quelconque, n n n−1 n n − 1 . Une matrice de sde n ≥ 3 a à permutation près est n n−1 n−1 n−2 donc toujours un carré parmi ses coefficients qui porte le sde n. cz à gauche va dimiDe plus, par le lemme précédent, on sait qu’appliquer R nuer le sde sur les deux premières colonnes, car leur forme de sde est la bonne. De plus, vu que la forme du sde de la matrice résultante est censé avoir la forme d’un carré, au moins deux des coefficients qui auront pour sde le sde de la matrice seront dans les deux premières colonnes . . .dont le sde a été diminué. Ainsi, on a bien diminué le sde de la matrice entière. En résumé, on a montré que l’on savait diminuer le sde d’une matrice de cP . Il suffit donc de montrer pour sde ≥ 3 en multipliant à gauche par un R conclure que l’on sait construire toutes les matrices de sde ≤ 2, ce que l’on montre facilement avec nos caractérisations. Ainsi, les matrices de SO3 dont les coefficients sont dans B sont exactement les matrices que l’on peut générer avec les matrices de Clifford, et les matrices cP . de rotation élémentaires R En quoi ce résultat est-il utile ? L’utilité de ce résultat consiste essentiellement dans la facilité qu’il procure à l’approximation. En effet, quand on veut approximer une porte quantique par une séquence de porte élémentaires, il est possible de faire cela en passant dans SO3 . La porte que l’on cherche à approximer a alors une matrice dans SO3 , et on cherche une matrice dans SO3 qui approxime convenablement cette matrice et qui puisse s’écrire comme un produit de ces matrices élémentaires que l’on sait gérer. Or jusqu’ici, il était difficile, après avoir choisi une matrice comme approximation, de savoir si cette approximation était constructible avec nos matrices élémentaires. Maintenant, on a un critère simple : il suffit de chercher nos approximations dans les matrices de SO3 qui ont leurs coefficients dans B. 9 . n−1 n n−1 Ce résultat que l’on vient de prouver ressemble au résultat dans U2 et fournit la même conclusion. Cependant, les analyses ne sont pas équivalentes : le sde dans U2 ne correspond pas au sde dans SO3 . Par exemple, la matrice H a pour b a pour sde 0. A contrario, la matrice T a pour sde sde 1, alors que la matrice H 0, alors que la matrice Tb a pour sde 1. De manière générale, la valeur du sde dans U2 est due au nombre de portes H, et la valeur du sde dans SO3 est due au nombre de portes Tb. De plus, comme expliqué, SO3 fournit un outil d’analyse plus en accord avec les hypothèses de l’informatique quantique. 4 Généralisation de la forme du sde dans SO3 David, l’un des auteurs de [1] avec qui je travaillais s’intéressait à généraliser les résultats de son papier lorsque l’on changeait de porte T . Que se passe-t-il en effet lorsque l’on utilise la porte T π8 au lieu de la porte T = T π4 classique ? Quelles informations nous fournit le sde de la matrice dans SO3 par rapport à la décomposition de la matrice avec les matrices de rotation élémentaires ? On formule tout de suite la remarque générale suivante : en utilisant la porte Tθ comme alternative à la porte T , les matrices de rotations élémentaires ont la forme suivant dans SO3 : − sin(θ) 0 cos(θ) 1 0 0 cz = cy = cx = 0 cos(θ) − sin(θ) , R , R 0 1 0 R cos(θ) 0 sin(θ) 0 sin(θ) cos(θ) cos(θ) − sin(θ) 0 sin(θ) cos(θ) 0 . 0 0 1 √ √ √ √ 2+ 2 2− 2 − √ 2√ √ 2√ π cz la matrice 2− 2 Dans le cas de θ = 8 , on obtient par exemple pour R 2+ 2 2 0 On a donc essayé de généraliser les résultats que l’on avait jusqu’à présent avec la porte T classique, mais avec la porte T π8 . De plus, les images des matrices de Clifford sont des matrices de permutations signées de déterminant 1, ce qui prouve l’inclusion de l’image du groupe dans cet ensemble. Déjà, on obtient facilement (ou, du moins, avec des arguments similaires à ceux de [1]) une nouvelle forme normale pour toute matrice du groupe Qm Gqi = hRx , Ry , Rz , Ci : toute matrice U ∈ G peut s’écrire sous la forme U = i=1 RP C i avec qi ∈ {1, 2, 3} et Pi 6= Pi+1 . Ensuite nous nous sommes intéressés au sde de la matrice. Pour pouvoir appliquer les mêmes arguments que dans le précédent papier, il nous fallait avoir de nouveau certaines propriétés sur le sde, en particulier sde(xy) = sde(x) + sde(y). Seulement, cette propriété n’était plus vraie dans ce p √ √ nouvel avec un sde en base 2. En effet, sde( 2 + 2) = 0, pourtant panneau √ √ sde(( 2 + 2)2 ) = sde(2 + 2) = 1. Il fallait donc changer quelque chose. David √ a donc eu l’idée de corriger le contre-exemple précédent en introduisant √ 2+ 2 1 24 et en posant que cette valeur avait un sde de 0 et en passant par 1 le sde en base 2 4 , c’est-à-dire que l’on définit maintenant sde(x) pour x ∈ B k comme étant min{k ∈ Z|2 4 x ∈ A}, avec B et A à déterminer. 10 2 0 0 0 1 Les principales idées pour faire fonctionner la généralisation étaient là. On m’a demandé d’essayer de mettre tout ça en ordre et de voir si cela tenait la route jusqu’au bout. √ √ 1 On a donc considéré un nouvel anneau A = Z[2 4 , − 14 √ 2+ 2 1 24 , √ 2− 2 1 24 ], et B = A[2 ]. Ensuite, pour pouvoir raisonner rigoureusement avec le sde, il fallait faire un peu de théoriep des nombres. En effet, même si le but était de pouvoir considérer √ On que le sde de 2 + 2 est -1, rien dans notre définition ne nous le prouve. √ √ sait juste pour l’instant qu’il est ≤ −1. On pourrait imaginer que 2+1 2 = 24 p √ 1 1 + 2 soit encore divisible par 2 4 dans A. On va donc utiliser des écritures 1 sous forme normale en accord avec cette notion de divisibilité par 2 4 . 1 Dans la suite, on pose τ = 2 4 . Tout d’abord, on montre que tout élément x ∈ A peut s’écrire sous la forme x = uc1 + vc2 avec = u0 + u1 τ + u2 τ 2 + u3 τ 3 , v = v0 + v1 τ + v2 τ 2 + v3 τ 3 , p u√ 1 ui , vi ∈ Z, c1 = 1 + 2, c2 = 1 et τ = 2 4 . Cela est facile : tous les éléments générateurs de A s’écrivent de cette façon, et l’ensemble des éléments admettant cette écriture forme un anneau, tout comme A, donc A est inclus et est même égal à cet ensemble. Une autre propriété utile est l’unicité de l’écriture, qui permet de faire des identifications de coefficients dans deux écritures p égales. Pour l’obtenir, √ p√ 1 4 le pluspsimple a été p de montrer l’unicité pour , 1 + 2, 2 − 1] = p Q[2 √ √ √ √ 1 Q[2 4 , 1 + 2] (car 2 − 1 = ( 2 − 1) 1 + 2). En effet, on peut facilement montrer l’unicité de l’écriture en calculant le degré de l’extension : on connaı̂t déjà une famille génératrice et montrer que cette famille est libre revient donc à montrer que le degré de l’extension est p exactement le nombre d’éléments √ de la famille. On doit donc montrer que [Q[τ, 1 + 2] : Q] = 8. p p √ √ Pour cela, on utilise le fait que [Q[τ, 1 + 2] : Q] = [Q[τ ] : Q][Q[τ, 1 + 2] : Q[τ ]]. On montre facilement que [Q[τ ] : Q] = 4. En effet, le polynôme minimal de τ sur Q est X 4 − 2. la deuxième valeur, on remarque d’abord quepX 2 − 1 − τ 2 annule p Pour √ √ 1 + 2. Pour conclure, il suffit donc depmontrer que 1 + 2 ∈ / Q[τ ]. Pour √ 2 cela, on suppose le contraire, et on écrit 1 + 2 = a + bτ + cτ + dτ 3 , avec a, b, c, d ∈ Q. En multipliant par le pgcd et en mettant au carré et en analysant les résidus modulaires modulo 2, on tombe rapidement sur une contradiction. Ainsi, on arrive à montrer que l’extension est de degré 8 et que l’écriture des éléments dans A présentée plus haut est bien unique. Grâce à cette écriture, on trouve une caractérisation des éléments de sde 0. Si x = (u0 + u1 τ + u2 τ 2 + u3 τ 3 )c1 + (v0 + v1 τ + v2 τ 2 + v3 τ 3 )c2 , alors x est de sde 0 si soit soit v0 est impair. p u0 , √ p √ √ Ainsi, 1 + 2 est de sde 0, donc 2 + 2 est de sde 1, et 2, de la même façon, est de sde 2. On a aussi une forme normale pour les éléments de B : tout élément x ∈ B x0 peut s’écrire x = τ sde(x) avec x0 ∈ A de sde 0, qui peut se décomposer de façon unique avec le lemme précédent. Pour pouvoir faire un lien entre sde et séquence de décomposition, on généralise 11 cP ont deux l’argument présenté plus haut de [1] : les matrices de rotations R 2 cP ont deux lignes de lignes de sde 3 et une de sde 0, les matrices de rotation R 3 cP ont deux lignes de sde sde 2 et une de sde 0, et les matrices de rotation R 3 et une de sde 0. On aimerait généraliser à tout séquence de décomposition de la même façon que plus haut, seulement on ne peut pas appliquer directement les mêmes arguments. En effet, on ne dispose toujours pas de la prop √ priétépd’additivité du sde. Un p exemple : 1 + 1 + 2 a pour sde 0, mais √ √ √ √ (1 + 1 + 2)2 = 2 + 2 + 2 1 + 2 est de sde 2 (car divisible par 2). Mais on n’a pas besoin d’une propriété aussi forte sur l’anneau entier. Il suffirait d’avoir une propriété similaire qui fonctionne juste pour les éléments des 2 3 matrices de rotation RP , RP , RP pour être capable d’effectuer la récurrence. 2 3 c c c Par exemple, pour RP , RP , RP , les coefficients qui interviennent dans la ma√ √ √ √ √ 1+ 2 1 ( 2−1) 1+ 2 2π 3π π . Si on ramène trices sont cos( 8 ), cos( 8 ), cos( 8 ), soit τ 3 , √2 , τ3 ces coefficients à sde 0 en multipliant par une puissance de τ , on obtient c1 = p p √ √ √ 1 + 2, c2 = 1, c3 = ( 2 − 1) 1 + 2. Pour pouvoir faire fonctionner l’argument, il suffirait de montrer que c1 , c2 , c3 ne modifie pas le sde par multiplication, c’est-à-dire sde(ci x) = sde(x) pour tout x ∈ B. Pour c2 , il n’y a rien à montrer, mais il reste c1 et c3 . En utilisant l’écriture unique dans la base montrée plus haut, et en regardant comment les coefficients de la décomposition sont modifiés par la multiplication par c1 , c3 , on montre facilement que le sde est préservé. Ainsi, on arrive à généraliser et à obtenir une relation entre le sde de la matrice et la longueur de la décomposition. Seulement, l’information obtenue 3 cP et R cP n’ont pas le même n’est pas aussi directe. Vu que les coefficients de R 2 cP , le gain de sde quand on multiplie par l’un ou sde que les coefficients de R l’autre n’est pas le même. Ainsi, si l’on note np (resp ni ) le nombre de i tels que Qm d qi qi est pair (resp impair) dans la décomposition M = i=1 R Pi C, le sde de la matrice est alors 2np + 3ni . Un corollaire est que cette décomposition est unique. En effet, supposons Qm d qi b Qm0 d qi0 c0 0 que nous ayons deux décompositions M = i=1 R Pi C = i=1 RPi C . Déjà, 0 0 si m = 0, alors m = 0 aussi et on a l’égalité C = C . Le seul cas non trivial est quand m, m0 > 0. On peut alors faire cela par récurrence. Si P1 6= P10 , alors d en multipliant à gauche par une puissance de R P1 , on diminuerait le sde de M selon la première décomposition, mais selon la deuxième, le sde augmenterait : contradiction. Ainsi : P1 = P10 . De plus, on montre que q1 = q10 , car sinon, −1 multiplier à gauche par une certaine puissance de RP diminuerait le sde de au 1 moins 2 selon une décomposition, alors que selon la deuxième le sde ne serait diminué que de 1 au plus : contradiction. Ainsi q1 = q10 . Donc par récurrence, on a l’unicité de la décomposition. La généralisation à T π8 fonctionnait donc. David a alors voulu que l’on forπ malise une généralisation à la famille entière des T k+1 . Il a donc fallu passer 2 cx = par les mêmes étapes. Lesmatrices de rotation sont donc maintenant R cos(θk ) −sin(θk ) 0 cy et R cz avec sin(θk ) cos(θk ) 0 et les deux matrices semblables pour R 0 0 1 π θk = 2k+1 . Les puissances de ces matrices font intervenir les multiples de l’angle 12 cos(qθk ) −sin(qθk ) 0 cx = sin(qθk ) cos(qθk ) 0 . On aimerait faire le même type de base : R 0 0 1 d’analyse que précédemment. Pour cela, il faut trouver un anneau qui contienne tous les éléments en présence sur lequel on pourrait définir un sde. On va aussi prendre le sde dans une base dont la précision va dépendre k : on le prendra q de p √ 1 en base αk = 2 2k . Si on note dk = 2cos(θk ), on a dk = 2 + 2 + · · · 2. On peut alors normaliser ce dk en le divisant par αk . On définit donc c0,k = αdkk , q k) puis pour la suite ci,k = 2cos(iθ . On définit alors A = Z[αk , c0,k , · · · , c2k −1,k ] αk et B = A[ α1k ]. On peut montrer que, en fait, A = Z[αk , c0,k ]. Notre but est de montrer, pour obtenir un résultat plus général, que les ci,k préservent le sde. Pour cela, il faut de nouveau montrer l’existence d’une écriture unique dans A, comme avant. On utilise la même méthode qui consiste à prouver une unicité plus générale pour Q[αk , c0,k ]. Pour cela, on montre cherche une base candidate (pour nous donner une écriture unique). Seulement, c’est difficile d’en donner une directement. Il est plus simple d’en construire une par récurrence. Pour pou0 voir faire intervenir les anneaux pour différents k, on introduit Akk = Z[αk0 , c0,k ] 0 0 et Bkk = Akk [αk0 ]. On peut alors construire un système générateur par récurrence : Tout élément 0 0 x ∈ Akk pour k 0 ≥ k et k ≥ 2 peut s’écrire x = u + vc0,k avec u, v ∈ Akk−1 . Pour montrer l’unicité, on se ramène toujours au calcul de la dimension d’une extension, et à constater que cette dimension correspond aux nombres d’éléments générateurs (ce qui nous donne une famille libre). On doit donc ici trouver la dimension de l’extension Q[αk0 , c0,k ] = Q[αk0 , cos(θk )]. Cette situation fut cependant une assez grande difficulté pour généraliser, vu que la méthode précédente qui s’en sortait en manipulant des coefficients et faisait apparaı̂tre une contradiction dans un contexte statique ne s’adapte pas vraiment à une situation générale avec k et k 0 variables. Il a fallu faire une analyse plus intelligente. Voici comment : — On montre d’abord que [Q[cos(θk )] : Q] = 2k , puis on se concentre sur [Q[αk0 , cos(θk√ )] : Q[cos(θk )]]. — On sait que 2 ∈ Q[cos(θ)], donc il existe un polynôme annulateur de k0 αk0 de moindre degré que X 2 − 2 dans Q[αk0 , cos(θk )] √ k0 −1 — Le nouveau candidat est donc X 2 − 2 et il faut arriver à montrer qu’il est irréductible 1 1 — On parvient à montrer que 2 4 ∈ / Q[eiθk ] et donc a fortiori 2 4 ∈ / Q[cos(θk )] 0 √ k −1 — Si X 2 − 2 était réductible, on arriverait à une contradiction en regardant le coefficient constant d’un des facteurs, qui permettrait d’obtenir 1 2 4 , ce qui n’est pas possible d’après le point précédent On arrive donc à un résultat sur la dimension de l’extension : [Q[αk0 , cos(θk )] : 0 Q] = 2k+k −1 . Ceci nous permet de conclure sur la propriété d’unicité de représentation. On arrive maintenant au même problème que dans la précédente preuve qui est que l’on ne possède pas la propriété d’additivité du sde dans cet anneau. Du coup on montre la version plus faible, qui est toujours valable ici. Le plus difficile est de montrer que ci,k préserve la valeur du sde par multiplication pour tout i. Pour cela, on établit d’abord que si x préserve le sde, alors x + αk0 y avec 13 y ∈ A préserve aussi le sde. Il reste à montrer que tous les ci,k peuvent s’écrire sous la forme ci,k = ±c0,k + αk0 ui,k . Vu que l’on montre facilement que c0,k préserve le sde, tous les ci,k préservent donc le sde. On a donc tous les éléments pour obtenir la généralisation, avec le même schéma de preuve. On obtient bien pour finir une propriété qui relie le sde de cP dans la la matrice aux nombres d’occurrences de certaines puissances de R séquence de décomposition. cP qui sont On a donc encore essayé de généraliser ce résultat aux rotations R cette fois des rotations d’angles rationnels en π. À partir de ce moment, nous avons commencé à échanger avec un mathématicien, David McKinnon, qui nous a indiqué les bonnes voies à suivre. En effet, jusqu’à maintenant, nous faisions de l’algèbre d’anneau en glanant par ci,par là quelques résultats utiles mais sans vraiment comprendre la théorie sous-jacente. Ainsi, nous avons commencé à nous renseigner un peu plus sur la théorie des nombres algébriques qui devait nous permettre de généraliser et sur les propriétés des idéaux dans les anneaux que nous étions amenés à considérer. Pendant que David formalisait tout cela de son côté, j’essayais de généraliser la propriété de caractérisation d’image de groupe dans SO3 mais cette fois pour d’autres portes. 5 Caractérisation dans SO3 pour T π8 et T π6 À ce moment, nous avions déjà un résultat qui stipulait que les matrices de SO3 à coefficients dans Z[ √12 ] pouvait se décomposer en une séquence de matrices de rotation d’angle π4 et de matrices de Clifford. On m’a alors demandé de voir si c’était encore vrai lorsque l’anneau était π Z[cos( π8 ), cos( π4 ), cos( 3π 8 )] = Z[cos( 8 )] et que les matrices de rotation étaient π d’angle 8 . Autrement dit, est-ce qu’il était vrai qu’une matrice de SO3 à coefficients dans l’anneau Z[(cos(kθ))k ] pouvait être décomposée en une séquence de RP (θ) dans le cas de θ = π8 ? J’ai donc essayé de faire le même genre d’analyse que pour la première cap √ 1 ractérisation. Au tout début je me suis placé dans l’anneau B = Z[ 1 , 1 + 2], 24 comme avant pour obtenir la première généralisation sur la valeur du sde dans SO3 , même si les matrices obtenues dans l’image du groupe ne font √ jamais in√ 1 2 tervenir 2 4 et tiendrait en fait dans l’anneau plus petit B = Z[ 2+ ], car il 2 fallait être capable d’avoir un sde pour pouvoir faire une récurrence, et tout le 1 travail avec le sde en base 2 4 avait été fait. Le raisonnement commençait de la même façon : on cherche à analyser la forme des vecteurs normés en écrivant les éléments d’un vecteur sous une forme √ √ √ √ u0 +u1 2+(u2 +u3 2) 1+ 2 normale (ici u = ), puis à regarder les informations que n 4 2 1 nous donne la condition que le vecteur est normé. Cependant, le fait que 2 4 soit un élément intrus, en quelque sorte, dans l’anneau, rend l’analyse compliquée et difficile à terminer. J’ai donc cherché à simplifier l’analyse, et j’ai trouvé que l’on pouvait en fait 1 se passer de ce 2 4 . Cette valeur est apparue quand pon a√cherché à compenser, √ lorsque l’on utilisait le sde en base 2, que sde(( 2 + 2)2 ) = 1 malgré que p √ 1 sde( 2 + 2) = 0, pour ensuite passer à un sde plus fin en base 2 4 qui donnait 14 p √ alors un sde 1pà 2 + 2. On pouvait, en fait, dès le début, changer la base du √ √ parasite. sde de 2 à 2 + 2 et ainsi sans introduire pde valeur √ Ainsi, on se place cette fois dans A = Z[ 2 + 2] et B = A[ √ 1 √ ]. Pour 2+ 2 avoir des notations plus simples et plus en accord avec on va utiliser p l’algèbre, √ le fait que A ∼ = Z[X]/(X 4 − 4X 2 + 2) et noter X = 2 + 2. On écrit alors les éléments de A sous la forme x = a + bX + cX 2 + dX 3 (car 1, X, X 2 , X 3 forment un ensemble générateur de A), et les éléments de B sous 2 3 √ √ +dX la forme a+bX+cX . n 2+ 2 u1 On prend alors un vecteur u = u2 normé dans B et de sde n, en u3 supposant que cette valeur est atteinte pour u1 et que sde(u1 ) ≥ sde(u2 ) ≥ sde(u3 ), et on écrit X n ui = ai + bi X + ci X 2 + di X 3 avec ai , bi , ci , di ∈ Z. Le fait que le vecteur u soit normé nous donne l’équation suivante : (a1 +b1 X+c1 X 2 +d1 X 3 )2 +(a2 +b2 X+c2 X 2 +d2 X 3 )2 +(a3 +b3 X+c3 X 2 +d3 X 3 )2 = X 2n On va alors supposer que n ≥ 4. En prenant l’équation modulo 4 et en projetant sur la base 1, X, X 2 , X 3 , on obtient les quatre équations suivantes : X a2i + 2c2i = 0 (mod 4) (Pour 1) (7) i∈{1,2,3} X 2ai bi = 0 (mod 4) (Pour X) (8) (mod 4) (Pour X 2 ) (9) (mod 4) (Pour X 3 ) (10) i∈{1,2,3} X b2i + 2d2i + 2ai ci = 0 i∈{1,2,3} X 2ai di + 2bi ci = 0 i∈{1,2,3} On va faire quelques déductions sur ces équations : — En regardant (7) modulo 2, on obtient : a1 + a2 + a3 = 0 (mod 2). Vu que l’on sait que a1 = 1 (mod 2) (car X n u1 a un sde de 0), on a que exactement un autre ai satisfait ai = 1 (mod 2). Et vu que ai = 1 signifie que ui a pour sde n, ce doit être u2 car sde(u1 ) ≥ sde(u2 ) ≥ sde(u3 ). Donc sde(u1 ) = sde(u2 ) — En regardant (8) modulo 4, et en utilisant le fait que a1 = a2 = 1−a3 = 1 (mod 2), on a que 2b1 + 2b2 = 0 (mod 4) donc que b1 + b2 = 0 (mod 2) — En regardant (9) modulo 2, on obtient que b21 + b22 + b23 = b1 + b2 + b3 = b3 = 0 (mod 2), donc b3 = 0 (mod 2) — Donc, vu que a3 = b3 = 0 (mod 2), on a que sde(u3 ) ≤ sde(u1 ) − 2. Comme on peut le voir, on obtient déjà beaucoup de renseignements juste en analysant cette équation. Mais ce que l’on aimerait montrer, afin de montrer que toute matrice de SO3 peut se décomposer, c’est que si on a une matrice de sde assez grand, on peut le réduire. On montre déjà cela pour un vecteur en prouvant que si un vecteur a un sde ≥ 4, il est possible de réduire son sde en cP . appliquant une puissance d’une porte R cz sur le vecteur Regardons d’abord quelle est l’action d’une puissance de R u et son écriture dans la base. 15 1 −X 2 + 3 0 cz = 13 X 2 − 3 1 0 = X13 R˜z . Déjà, on remarque que R X 0 0 X3 Cette matrice change uniquement les deux premiers coefficients du vecteurs. De cz réduit le sde de u de au moins 1 est équivalent à montrer plus, montrer que R ˜ que Rz réduit le sde de u de au moins 4, donc que 2 divise X n u (que l’on a écrit dans une base car dans A). Ainsi, on peut se contenter de travailler modulo 2. cz ne change pas le troisième coefficient, on peut ne considérer que R˜z 0 Vu que R 0 qui est la sous-matrice 2x2 de R˜z qui agit sur les deux premiers coefficients. Ainsi : 0 a1 + b1 X + c1 X 2 + d1 X 3 R˜z (11) a2 + b2 X + c2 X 2 + d2 X 3 (a1 + a2 ) + (b1 + b2 )X + (c1 + c2 + a2 )X 2 + (d1 + d2 + b2 )X 3 = (mod 2) (a1 + a2 ) + (b1 + b2 )X + (c1 + c2 + a1 )X 2 + (d1 + d2 + b1 )X 3 (12) cz réduit le sde, il suffit de montrer que tous ces Pour prouver qu’appliquer R 8 coefficients sont nuls modulo 2. cz réduira dans tous les cas le sde. Il Cependant, il est faux qu’appliquer R 2 cz parfois. De la même manière, on a que est nécessaire d’appliquer R 0 a2 + b1 X + c1 X 2 + d1 X 3 R˜z2 a2 + b2 X + c2 X 2 + d2 X 3 (a1 + a2 ) + (b1 + b2 )X + (c1 + c2 )X 2 + (d1 + d2 )X 3 = (a1 + a2 ) + (b1 + b2 )X + (c1 + c2 )X 2 + (d1 + d2 )X 3 (13) (mod 2) (14) Cette analyse nous permet de ne pas chercher des informations à l’aveugle dans les équations modulaires que nous possédons. On a simplement à montrer 0 0 que soit les coefficients produits par R˜z , soit ceux produits par R˜z2 sont pairs, et cela montrera que l’on pourra toujours réduire le sde. cz car on a supposé sans perte de généralité Ici, on utilise que la matrice R que sde(u1 ) ≥ sde(u2 ) ≥ sde(u3 ), ce qui n’est pas toujours vrai. On en arrive donc à devoir prouver une assertion logique qui stipule que l’un des deux cas ci-dessus se produira toujours : a1 + a2 = 0 (mod 2) ∧ b1 + b2 = 0 ∧((c1 + c2 + a2 = 0 ∨(c1 + c2 = 0 (mod 2) (mod 2) ∧ d1 + d2 + b2 = 0 (mod 2) ∧ d1 + d2 = 0 (mod 2))) (15) (mod 2)) (16) (17) On a montré dans la première partie que a1 +a2 = 0 (mod 2) et que b1 +b2 = 0 (mod 2). Pour montrer que la deuxième partie de la disjonction est vérifiée, faisons une disjonction sur c3 . On a en effet, en regardant (7) divisé par 2 que 1 + c1 + c2 + c3 = 0 (mod 2). — Si c3 = 0 (mod 2), alors c1 6= c2 (mod 2). En regardant (10) divisé par 2, on obtient d1 + d2 + b1 c1 + b2 c2 = d1 + d2 + b2 (c1 + c2 ) = d1 + d2 + b2 0 cz (mod 2), ce qui remplit la première clause du OU : appliquer la porte R diminue le sde 16 — Si c3 = 1 (mod 2), alors on a c1 + c2 = 0 (mod 2) et donc b1 c1 + b2 c2 = 0 (mod 2), donc toujours avec (10) divisé par 2, on obtient d1 + d2 = 0 2 cz (mod 2), donc on réduit le sde en appliquant R cz , Ainsi, lorsque n ≥ 4, on est capable de réduire le sde en appliquant soit R 2 cz . On montre à la main que l’on est capable de gérer les vecteurs de soit R sde ≤ 3. On sait donc complètement gérer les vecteurs. Reste la matrice entière. Comme précédemment, on retrouve un lemme de forme de sde de la matrice qui est alors : s s s1 s s s1 s2 s2 s3 Il suffit de montrer que l’on est capable de réduire de façon synchronisée le sde pour les deux premières colonnes. Or, ce qui décide si l’on doit appliquer 2 cz , ou R cz pour diminuer le sde du vecteur, c’est la valeur de c3 , c’est-à-dire le R sde du dernier coefficient. Or, on voit d’après la forme du sde dans la matrice, que le sde de la troisième ligne des deux premières colonnes est le même. Ainsi, on arrive à réduire le sde des matrices dont le sde est assez grand, et on montre que l’on sait gérer les matrices de petit sde, ce qui termine la preuve de caractérisation. On s’est alors demandé si cette propriété de caractérisation fonctionnait pour π . C’est pour cela que l’on a essayé de voir un θ qui n’était pas de la forme 2k+1 si l’on avait une propriété de caractérisation pour θ = π6 . √ Dans cette situation, on utilise A = Z[ 3], B = A[ 21 ] et le sde en base 2 cette fois pour faire le même type de raisonnement et parvenir à une caractérisation pour cet angle aussi. Nous avons alors gagné confiance dans le fait que cette propriété de caractérisation est vraie dans le cas général (c’est-à-dire θ = pπ q ). Cependant, nous n’avons toujours pas trouvé de méthode qui arrive à se passer de l’analyse des équations modulaires à la main pour en faire sortir les propriétés nécessaires sur les coefficients. Cette question reste donc ouverte. 6 Généralisation de l’approximation aux nouveaux ensembles de portes Vu que l’on était parfois bloqué sur les propriétés de décomposition, on a aussi cherché à analyser l’autre problème induit par ces nouveaux ensembles de portes, qui est : comment approximer une matrice quelconque de U2 par une matrice dans le groupe G. Il ne sert à rien en effet de savoir décomposer les matrices présentes sur certains anneaux si l’on n’est pas capable d’approximer par l’intermédiaire de ces matrices. On sait déjà par l’intermédiaire du théorème de Solovay-Kitaev qu’une approximation est possible, mais on n’a pas d’algorithme efficace qui permette de trouver cette décomposition. De plus, la décomposition donnée par le théorème de Solovay-Kitaev, qui est général, s’avère sous-optimale. En effet, la longueur de la séquence de décomposition, avec le théorème de Solovay-Kitaev, est de O(log3.97 ( 1 )), avec la précision voulue. 17 Selinger, de son côté, dans le cas particulier des portes T+Clifford, a montré dans [3] qu’il existait un algorithme d’approximation permettant d’obtenir des séquences de décomposition de longueur O(log( 1 )). Pour montrer sa propriété, Selinger ! se ramène à un cas particulier : approxi−i θ2 e 0 mer la porte Rz (θ) = . Travaillant avec les portes T+Clifford, θ 0 ei 2 √ θ il choisit un k et u ∈ Z[ 2, i] tels que √u k ≈ e−i 2 . 2 √ Pour obtenir une approximation complète, il suffit de trouver t ∈ Z[ 2, i] u −t̄ tel que tt̄ + uū = 2k . En effet, on vérifie qu’alors U = √1 k est une 2 t ū matrice unitaire qui, par construction, approxime bien Rz (θ) En posant ξ =√2k − uū, on se ramène√à résoudre les équations de la forme tt̄ = ξ, avec t ∈ Z[ 2, i] inconnu et ξ ∈ Z[ 2] fixé. Seulement voilà, cette équation n’a pas tout le temps des solutions. Selinger donne des conditions pour lesquelles cette équation possède des solutions et donne un algorithme pour trouver avec grande probabilité (si une conjecture introduite est vraie) des valeurs pour u et k qui produisent des ξ qui permettent de trouver des solutions. Les démonstrations sont assez lourdes et restent assez obscures pour les noninitiés à la théorie des nombres et à l’arithmétique. Ayant le devoir d’essayer de généraliser ses résultats, la seule chose que j’ai pu faire a été de suivre les étapes de sa démonstration et de les adapter à l’ensemble de matrices traitées. Mais mon travail s’est soldé par deux échecs. Déjà, j’ai essayé d’appliquer sa démonstration avec le groupe T π8 +Clifford, mais ce cas-ci faisait trop dévier la démonstration, vu √ √ que les anneaux engendrés étaient beaucoup moins simples que Z[ 2] et Z[ 2, i]. David me conseilla alors d’essayer de généraliser ses résultats pour le groupe T π6 , où les anneaux engendrés sont déjà plus sympathiques. Et j’ai pu réécrire la preuve dans ce cas presque jusqu’à la fin. Cependant, une incompatibilité fondamentale apparaı̂t au bout rendant cette démonstration inadaptée. Et comme mes compétences en théorie des nombres étaient limitées, je n’ai pas réussi à corriger ce qui ne fonctionnait pas. David, le mathématicien, essaye en ce moment de trouver une méthode plus simple pour montrer cette propriété d’approximation. 7 Preuve de caractérisation dans U2 pour T 16π +Clifford Pour finir, j’ai dû montrer la propriété de caractérisation pour l’ensemble π +Clifford, qui, d’après Vadym, pouvait être très utile pour un projet sur T 16 lequel il travaillait à Microsoft. L’algorithme de caractérisation pour T π8 pouvait π . Seulement, sa complexité en O(u2 log(u)) presque être repris tel quel pour T 16 k avec u = 42 pour θk = 2πk , le rendait trop long pour tourner sur un seul processeur pour k = 4. J’ai donc dans un premier temps essayé de le paralléliser. Puis, en relisant la méthode utilisée dans l’algorithme, je me suis rendu compte que l’on pouvait faire mieux. En effet, on essayait tous les coefficients possibles modulo 4, et on testait le π sde en passant par la valeur absolue au carrée (faisant passer de Z[ei 8 , √12 ] à √ p √ p √ Z[ 2, 2 + 2, 2 − 2]). Cependant, rien n’empêche de définir le sde direc- 18 π tement dans Z[ei 8 , √12 ]. Même si cela est légèrement plus compliqué à définir au début, cela simplifie beaucoup de choses, notamment déterminer le sde d’un nombre. De plus, on parvient à montrer qu’il est suffisant de regarder les coefficients modulo 2 (et que cela était même vrai avant de changer la forme du sde). La caractérisation automatique dans U2 devient alors très efficace, et ouvre même la voie à des preuves mathématiques accessibles, car les structures qui apparaissent modulo 2 sont beaucoup plus simples que les structures qui appak raissent modulo 4. La complexité chute alors à O(u2 log u) avec u = 22 , ce qui rend le code exécutable sur mon ordinateur, sans besoin de grandes puissances de calcul. Cependant, le verdict de l’ordinateur est une surprise. Il existe des matrices π +Clifford dont le sde ne peut pas être réduit, contrede U2 dans le groupe T 16 disant la conjecture qui était en train de se former. Il faut encore que je vérifie en détail mon code. Je n’ai juste, en guise de garantie, que le fait que le code modifié confirme toujours que la propriété est vraie pour T π8 +Clifford. 8 Conclusion Mon stage a permis de mieux comprendre la théorie derrière la décomposition de matrices de U2 (et de SO3 du coup) dans des situations qui seront utiles à l’informatique quantique. Déjà, le lien entre longueur de la décomposition des portes et sde des matrices dans SO3 est mieux compris : des formules relient directement cette valeur aux qi RP présentes dans la décomposition. i Aussi, les travaux de caractérisation que j’ai effectués ont permis de mettre en évidence de nouveaux ensembles autres que T +Clifford permettant de générer les portes quantiques de façon efficace et avec des propriétés de caractérisation assez pratiques : T π8 +Clifford et T π6 +Clifford. Si l’on arrivait à trouver des méthodes d’approximation, cela conduirait à ces ensembles à rejoindre le club très fermés des ensembles de portes denses dans U2 ayant les trois propriétés principales que l’on attend d’eux : caractérisation + algorithme de décomposition + algorithme d’approximation. De plus, les échanges avec David McKinnon ont permis à David, Vadym et moi de mieux apprécier les théories mathématiques en action sur ce genre de problème. En effet, le domaine de compilation quantique étant assez jeune, relativement peu de personnes sont au courant des propriétés mathématiques que nous avons utilisées pour les démonstrations. L’écriture d’un article rassemblant les travaux effectués avec des démonstrations retravaillées et épurées va permettre de diffuser ces idées. Références [1] David Gosset, Vadym Kliuchnikov, Michele Mosca, and Vincent Russo. An algorithm for the t-count. arXiv preprint arXiv :1308.4134, 2013. 19 [2] Vadym Kliuchnikov, Dmitri Maslov, and Michele Mosca. Fast and efficient exact synthesis of single-qubit unitaries generated by clifford and t gates. Quantum Information & Computation, 13(7-8) :607–630, 2013. [3] Peter Selinger. Efficient clifford+ t approximation of single-qubit operators. arXiv preprint arXiv :1212.6253, 2012. 20