Aller au contenu principal

Procédure d'estimation de phase

Nous allons maintenant aborder la procédure d'estimation de phase, qui est un algorithme quantique permettant de résoudre le problème d'estimation de phase.

Nous commencerons par un échauffement à faible précision, qui illustre l'intuition de base derrière cette méthode. Nous parlerons ensuite de la transformée de Fourier quantique, une opération quantique importante utilisée dans la procédure d'estimation de phase, ainsi que de son implémentation sous forme de Circuit quantique. Une fois la transformée de Fourier quantique en main, nous décrirons la procédure d'estimation de phase dans toute sa généralité et analyserons ses performances.

Échauffement : approximer les phases à faible précision

Nous commencerons par quelques versions simples de la procédure d'estimation de phase qui fournissent des solutions à faible précision au problème d'estimation de phase. C'est utile pour expliquer l'intuition derrière la procédure générale que nous verrons un peu plus loin dans la leçon.

Utiliser le retour de phase

Une approche simple du problème d'estimation de phase, qui nous permet d'apprendre quelque chose sur la valeur θ\theta que nous cherchons, est basée sur le phénomène de retour de phase (phase kick-back). Comme nous allons le voir, c'est essentiellement une version à un seul qubit de la procédure générale d'estimation de phase qui sera discutée plus loin dans la leçon.

