Rapport de stage de M1

publicité
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 sdem − 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. Lesmatrices 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
Téléchargement