En tant qu'entrée du problème d'estimation de phase, nous disposons d'un circuit quantique unitaire pour l'opération U.U. Nous pouvons utiliser la description de ce circuit pour créer un circuit pour une opération contrôlée-UU, qui peut être représentée comme le suggère cette figure (avec l'opération U,U, vue comme une porte quantique, à gauche et une opération contrôlée-UU à droite).

Versions non contrôlée et contrôlée d'une opération unitaire

Nous pouvons créer un circuit quantique pour une opération contrôlée-UU en ajoutant d'abord un qubit de contrôle au circuit pour U,U, puis en remplaçant chaque porte du circuit pour UU par une version contrôlée de cette porte — ainsi, notre nouveau qubit de contrôle contrôle effectivement chaque porte du circuit pour U.U. Cela nécessite que nous disposions d'une version contrôlée de chaque porte de notre circuit, mais nous pouvons toujours construire des circuits pour ces opérations contrôlées au cas où elles ne seraient pas incluses dans notre ensemble de portes.

Considère maintenant le circuit suivant, où l'état d'entrée ψ\vert\psi\rangle de tous les qubits sauf le premier en haut est le vecteur propre d'état quantique de U.U.

Un circuit à un qubit pour l'estimation de phase

Les probabilités de résultats de mesure pour ce circuit dépendent de la valeur propre de UU correspondant au vecteur propre ψ.\vert\psi\rangle. Analysons le circuit en détail pour déterminer exactement comment.

États d'un circuit à un qubit pour l'estimation de phase

L'état initial du circuit est

π0=ψ0\vert\pi_0\rangle = \vert\psi\rangle \vert 0\rangle

et la première porte de Hadamard transforme cet état en

π1=ψ+=12ψ0+12ψ1.\vert\pi_1\rangle = \vert\psi\rangle \vert +\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 1\rangle.

Ensuite, l'opération contrôlée-UU est effectuée, ce qui donne l'état

π2=12ψ0+12(Uψ)1.\vert\pi_2\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{1}{\sqrt{2}} \bigl(U \vert\psi\rangle\bigr) \vert 1\rangle.

En utilisant l'hypothèse que ψ\vert\psi\rangle est un vecteur propre de UU ayant la valeur propre λ=e2πiθ,\lambda = e^{2\pi i\theta}, nous pouvons exprimer cet état autrement comme suit.

π2=12ψ0+e2πiθ2ψ1=ψ(120+e2πiθ21)\vert\pi_2\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert\psi\rangle \vert 1\rangle = \vert\psi\rangle \otimes \left( \frac{1}{\sqrt{2}} \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert 1\rangle\right)

Nous observons ici le phénomène de retour de phase. Il est légèrement différent cette fois de ce qu'il était pour l'algorithme de Deutsch et l'algorithme de Deutsch-Jozsa, car nous ne travaillons pas avec une porte d'interrogation — mais l'idée est similaire.

Enfin, la deuxième porte de Hadamard est appliquée. Après quelques simplifications, nous obtenons cette expression pour cet état.

π3=ψ(1+e2πiθ20+1e2πiθ21)\vert\pi_3\rangle = \vert\psi\rangle \otimes \left( \frac{1+ e^{2\pi i \theta}}{2} \vert 0\rangle + \frac{1 - e^{2\pi i \theta}}{2} \vert 1\rangle\right)

La mesure produit donc les résultats 00 et 11 avec ces probabilités :

p0=1+e2πiθ22=cos2(πθ)p1=1e2πiθ22=sin2(πθ).\begin{aligned} p_0 &= \left\vert \frac{1+ e^{2\pi i \theta}}{2} \right\vert^2 = \cos^2(\pi\theta)\\[1mm] p_1 &= \left\vert \frac{1- e^{2\pi i \theta}}{2} \right\vert^2 = \sin^2(\pi\theta). \end{aligned}

Voici un graphique des probabilités pour les deux résultats possibles, 00 et 1,1, en fonction de θ.\theta.

Probabilités de résultats du retour de phase

Naturellement, les deux probabilités s'additionnent toujours à 1.1. Remarque que lorsque θ=0,\theta = 0, le résultat de la mesure est toujours 0,0, et lorsque θ=1/2,\theta = 1/2, le résultat de la mesure est toujours 1.1. Ainsi, bien que le résultat de la mesure ne révèle pas exactement ce qu'est θ,\theta, il nous fournit quand même des informations à son sujet — et si on nous promettait que soit θ=0\theta = 0 soit θ=1/2,\theta = 1/2, on pourrait apprendre du circuit lequel est correct sans erreur.

De manière intuitive, on peut considérer le résultat de la mesure du circuit comme une estimation de θ\theta à « un bit de précision ». Autrement dit, si on écrivait θ\theta en notation binaire et qu'on l'arrondissait à un bit, on obtiendrait un nombre comme celui-ci :

0.a={0a=012a=1.0.a = \begin{cases} 0 & a = 0\\ \frac{1}{2} & a = 1. \end{cases}

Le résultat de la mesure peut être vu comme une estimation du bit a.a. Lorsque θ\theta n'est ni 00 ni 1/2,1/2, il y a une probabilité non nulle que l'estimation soit incorrecte — mais la probabilité de faire une erreur devient de plus en plus petite à mesure qu'on se rapproche de 00 ou de 1/2.1/2.

Il est naturel de se demander quel rôle jouent les deux portes de Hadamard dans cette procédure :

  • La première porte de Hadamard met le qubit de contrôle dans une superposition uniforme de 0\vert 0\rangle et 1,\vert 1\rangle, de sorte que lorsque le retour de phase se produit, il se produit pour l'état 1\vert 1\rangle et non pour l'état 0\vert 0\rangle, créant une différence de phase relative qui affecte les résultats de mesure. Si on ne faisait pas cela et que le retour de phase produisait une phase globale, cela n'aurait aucun effet sur les probabilités d'obtenir différents résultats de mesure.

  • La deuxième porte de Hadamard nous permet d'apprendre quelque chose sur le nombre θ\theta grâce au phénomène d'interférence. Avant la deuxième porte de Hadamard, l'état du qubit du haut est

    120+e2πiθ21,\frac{1}{\sqrt{2}} \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert 1\rangle,

    et si on mesurait cet état, on obtiendrait 00 et 11 chacun avec probabilité 1/2,1/2, sans rien apprendre sur θ.\theta. En appliquant la deuxième porte de Hadamard, cependant, on fait en sorte que le nombre θ\theta affecte les probabilités de sortie.

Doubler la phase

Le circuit ci-dessus utilise le phénomène de retour de phase pour approximer θ\theta à un seul bit de précision. Un bit de précision peut suffire dans certaines situations — mais pour la factorisation, nous aurons besoin d'une précision bien plus grande. Une question naturelle est : comment peut-on en apprendre davantage sur θ\theta ?

Une chose très simple que l'on peut faire est de remplacer l'opération contrôlée-UU dans notre circuit par deux copies de cette opération, comme dans ce circuit :

Estimation de phase à un bit doublée

Deux copies d'une opération contrôlée-UU sont équivalentes à une opération contrôlée-U2U^2. Si ψ\vert\psi\rangle est un vecteur propre de UU ayant la valeur propre λ=e2πiθ,\lambda = e^{2\pi i \theta}, alors cet état est aussi un vecteur propre de U2,U^2, cette fois avec la valeur propre λ2=e2πi(2θ).\lambda^2 = e^{2\pi i (2\theta)}.

Ainsi, si on exécute cette version du circuit, on effectue en fait le même calcul qu'auparavant, sauf que le nombre θ\theta est remplacé par 2θ.2\theta. Voici un graphique illustrant les probabilités de sortie lorsque θ\theta varie de 00 à 1.1.

Probabilités de résultats du retour de phase doublé

Faire cela peut effectivement nous fournir des informations supplémentaires sur θ.\theta. Si la représentation binaire de θ\theta est

θ=0.a1a2a3\theta = 0.a_1 a_2 a_3\cdots

alors doubler θ\theta décale effectivement le point binaire d'une position vers la droite :

2θ=a1.a2a32\theta = a_1. a_2 a_3\cdots

Et parce que nous assimilons θ=1\theta = 1 à θ=0\theta = 0 lorsque nous parcourons le cercle unité, nous voyons que le bit a1a_1 n'a aucune influence sur nos probabilités, et nous obtenons en fait une estimation pour le deuxième bit après le point binaire si on arrondit θ\theta à deux bits. Par exemple, si on savait à l'avance que θ\theta était soit 00 soit 1/4,1/4, on pourrait faire entièrement confiance au résultat de la mesure pour nous dire lequel c'est.

Il n'est cependant pas immédiatement évident comment cette estimation devrait être réconciliée avec ce que nous avons appris du circuit de retour de phase original (non doublé) pour nous donner les informations les plus précises possibles sur θ.\theta. Faisons donc un pas en arrière et réfléchissons à la marche à suivre.

Estimation de phase à deux qubits

Plutôt que de considérer séparément les deux options décrites ci-dessus, combinons-les en un seul circuit comme ceci.

La configuration initiale pour l'estimation de phase avec deux qubits

Les portes de Hadamard après les opérations contrôlées ont été supprimées et il n'y a pas encore de mesures ici. Nous ajouterons davantage au circuit au fil de nos réflexions sur la façon d'apprendre le plus possible sur θ.\theta.

Si on exécute ce circuit lorsque ψ\vert\psi\rangle est un vecteur propre de U,U, l'état des qubits du bas restera ψ\vert\psi\rangle tout au long du circuit, et les phases seront « renvoyées » dans l'état des deux qubits du haut. Analysons le circuit avec soin, à l'aide de la figure suivante.

États pour l'estimation de phase avec deux qubits

Nous pouvons écrire l'état π1\vert\pi_1\rangle comme ceci :

π1=ψ12a0=01a1=01a1a0.\vert\pi_1\rangle = \vert \psi\rangle \otimes \frac{1}{2} \sum_{a_0 = 0}^1 \sum_{a_1 = 0}^1 \vert a_1 a_0 \rangle.

Lorsque la première opération contrôlée-UU est effectuée, la valeur propre λ=e2πiθ\lambda = e^{2\pi i\theta} est renvoyée dans la phase lorsque a0a_0 (le qubit du haut) est égal à 1,1, mais pas lorsqu'il vaut 0.0. Ainsi, nous pouvons exprimer l'état résultant comme ceci :

π2=ψ12a0=01a1=01e2πia0θa1a0.\vert\pi_2\rangle = \vert\psi\rangle \otimes \frac{1}{2} \sum_{a_0=0}^1 \sum_{a_1=0}^1 e^{2 \pi i a_0 \theta} \vert a_1 a_0 \rangle.

Les deuxième et troisième portes contrôlées-UU font quelque chose de similaire, sauf pour a1a_1 plutôt que a0,a_0, et avec θ\theta remplacé par 2θ.2\theta. Nous pouvons exprimer l'état résultant comme ceci :

π3=ψ12a0=01a1=01e2πi(2a1+a0)θa1a0.\vert\pi_3\rangle = \vert\psi\rangle\otimes\frac{1}{2}\sum_{a_0 = 0}^1 \sum_{a_1 = 0}^1 e^{2\pi i (2 a_1 + a_0)\theta} \vert a_1 a_0 \rangle.

Si on considère la chaîne binaire a1a0a_1 a_0 comme représentant un entier x{0,1,2,3}x \in \{0,1,2,3\} en notation binaire, soit x=2a1+a0,x = 2 a_1 + a_0, on peut exprimer cet état autrement comme suit.

π3=ψ12x=03e2πixθx\vert\pi_3\rangle = \vert \psi\rangle \otimes \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i x \theta} \vert x \rangle

Notre objectif est d'extraire le plus d'informations possible sur θ\theta à partir de cet état.

À ce stade, nous allons considérer un cas particulier, où l'on nous promet que θ=y4\theta = \frac{y}{4} pour un certain entier y{0,1,2,3}.y\in\{0,1,2,3\}. En d'autres termes, nous avons θ{0,1/4,1/2,3/4},\theta\in \{0, 1/4, 1/2, 3/4\}, de sorte que nous pouvons exprimer ce nombre exactement en notation binaire avec deux bits, comme .00,00, .01,01, .10,10, ou .11.11. En général, θ\theta pourrait ne pas être l'une de ces quatre valeurs, mais réfléchir à ce cas particulier nous aidera à comprendre comment extraire le plus efficacement possible des informations sur θ\theta en général.

Nous allons d'abord définir un vecteur d'état à deux qubits pour chaque valeur possible y{0,1,2,3}.y \in \{0, 1, 2, 3\}.

ϕy=12x=03e2πix(y4)x=12x=03e2πixy4x\vert \phi_y\rangle = \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i x (\frac{y}{4})} \vert x \rangle = \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i \frac{x y}{4}} \vert x \rangle

Après simplification des exponentielles, nous pouvons écrire ces vecteurs comme suit.

ϕ0=120+121+122+123ϕ1=120+i21122i23ϕ2=120121+122123ϕ3=120i21122+i23\begin{aligned} \vert\phi_0\rangle & = \frac{1}{2} \vert 0 \rangle + \frac{1}{2} \vert 1 \rangle + \frac{1}{2} \vert 2 \rangle + \frac{1}{2} \vert 3 \rangle \\[3mm] \vert\phi_1\rangle & = \frac{1}{2} \vert 0 \rangle + \frac{i}{2} \vert 1 \rangle - \frac{1}{2} \vert 2 \rangle - \frac{i}{2} \vert 3 \rangle \\[3mm] \vert\phi_2\rangle & = \frac{1}{2} \vert 0 \rangle - \frac{1}{2} \vert 1 \rangle + \frac{1}{2} \vert 2 \rangle - \frac{1}{2} \vert 3 \rangle \\[3mm] \vert\phi_3\rangle & = \frac{1}{2} \vert 0 \rangle - \frac{i}{2} \vert 1 \rangle - \frac{1}{2} \vert 2 \rangle + \frac{i}{2} \vert 3 \rangle \end{aligned}

Ces vecteurs sont orthogonaux : si on choisit n'importe quelle paire d'entre eux et qu'on calcule leur produit scalaire, on obtient 0.0. Chacun est aussi un vecteur unitaire, donc {ϕ0,ϕ1,ϕ2,ϕ3}\{\vert\phi_0\rangle, \vert\phi_1\rangle, \vert\phi_2\rangle, \vert\phi_3\rangle\} est une base orthonormée. Nous savons donc immédiatement qu'il existe une mesure capable de les discriminer parfaitement — ce qui signifie que, si on nous en donne un sans nous dire lequel, on peut déterminer lequel c'est sans erreur.

Pour effectuer une telle discrimination avec un circuit quantique, nous pouvons d'abord définir une opération unitaire VV qui transforme les états de la base standard en les quatre états listés ci-dessus.

V00=ϕ0V01=ϕ1V10=ϕ2V11=ϕ3\begin{aligned} V \vert 00 \rangle & = \vert\phi_0\rangle \\ V \vert 01 \rangle & = \vert\phi_1\rangle \\ V \vert 10 \rangle & = \vert\phi_2\rangle \\ V \vert 11 \rangle & = \vert\phi_3\rangle \end{aligned}

Pour écrire VV sous forme de matrice 4×44\times 4, il suffit de prendre les colonnes de VV comme étant les états ϕ0,,ϕ3.\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle.

V=12(11111i1i11111i1i)V = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix}

Il s'agit d'une matrice spéciale, et il est probable que certains lecteurs l'aient déjà rencontrée : c'est la matrice associée à la transformée de Fourier discrète à 44 dimensions. En tenant compte de ce fait, appelons-la QFT4\mathrm{QFT}_4 plutôt que V.V. Le nom QFT\mathrm{QFT} est l'abréviation de transformée de Fourier quantique — qui est essentiellement la transformée de Fourier discrète, vue comme une opération unitaire. Nous discuterons de la transformée de Fourier quantique de manière plus détaillée et générale sous peu.

QFT4=12(11111i1i11111i1i)\mathrm{QFT}_4 = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix}

Nous pouvons effectuer l'inverse de cette opération pour aller dans l'autre sens, afin de transformer les états ϕ0,,ϕ3\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle en états de la base standard 0,,3.\vert 0\rangle,\ldots,\vert 3\rangle. Si on fait cela, on peut mesurer pour apprendre quelle valeur y{0,1,2,3}y\in\{0,1,2,3\} décrit θ\theta via θ=y/4.\theta = y/4. Voici un diagramme d'un circuit quantique qui fait cela.

Estimation de phase avec deux qubits

En résumé, si on exécute ce circuit lorsque θ=y/4\theta = y/4 pour y{0,1,2,3},y\in\{0,1,2,3\}, l'état immédiatement avant les mesures sera ψy\vert \psi\rangle \vert y\rangle (pour yy encodé comme une chaîne binaire à deux bits), de sorte que les mesures révéleront la valeur yy sans erreur.

Ce circuit est motivé par le cas particulier où θ{0,1/4,1/2,3/4}\theta \in \{0,1/4,1/2,3/4\} — mais on peut l'exécuter pour n'importe quel choix de UU et ψ,\vert \psi\rangle, et donc n'importe quelle valeur de θ,\theta, que l'on souhaite. Voici un graphique des probabilités de sortie que le circuit produit pour des choix arbitraires de θ.\theta.

Probabilités de résultats de l'estimation de phase à deux qubits

C'est une nette amélioration par rapport à la variante à un seul qubit décrite précédemment dans la leçon. Ce n'est pas parfait — cela peut donner une mauvaise réponse — mais la réponse est fortement orientée vers les valeurs de yy pour lesquelles y/4y/4 est proche de θ.\theta. En particulier, le résultat le plus probable correspond toujours à la valeur de y/4y/4 la plus proche de θ\theta (en assimilant θ=0\theta = 0 et θ=1\theta = 1 comme précédemment), et d'après le graphique, il semble que cette valeur la plus proche pour xx apparaisse toujours avec une probabilité légèrement supérieure à 40%.40\%. Lorsque θ\theta se trouve exactement à mi-chemin entre deux telles valeurs, comme θ=0.375\theta = 0.375 par exemple, les deux valeurs de yy également proches sont également probables.

Se préparer à généraliser à plusieurs qubits

Étant donné l'amélioration que nous venons d'obtenir en utilisant deux qubits de contrôle plutôt qu'un, conjointement avec l'inverse de la transformée de Fourier quantique à 44 dimensions, il est naturel d'envisager de le généraliser davantage — en ajoutant plus de qubits de contrôle. Lorsque nous faisons cela, nous obtenons la procédure d'estimation de phase générale. Nous verrons comment cela fonctionne sous peu, mais pour le décrire avec précision, nous allons devoir aborder la transformée de Fourier quantique de manière plus générale, pour voir comment elle est définie pour d'autres dimensions et comment nous pouvons l'implémenter (ou son inverse) avec un circuit quantique.

Transformée de Fourier quantique

La transformée de Fourier quantique est une opération unitaire qui peut être définie pour toute dimension entière positive N.N. Dans cette section, on va voir comment cette opération est définie et comment elle peut être implémentée avec un circuit quantique sur mm qubits à un coût O(m2)O(m^2) quand N=2m.N = 2^m.

Les matrices qui décrivent la transformée de Fourier quantique sont dérivées d'une opération analogue sur des vecteurs de dimension NN connue sous le nom de transformée de Fourier discrète. On peut penser à cette opération de différentes façons. Par exemple, on peut concevoir la transformée de Fourier discrète en termes purement abstraits et mathématiques, comme un mapping linéaire. Ou on peut y penser en termes calculatoires, où on dispose d'un vecteur de dimension NN de nombres complexes (en utilisant la notation binaire pour encoder les parties réelles et imaginaires des entrées, supposons) et le but est de calculer le vecteur de dimension NN obtenu en appliquant la transformée de Fourier discrète. Notre focus sera sur une troisième façon de voir les choses, à savoir considérer cette transformation comme une opération unitaire qui peut être effectuée sur un système quantique.

Il existe un algorithme efficace pour calculer la transformée de Fourier discrète sur un vecteur d'entrée donné, connu sous le nom de transformée de Fourier rapide. Elle a des applications en traitement du signal et dans de nombreux autres domaines, et est considérée par beaucoup comme l'un des algorithmes les plus importants jamais découverts. Il s'avère que l'implémentation de la transformée de Fourier quantique quand NN est une puissance de 2, que l'on va étudier, repose précisément sur la même structure sous-jacente qui rend la transformée de Fourier rapide possible.

Définition de la transformée de Fourier quantique

Pour définir la transformée de Fourier quantique, on va d'abord définir un nombre complexe ωN,\omega_N, pour chaque entier positif N,N, comme suit :

ωN=e2πiN=cos(2πN)+isin(2πN).\omega_N = e^{\frac{2\pi i}{N}} = \cos\left(\frac{2\pi}{N}\right) + i \sin\left(\frac{2\pi}{N}\right).

C'est le nombre sur le cercle unité complexe qu'on obtient en partant de 11 et en se déplaçant dans le sens antihoraire d'un angle de 2π/N2\pi/N radians, ou d'une fraction 1/N1/N de la circonférence du cercle. Voici quelques exemples :

ω1=1ω2=1ω3=12+32iω4=iω8=1+i2ω16=2+22+222iω1000.998+0.063i\begin{gathered} \omega_1 = 1\\[1mm] \omega_2 = -1\\[1mm] \omega_3 = -\frac{1}{2} + \frac{\sqrt{3}}{2} i\\[2mm] \omega_4 = i\\[1mm] \omega_8 = \frac{1+i}{\sqrt{2}}\\[3mm] \omega_{16} = \frac{\sqrt{2 + \sqrt{2}}}{2} + \frac{\sqrt{2 - \sqrt{2}}}{2} i\\[2mm] \omega_{100} \approx 0.998 + 0.063 i \end{gathered}

On peut maintenant définir la transformée de Fourier quantique de dimension N,N, décrite par une matrice N×NN\times N dont les lignes et les colonnes sont associées aux états de la base standard 0,,N1.\vert 0\rangle,\ldots,\vert N-1\rangle. On n'aura besoin de cette opération que lorsque N=2mN = 2^m est une puissance de 22 pour l'estimation de phase, mais l'opération peut être définie pour tout entier positif N.N.

QFTN=1Nx=0N1y=0N1ωNxyxy\mathrm{QFT}_N = \frac{1}{\sqrt{N}} \sum_{x = 0}^{N-1} \sum_{y = 0}^{N-1} \omega_N^{xy} \vert x \rangle\langle y\vert

Comme on l'a déjà mentionné, c'est la matrice associée à la transformée de Fourier discrète de dimension N.N. Souvent le facteur préfixe 1/N1/\sqrt{N} n'est pas inclus dans la définition de cette matrice, mais on doit l'inclure pour obtenir une matrice unitaire.

Voici la transformée de Fourier quantique, écrite comme une matrice, pour quelques petites valeurs de N.N.

QFT1=(1)\mathrm{QFT}_1 = \begin{pmatrix} 1 \end{pmatrix} QFT2=12(1111)\mathrm{QFT}_2 = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1\\[1mm] 1 & -1 \end{pmatrix} QFT3=13(11111+i321i3211i321+i32)\mathrm{QFT}_3 = \frac{1}{\sqrt{3}} \begin{pmatrix} 1 & 1 & 1\\[2mm] 1 & \frac{-1 + i\sqrt{3}}{2} & \frac{-1 - i\sqrt{3}}{2}\\[2mm] 1 & \frac{-1 - i\sqrt{3}}{2} & \frac{-1 + i\sqrt{3}}{2} \end{pmatrix} QFT4=12(11111i1i11111i1i)\mathrm{QFT}_4 = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix} QFT8=122(1111111111+i2i1+i211i2i1i21i1i1i1i11+i2i1+i211i2i1i21111111111i2i1i211+i2i1+i21i1i1i1i11i2i1i211+i2i1+i2)\mathrm{QFT}_8 = \frac{1}{2\sqrt{2}} \begin{pmatrix} 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\[2mm] 1 & \frac{1+i}{\sqrt{2}} & i & \frac{-1+i}{\sqrt{2}} & -1 & \frac{-1-i}{\sqrt{2}} & -i & \frac{1-i}{\sqrt{2}}\\[2mm] 1 & i & -1 & -i & 1 & i & -1 & -i\\[2mm] 1 & \frac{-1+i}{\sqrt{2}} & -i & \frac{1+i}{\sqrt{2}} & -1 & \frac{1-i}{\sqrt{2}} & i & \frac{-1-i}{\sqrt{2}}\\[2mm] 1 & -1 & 1 & -1 & 1 & -1 & 1 & -1\\[2mm] 1 & \frac{-1-i}{\sqrt{2}} & i & \frac{1-i}{\sqrt{2}} & -1 & \frac{1+i}{\sqrt{2}} & -i & \frac{-1+i}{\sqrt{2}}\\[2mm] 1 & -i & -1 & i & 1 & -i & -1 & i\\[2mm] 1 & \frac{1-i}{\sqrt{2}} & -i & \frac{-1-i}{\sqrt{2}} & -1 & \frac{-1+i}{\sqrt{2}} & i & \frac{1+i}{\sqrt{2}}\\[2mm] \end{pmatrix}

Remarque : QFT2\mathrm{QFT}_2 est un autre nom pour l'opération de Hadamard.

Unitarité

Vérifions que QFTN\mathrm{QFT}_N est unitaire, pour tout choix de N.N. Une façon de le faire est de montrer que ses colonnes forment une base orthonormale. On peut définir un vecteur correspondant à la colonne numéro y,y, en commençant à y=0y = 0 jusqu'à y=N1,y = N-1, comme ceci :

ϕy=1Nx=0N1ωNxyx.\vert\phi_y\rangle = \frac{1}{\sqrt{N}} \sum_{x = 0}^{N-1} \omega_N^{xy} \vert x \rangle.

Le produit scalaire entre deux quelconques de ces vecteurs nous donne l'expression suivante :

ϕzϕy=1Nx=0N1ωNx(yz)\langle \phi_z \vert \phi_y \rangle = \frac{1}{N} \sum_{x = 0}^{N-1} \omega_N^{x (y - z)}

On peut évaluer des sommes de ce type en utilisant la formule suivante pour la somme des NN premiers termes d'une série géométrique.

1+α+α2++αN1={αN1α1si α1Nsi α=11 + \alpha + \alpha^2 + \cdots + \alpha^{N-1} = \begin{cases} \frac{\alpha^N - 1}{\alpha - 1} & \text{si } \alpha\neq 1\\[2mm] N & \text{si } \alpha=1 \end{cases}

Plus précisément, on peut utiliser cette formule quand α=ωNyz.\alpha = \omega_N^{y-z}. Quand y=z,y = z, on a α=1,\alpha = 1, donc en appliquant la formule et en divisant par NN on obtient

ϕyϕy=1.\langle \phi_y \vert \phi_y \rangle = 1.

Quand yz,y\neq z, on a α1,\alpha \neq 1, et la formule révèle ceci :

ϕzϕy=1NωNN(yz)1ωNyz1=1N11ωNyz1=0.\langle \phi_z \vert \phi_y \rangle = \frac{1}{N} \frac{\omega_N^{N(y-z)} - 1}{\omega_N^{y-z} - 1} = \frac{1}{N} \frac{1 - 1}{\omega_N^{y-z} - 1} = 0.

Cela se produit parce que ωNN=e2πi=1,\omega_N^N = e^{2\pi i} = 1, donc ωNN(yz)=1yz=1,\omega_N^{N(y-z)} = 1^{y-z} = 1, ce qui rend le numérateur nul, tandis que le dénominateur est non nul parce que ωNyz1.\omega_N^{y-z} \neq 1. Intuitivement, ce qu'on fait c'est sommer un ensemble de points distribués autour du cercle unité, et ils s'annulent et donnent 00 lorsqu'on les additionne.

On a donc établi que {ϕ0,,ϕN1}\{\vert\phi_0\rangle,\ldots,\vert\phi_{N-1}\rangle\} est un ensemble orthonormal,

ϕzϕy={1y=z0yz,\langle \phi_z \vert \phi_y \rangle = \begin{cases} 1 & y=z\\ 0 & y\neq z, \end{cases}

ce qui révèle que QFTN\mathrm{QFT}_N est unitaire.

Portes à phase contrôlée

Pour implémenter la transformée de Fourier quantique avec un circuit quantique, on va avoir besoin d'utiliser des portes à phase contrôlée. Rappelons qu'une opération de phase est une opération unitaire à un qubit de la forme

Pα=(100eiα)P_{\alpha} = \begin{pmatrix} 1 & 0\\[1mm] 0 & e^{i\alpha} \end{pmatrix}

pour tout nombre réel α.\alpha. Une version contrôlée de cette porte a la matrice suivante :

CPα=(100001000010000eiα)CP_{\alpha} = \begin{pmatrix} 1 & 0 & 0 & 0\\[1mm] 0 & 1 & 0 & 0\\[1mm] 0 & 0 & 1 & 0\\[1mm] 0 & 0 & 0 & e^{i\alpha} \end{pmatrix}

Pour cette porte contrôlée, peu importe quel qubit est le contrôle et lequel est la cible, car les deux possibilités sont équivalentes. On peut utiliser l'un ou l'autre des symboles suivants pour représenter cette porte dans les diagrammes de circuits quantiques.

Représentation en diagramme de circuit quantique pour les portes à phase contrôlée

Pour la troisième forme, l'étiquette α\alpha est aussi parfois placée sur le côté du fil de contrôle ou sous le contrôle inférieur selon ce qui est le plus commode.

Pour effectuer la transformée de Fourier quantique quand N=2mN = 2^m et m2,m\geq 2, on va avoir besoin d'effectuer une opération sur mm qubits dont l'action sur les états de la base standard peut être décrite comme

yaω2mayya,\vert y \rangle \vert a \rangle \mapsto \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle,

aa est un bit et y{0,,2m11}y \in \{0,\ldots,2^{m-1} - 1\} est un nombre encodé en notation binaire comme une chaîne de m1m-1 bits. Cela peut être fait en utilisant des portes à phase contrôlée en généralisant l'exemple suivant, pour lequel m=5.m=5.

Diagramme de circuit quantique pour l'injection de phase

En général, pour un choix arbitraire de m2,m\geq 2, le qubit du haut correspondant au bit aa peut être vu comme le contrôle, avec les portes de phase PαP_{\alpha} allant de α=π/2m1\alpha = \pi/2^{m-1} sur le qubit correspondant au bit le moins significatif de yy à α=π2\alpha = \frac{\pi}{2} sur le qubit correspondant au bit le plus significatif de y.y. Ces portes à phase contrôlée commutent toutes entre elles et peuvent être exécutées dans n'importe quel ordre.

Implémentation en circuit de la QFT

On va maintenant voir comment on peut implémenter la transformée de Fourier quantique avec un circuit quand la dimension N=2mN = 2^m est une puissance de 2.2. Il existe en fait plusieurs façons d'implémenter la transformée de Fourier quantique, mais c'est sans doute la méthode la plus simple connue. Une fois qu'on sait comment implémenter la transformée de Fourier quantique avec un circuit quantique, implémenter son inverse est simple : on peut remplacer chaque porte par son inverse (ou, de manière équivalente, le transposé conjugué) et appliquer les portes dans l'ordre inverse. Tout circuit quantique composé uniquement de portes unitaires peut être inversé de cette façon.

L'implémentation est récursive par nature, c'est donc ainsi qu'elle se décrit le plus naturellement. Le cas de base est m=1,m=1, auquel cas la transformée de Fourier quantique est une opération de Hadamard.

Pour effectuer la transformée de Fourier quantique sur mm qubits quand m2,m \geq 2, on peut effectuer les étapes suivantes, dont on décrira les actions pour des états de la base standard de la forme xa,\vert x \rangle \vert a\rangle,x{0,,2m11}x\in\{0,\ldots,2^{m-1} - 1\} est un entier encodé sur m1m-1 bits en notation binaire et aa est un seul bit.

  1. D'abord appliquer la transformée de Fourier quantique de dimension 2m12^{m-1} aux m1m-1 qubits du bas/gauche pour obtenir cet état :

    (QFT2m1x)a=12m1y=02m11ω2m1xyya.\Bigl(\mathrm{QFT}_{2^{m-1}} \vert x \rangle\Bigr) \vert a\rangle = \frac{1}{\sqrt{2^{m-1}}} \sum_{y = 0}^{2^{m-1} - 1} \omega_{2^{m-1}}^{xy} \vert y \rangle \vert a \rangle.

    Cela se fait en appliquant récursivement la méthode décrite ici pour un qubit en moins, en utilisant l'opération de Hadamard sur un seul qubit comme cas de base.

  2. Utiliser le qubit du haut/droite comme contrôle pour injecter la phase ω2my\omega_{2^m}^y pour chaque état de la base standard y\vert y\rangle des m1m-1 qubits restants (comme décrit ci-dessus) afin d'obtenir cet état :

    12m1y=02m11ω2m1xyω2mayya.\frac{1}{\sqrt{2^{m-1}}} \sum_{y = 0}^{2^{m-1} - 1} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle.
  3. Effectuer une porte de Hadamard sur le qubit du haut/droite pour obtenir cet état :

    12my=02m11b=01(1)abω2m1xyω2mayyb.\frac{1}{\sqrt{2^{m}}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert y \rangle \vert b \rangle.
  4. Permuter l'ordre des qubits de sorte que le bit le moins significatif devienne le bit le plus significatif, avec tous les autres décalés vers le haut/droite :

    12my=02m11b=01(1)abω2m1xyω2mayby.\frac{1}{\sqrt{2^{m}}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert b \rangle \vert y \rangle.

Par exemple, voici le circuit qu'on obtient pour N=32=25.N = 32 = 2^5. Dans ce diagramme, les qubits sont nommés de façon à correspondre aux vecteurs de la base standard xa\vert x\rangle \vert a\rangle (pour l'entrée) et by\vert b\rangle \vert y\rangle (pour la sortie) par souci de clarté.

Diagramme de circuit quantique pour la transformée de Fourier quantique de dimension 32

Analyse

La formule clé qu'on doit vérifier pour s'assurer que le circuit décrit ci-dessus implémente la transformée de Fourier quantique de dimension 2m2^m est celle-ci :

(1)abω2m1xyω2may=ω2m(2x+a)(2m1b+y).(-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} = \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)}.

Cette formule fonctionne pour tout choix d'entiers a,a, b,b, x,x, et y,y, mais on n'en aura besoin que pour a,b{0,1}a,b\in\{0,1\} et x,y{0,,2m11}.x,y\in\{0,\ldots,2^{m-1}-1\}. On peut la vérifier en développant le produit dans l'exposant du membre de droite,

ω2m(2x+a)(2m1b+y)=ω2m2mxbω2m2xyω2m2m1abω2may=(1)abω2m1xyω2may, \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)} = \omega_{2^m}^{2^m xb} \omega_{2^m}^{2xy} \omega_{2^m}^{2^{m-1}ab} \omega_{2^m}^{ay} = (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay},

où la seconde égalité utilise l'observation que

ω2m2mxb=(ω2m2m)xb=1xb=1.\omega_{2^m}^{2^m xb} = \bigl(\omega_{2^m}^{2^m}\bigr)^{xb} = 1^{xb} = 1.

La transformée de Fourier quantique de dimension 2m2^m est définie comme suit pour tout u{0,,2m1}.u\in\{0,\ldots,2^m - 1\}.

QFT2mu=12mv=02m1ω2muvv\mathrm{QFT}_{2^m} \vert u\rangle = \frac{1}{\sqrt{2^m}} \sum_{v = 0}^{2^m - 1} \omega_{2^m}^{uv} \vert v\rangle

Si on écrit uu et vv comme

u=2x+av=2m1b+y\begin{aligned} u & = 2x + a\\ v & = 2^{m-1}b + y \end{aligned}

pour a,b{0,1}a,b\in\{0,1\} et x,y{0,,2m11},x,y\in\{0,\ldots,2^{m-1} - 1\}, on obtient

QFT2m2x+a=12my=02m11b=01ω2m(2x+a)(2m1b+y)b2m1+y=12my=02m11b=01(1)abω2m1xyω2mayb2m1+y.\begin{aligned} \mathrm{QFT}_{2^m} \vert 2x + a\rangle & = \frac{1}{\sqrt{2^m}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)} \vert b 2^{m-1} + y\rangle\\[2mm] & = \frac{1}{\sqrt{2^m}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert b 2^{m-1} + y\rangle. \end{aligned}

Enfin, en considérant les états de la base standard xa\vert x \rangle \vert a\rangle et by\vert b \rangle \vert y \rangle comme des encodages binaires d'entiers dans la plage {0,,2m1},\{0,\ldots,2^m-1\},

xa=2x+aby=2m1b+y,\begin{aligned} \vert x \rangle \vert a\rangle & = \vert 2x + a \rangle\\ \vert b \rangle \vert y \rangle & = \vert 2^{m-1}b + y\rangle, \end{aligned}

on voit que le circuit ci-dessus implémente bien l'opération requise. Si cette méthode pour effectuer la transformée de Fourier quantique te semble remarquable, c'est parce qu'elle l'est : c'est essentiellement la transformée de Fourier rapide sous la forme d'un circuit quantique.

Enfin, comptons combien de portes sont utilisées dans le circuit décrit. Les portes à phase contrôlée ne font pas partie du jeu de portes standard dont on a parlé dans la leçon précédente, mais pour commencer on va les ignorer et compter chacune d'elles comme une seule porte.

Notons sms_m le nombre de portes dont on a besoin pour chaque choix possible de m.m. Si m=1,m=1, la transformée de Fourier quantique n'est qu'une opération de Hadamard, donc

s1=1.s_1 = 1.

Si m2,m\geq 2, alors dans le circuit ci-dessus on a besoin de sm1s_{m-1} portes pour la transformée de Fourier quantique sur m1m-1 qubits, plus m1m-1 portes à phase contrôlée, plus une porte de Hadamard, plus m1m-1 portes d'échange, donc

sm=sm1+(2m1).s_m = s_{m-1} + (2m - 1).

On peut obtenir une expression sous forme fermée en sommant :

sm=k=1m(2k1)=m2.s_m = \sum_{k = 1}^m (2k - 1) = m^2.

En réalité, on n'a pas besoin d'autant de portes d'échange que ce que la méthode décrit. Si on réorganise un peu les portes, on peut repousser toutes les portes d'échange vers la droite et réduire le nombre de portes d'échange nécessaires à m/2.\lfloor m/2\rfloor. D'un point de vue asymptotique, ce n'est pas une amélioration majeure : on obtient toujours des circuits de taille O(m2)O(m^2) pour effectuer QFT2m.\mathrm{QFT}_{2^m}.

Si on souhaite implémenter la transformée de Fourier quantique en utilisant uniquement des portes de notre jeu de portes standard, on doit construire ou approcher chacune des portes à phase contrôlée avec des portes de notre ensemble. Le nombre requis dépend du niveau de précision souhaité, mais en fonction de mm le coût total reste quadratique.

Il est en fait possible d'approcher la transformée de Fourier quantique assez fidèlement avec un nombre sous-quadratique de portes, en utilisant le fait que PαP_{\alpha} est très proche de l'opération identité quand α\alpha est très petit — ce qui signifie qu'on peut simplement omettre la plupart des portes à phase contrôlée sans perdre beaucoup en termes de précision.

Procédure générale et analyse

Nous allons maintenant examiner la procédure d'estimation de phase dans le cas général. L'idée est d'étendre la version à deux qubits de l'estimation de phase que nous avons étudiée ci-dessus, de la manière naturelle suggérée par le schéma suivant.

Procédure d'estimation de phase

Remarque : pour chaque nouveau qubit de contrôle ajouté en haut, on double le nombre d'applications de l'opération unitaire UU. C'est indiqué dans le schéma par les puissances sur UU pour chacune des opérations unitaires contrôlées.

La façon la plus directe d'implémenter une opération UkU^k contrôlée pour un certain choix de kk est simplement de répéter kk fois une opération UU contrôlée. Si c'est effectivement la méthode utilisée, il faut reconnaître que l'ajout de qubits de contrôle contribue de manière significative à la taille du circuit : si l'on dispose de mm qubits de contrôle, comme le montre le schéma, un total de 2m12^m - 1 copies de l'opération UU contrôlée sont nécessaires. Cela signifie qu'un coût de calcul significatif est engagé à mesure que mm augmente — mais comme nous le verrons, cela conduit aussi à une approximation nettement plus précise de θ.\theta.

Il est important de noter, cependant, que pour certains choix de UU il peut être possible de créer un circuit qui implémente l'opération UkU^k pour de grandes valeurs de kk de manière plus efficace qu'en répétant simplement kk fois le circuit de U.U. Nous verrons un exemple concret de cela dans le contexte de la factorisation d'entiers plus loin dans la leçon, où l'algorithme efficace d'exponentiation modulaire présenté dans la leçon précédente vient à la rescousse.

Analysons maintenant le circuit qui vient d'être décrit. L'état juste avant la transformée de Fourier quantique inverse ressemble à ceci :

12mx=02m1(Uxψ)x=ψ12mx=02m1e2πixθx.\frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} \bigl( U^x \vert\psi\rangle \bigr) \vert x\rangle = \vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} e^{2\pi i x\theta} \vert x\rangle.

Un cas particulier

Dans le même esprit que ce que nous avons fait dans le cas m=2m=2, nous allons d'abord considérer le cas particulier où θ=y/2m\theta = y/2^m pour y{0,,2m1}.y\in\{0,\ldots,2^m-1\}. Dans ce cas, l'état avant la transformée de Fourier quantique inverse peut s'écrire autrement comme suit :

ψ12mx=02m1e2πixy2mx=ψ12mx=02m1ω2mxyx=ψQFT2my.\vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} e^{2\pi i \frac{xy}{2^m}} \vert x\rangle = \vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} \omega_{2^m}^{xy} \vert x\rangle = \vert\psi\rangle \otimes \mathrm{QFT}_{2^m} \vert y\rangle.

Ainsi, lorsque la transformée de Fourier quantique inverse est appliquée, l'état devient

ψy\vert\psi\rangle \vert y\rangle

et les mesures révèlent yy (encodé en binaire).

Borner les probabilités

Pour d'autres valeurs de θ,\theta, c'est-à-dire celles qui ne prennent pas la forme y/2my/2^m pour un entier y,y, les résultats de mesure ne seront pas certains, mais on peut démontrer des bornes sur les probabilités des différents résultats. Considérons désormais un choix arbitraire de θ\theta vérifiant 0θ<1.0\leq \theta < 1.

Après l'application de la transformée de Fourier quantique inverse, l'état du circuit est le suivant :

ψ12my=02m1x=02m1e2πix(θy/2m)y.\vert \psi \rangle \otimes \frac{1}{2^m} \sum_{y=0}^{2^m - 1} \sum_{x=0}^{2^m-1} e^{2\pi i x (\theta - y/2^m)} \vert y\rangle.

Ainsi, lorsque les mesures sur les mm qubits du haut sont effectuées, on observe chaque résultat yy avec la probabilité

py=12mx=02m1e2πix(θy/2m)2.p_y = \left\vert \frac{1}{2^m} \sum_{x=0}^{2^m - 1} e^{2\pi i x (\theta - y/2^m)} \right\vert^2.

Pour mieux comprendre ces probabilités, nous allons utiliser la même formule que précédemment, pour la somme de la portion initiale d'une série géométrique.

1+α+α2++αN1={αN1α1if α1Nif α=11 + \alpha + \alpha^2 + \cdots + \alpha^{N-1} = \begin{cases} \frac{\alpha^N - 1}{\alpha - 1} & \text{if } \alpha\neq 1\\[2mm] N & \text{if } \alpha=1 \end{cases}

On peut simplifier la somme apparaissant dans la formule de pyp_y en prenant α=e2πi(θy/2m).\alpha = e^{2\pi i (\theta - y/2^m)}. Voici ce qu'on obtient.

x=02m1e2πix(θy/2m)={2mθ=y/2me2πi(2mθy)1e2πi(θy/2m)1θy/2m\sum_{x=0}^{2^m - 1} e^{2\pi i x (\theta - y/2^m)} = \begin{cases} 2^m & \theta = y/2^m\\[2mm] \frac{e^{2\pi i (2^m \theta - y)} - 1}{e^{2\pi i (\theta - y/2^m)} - 1} & \theta\neq y/2^m \end{cases}

Donc, dans le cas où θ=y/2m,\theta = y/2^m, on trouve que py=1p_y = 1 (comme on le savait déjà en considérant ce cas particulier), et dans le cas où θy/2m,\theta \neq y/2^m, on trouve que

py=122me2πi(2mθy)1e2πi(θy/2m)12.p_y = \frac{1}{2^{2m}} \left\vert \frac{e^{2\pi i (2^m \theta - y)} - 1}{e^{2\pi i (\theta - y/2^m)} - 1}\right\vert^2.

On peut en apprendre davantage sur ces probabilités en réfléchissant à la relation entre les longueurs des arcs et des cordes sur le cercle unité. Voici une figure qui illustre les relations nécessaires pour tout nombre réel δ[12,12].\delta\in \bigl[ -\frac{1}{2},\frac{1}{2}\bigr].

Illustration de la relation entre longueurs d&#39;arc et de corde

D'abord, la longueur de la corde (tracée en bleu) ne peut pas être plus grande que la longueur de l'arc (tracée en violet) :

e2πiδ12πδ.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \leq 2\pi\vert\delta\vert.

En reliant ces longueurs dans l'autre sens, on constate que le rapport de la longueur de l'arc à la longueur de la corde est maximal quand δ=±1/2\delta = \pm 1/2, et dans ce cas le rapport est la moitié de la circonférence du cercle divisée par le diamètre, soit π/2.\pi/2. Ainsi, on a

2πδe2πiδ1π2,\frac{2\pi\vert\delta\vert}{\bigl\vert e^{2\pi i \delta} - 1\bigr\vert} \leq \frac{\pi}{2},

et donc

e2πiδ14δ.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \geq 4\vert\delta\vert.

Une analyse fondée sur ces relations révèle les deux faits suivants.

  1. Suppose que θ\theta est un nombre réel et que y{0,,2m1}y\in \{0,\ldots,2^m-1\} vérifie

    θy2m2(m+1).\Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \leq 2^{-(m+1)}.

    Cela signifie que y/2my/2^m est soit la meilleure approximation à mm bits de θ\theta, soit exactement à mi-chemin entre y/2my/2^m et (y1)/2m(y-1)/2^m ou (y+1)/2m(y+1)/2^m, donc l'une des deux meilleures approximations de θ.\theta.

    Nous allons montrer que pyp_y doit être assez grand dans ce cas. Avec l'hypothèse considérée, il s'ensuit que 2mθy1/2\vert 2^m \theta - y \vert \leq 1/2, donc on peut utiliser la deuxième observation ci-dessus reliant les longueurs d'arc et de corde pour conclure que

    e2πi(2mθy)142mθy=42mθy2m.\left\vert e^{2\pi i (2^m \theta - y)} - 1\right\vert \geq 4 \vert 2^m \theta - y \vert = 4 \cdot 2^m \cdot \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert.

    On peut également utiliser la première observation sur les longueurs d'arc et de corde pour conclure que

    e2πi(θy/2m)12πθy2m.\left\vert e^{2\pi i (\theta - y/2^m)} - 1\right\vert \leq 2\pi \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert.

    En appliquant ces deux inégalités à pyp_y, on obtient

    py122m1622m4π2=4π20.405.p_y \geq \frac{1}{2^{2m}} \frac{16 \cdot 2^{2m}}{4 \pi^2} = \frac{4}{\pi^2} \approx 0.405.

    Cela explique notre observation que le meilleur résultat se produit avec une probabilité supérieure à 40%40\% dans la version m=2m=2 de l'estimation de phase présentée plus tôt. Ce n'est pas vraiment 40%, c'est 4/π24/\pi^2, et cette borne vaut en fait pour tout choix de m.m.

  2. Suppose maintenant que y{0,,2m1}y\in \{0,\ldots,2^m-1\} vérifie

    2mθy2m12.2^{-m} \leq \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \leq \frac{1}{2}.

    Cela signifie qu'il existe une meilleure approximation z/2mz/2^m de θ\theta entre θ\theta et y/2m.y/2^m.

    Cette fois, nous allons montrer que pyp_y ne peut pas être trop grand. On commence par la simple observation que

    e2πi(2mθy)12,\left\vert e^{2\pi i (2^m \theta - y)} - 1\right\vert \leq 2,

    qui découle du fait que deux points quelconques du cercle unité peuvent différer en valeur absolue d'au plus 2.2.

    On peut aussi utiliser la deuxième observation sur les longueurs d'arc et de corde ci-dessus, cette fois en travaillant avec le dénominateur de pyp_y plutôt que le numérateur, pour conclure

    e2πi(θy/2m)14θy2m42m.\left\vert e^{2\pi i (\theta - y/2^m)} - 1\right\vert \geq 4\Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \geq 4 \cdot 2^{-m}.

    En combinant les deux inégalités, on obtient

    py122m41622m=14.p_y \leq \frac{1}{2^{2m}} \frac{4}{16 \cdot 2^{-2m}} = \frac{1}{4}.

    À noter que, bien que cette borne soit suffisante pour nos besoins, elle est assez grossière — la probabilité est en général bien inférieure à 1/4.1/4.

La conclusion importante à retenir de cette analyse est que les approximations très proches de θ\theta ont de grandes chances de se produire — on obtient la meilleure approximation à mm bits avec une probabilité supérieure à 40%40\% — alors que les approximations s'écartant de plus de 2m2^{-m} sont moins susceptibles de se produire, avec une probabilité bornée supérieurement par 25%.25\%.

Grâce à ces garanties, il est possible de renforcer notre confiance en répétant plusieurs fois la procédure d'estimation de phase, afin de recueillir des preuves statistiques sur θ.\theta. Il est important de noter que l'état ψ\vert\psi\rangle de l'ensemble inférieur de qubits n'est pas modifié par la procédure d'estimation de phase, il peut donc être utilisé pour exécuter la procédure autant de fois que l'on veut. En particulier, à chaque exécution du circuit, on obtient la meilleure approximation à mm bits de θ\theta avec une probabilité supérieure à 40%40\%, tandis que la probabilité de s'écarter de plus de 2m2^{-m} est bornée par 25%.25\%. Si on exécute le circuit plusieurs fois et qu'on prend le résultat le plus fréquent parmi les exécutions, il est donc extrêmement probable que le résultat le plus fréquent ne soit pas l'un de ceux qui se produisent au plus 25%25\% du temps. En conséquence, on sera très probablement en mesure d'obtenir une approximation y/2my/2^m à 1/2m1/2^m près de la valeur θ.\theta. En effet, la probabilité peu probable de s'écarter de plus de 1/2m1/2^m décroît exponentiellement avec le nombre d'exécutions de la procédure.

Voici deux graphiques montrant les probabilités pour trois valeurs consécutives de yy quand m=3m = 3 et m=4m=4 en fonction de θ.\theta. (Seuls trois résultats sont affichés par souci de clarté. Les probabilités des autres résultats s'obtiennent en décalant cycliquement la même fonction sous-jacente.)

Graphique montrant les probabilités de résultat pour l&#39;estimation de phase à trois qubits

Graphique montrant les probabilités de résultat pour l&#39;estimation de phase à quatre qubits