Sari la conținutul principal

Procedura de estimare a fazei

În continuare, vom discuta despre procedura de estimare a fazei, care este un algoritm cuantic pentru rezolvarea problemei de estimare a fazei.

Vom începe cu o variantă simplificată de precizie redusă, care explică o parte din intuiția de bază a metodei. Vom vorbi apoi despre transformata cuantică Fourier, care este o operație cuantică importantă folosită în procedura de estimare a fazei, precum și despre implementarea sa sub formă de Circuit cuantic. Odată ce avem transformata cuantică Fourier la îndemână, vom descrie procedura de estimare a fazei în toată generalitatea sa și vom analiza performanța acesteia.

Pregătire: aproximarea fazelor cu precizie redusă

Vom începe cu câteva versiuni simple ale procedurii de estimare a fazei care oferă soluții de precizie redusă pentru problema estimării fazei. Acest lucru este util pentru a explica intuiția din spatele procedurii generale pe care o vom vedea puțin mai târziu în lecție.

Folosind phase kickback

O abordare simplă a problemei de estimare a fazei, care ne permite să aflăm ceva despre valoarea θ\theta pe care o căutăm, se bazează pe fenomenul de phase kick-back. Așa cum vom vedea, aceasta este în esență o versiune cu un singur Qubit a procedurii generale de estimare a fazei care va fi discutată mai târziu în lecție.

Ca parte a datelor de intrare pentru problema de estimare a fazei, avem un Circuit cuantic unitar pentru operația U.U. Putem folosi descrierea acestui Circuit pentru a crea un Circuit pentru o operație controlată-UU, care poate fi reprezentată după cum sugerează această figură (cu operația U,U, privită ca un Gate cuantic, în stânga și o operație controlată-UU în dreapta).

Versiunile necontrolată și controlată ale unei operații unitare

Putem crea un Circuit cuantic pentru o operație controlată-UU adăugând mai întâi un Qubit de control la Circuitul pentru UU, și apoi înlocuind fiecare Gate din Circuitul pentru UU cu o versiune controlată a acelui Gate — astfel, noul nostru Qubit de control controlează efectiv fiecare Gate individual din Circuitul pentru U.U. Acest lucru necesită să avem o versiune controlată a fiecărui Gate din Circuit, dar putem construi întotdeauna Circuite pentru aceste operații controlate în cazul în care nu sunt incluse în setul nostru de Gate-uri.

Acum să considerăm următorul Circuit, unde starea de intrare ψ\vert\psi\rangle a tuturor Qubiților cu excepția celui de sus este vectorul stare propriu cuantic al lui U.U.

Un Circuit cu un singur Qubit pentru estimarea fazei

Probabilitățile rezultatelor măsurătorii pentru acest Circuit depind de valoarea proprie a lui UU corespunzătoare vectorului propriu ψ.\vert\psi\rangle. Să analizăm Circuitul în detaliu pentru a determina exact cum.

Stările unui Circuit cu un singur Qubit pentru estimarea fazei

Starea inițială a Circuitului este

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

iar primul Gate Hadamard transformă această stare în

π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.

Apoi, se efectuează operația controlată-UU, ceea ce duce la starea

π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.

Folosind presupunerea că ψ\vert\psi\rangle este un vector propriu al lui UU cu valoarea proprie λ=e2πiθ,\lambda = e^{2\pi i\theta}, putem exprima alternativ această stare astfel.

π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)

Aici observăm fenomenul de phase kickback. Este ușor diferit de această dată față de algoritmul lui Deutsch și algoritmul Deutsch-Jozsa, deoarece nu lucrăm cu un Gate de interogare — dar ideea este similară.

În final, se efectuează al doilea Gate Hadamard. După o scurtă simplificare, obținem această expresie pentru această stare.

π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)

Măsurătoarea produce astfel rezultatele 00 și 11 cu aceste probabilități:

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}

Iată un grafic al probabilităților pentru cele două rezultate posibile, 00 și 1,1, ca funcții ale lui θ.\theta.

Probabilitățile rezultatelor din phase kickback

Firește, cele două probabilități sumează întotdeauna la 1.1. Observă că atunci când θ=0,\theta = 0, rezultatul măsurătorii este întotdeauna 0,0, iar când θ=1/2,\theta = 1/2, rezultatul măsurătorii este întotdeauna 1.1. Deci, deși rezultatul măsurătorii nu dezvăluie exact ce este θ,\theta, ne oferă totuși ceva informație despre acesta — și dacă am fi promis că fie θ=0\theta = 0 fie θ=1/2,\theta = 1/2, am putea afla din Circuit care este corect fără eroare.

Intuitiv vorbind, putem considera rezultatul măsurătorii Circuitului ca o estimare a lui θ\theta cu „o precizie de un bit." Cu alte cuvinte, dacă am scrie θ\theta în notație binară și l-am rotunji la un bit, am obține un număr de forma:

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

Rezultatul măsurătorii poate fi privit ca o estimare a bitului a.a. Când θ\theta nu este nici 00 nici 1/2,1/2, există o probabilitate nenulă că estimarea va fi greșită — dar probabilitatea de a face o eroare devine din ce în ce mai mică pe măsură ce ne apropiem de 00 sau 1/2.1/2.

Este firesc să ne întrebăm ce rol joacă cele două Gate-uri Hadamard în această procedură:

  • Primul Gate Hadamard setează Qubitul de control la o superpozție uniformă a lui 0\vert 0\rangle și 1,\vert 1\rangle, astfel încât atunci când se produce phase kickback, acesta se produce pentru starea 1\vert 1\rangle și nu pentru starea 0\vert 0\rangle, creând o diferență de fază relativă care afectează rezultatele măsurătorii. Dacă nu am face asta și phase kickback ar produce o fază globală, nu ar avea niciun efect asupra probabilităților de a obține diferite rezultate ale măsurătorii.

  • Al doilea Gate Hadamard ne permite să aflăm ceva despre numărul θ\theta prin fenomenul de interferență. Înainte de al doilea Gate Hadamard, starea Qubitului de sus este

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

    și dacă am măsura această stare, am obține 00 și 11 fiecare cu probabilitatea 1/2,1/2, fără a ne spune nimic despre θ.\theta. Efectuând însă al doilea Gate Hadamard, facem ca numărul θ\theta să afecteze probabilitățile de ieșire.

Dublarea fazei

Circuitul de mai sus folosește fenomenul de phase kickback pentru a aproxima θ\theta cu o precizie de un singur bit. O precizie de un bit poate fi tot ce avem nevoie în unele situații — dar pentru factorizare vom avea nevoie de mult mai multă precizie decât atât. O întrebare naturală este: cum putem afla mai mult despre θ?\theta?

Un lucru foarte simplu pe care îl putem face este să înlocuim operația controlată-UU din Circuitul nostru cu două copii ale acestei operații, ca în acest Circuit:

Estimarea fazei cu un singur bit, dublată

Două copii ale unei operații controlate-UU sunt echivalente cu o operație controlată-U2U^2. Dacă ψ\vert\psi\rangle este un vector propriu al lui UU cu valoarea proprie λ=e2πiθ,\lambda = e^{2\pi i \theta}, atunci această stare este și un vector propriu al lui U2,U^2, de această dată cu valoarea proprie λ2=e2πi(2θ).\lambda^2 = e^{2\pi i (2\theta)}.

Deci, dacă rulăm această versiune a Circuitului, efectuăm efectiv același calcul ca înainte, cu excepția că numărul θ\theta este înlocuit cu 2θ.2\theta. Iată un grafic care ilustrează probabilitățile de ieșire pe măsură ce θ\theta variază de la 00 la 1.1.

Probabilitățile rezultatelor din dublarea phase kickback

Acest lucru ne poate oferi într-adevăr unele informații suplimentare despre θ.\theta. Dacă reprezentarea binară a lui θ\theta este

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

atunci dublarea lui θ\theta deplasează efectiv punctul binar cu o poziție spre dreapta:

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

Și deoarece asimilăm θ=1\theta = 1 cu θ=0\theta = 0 pe măsură ce ne deplasăm pe cercul unitar, vedem că bitul a1a_1 nu are nicio influență asupra probabilităților noastre, și obținem efectiv o estimare pentru al doilea bit de după punctul binar dacă rotunjim θ\theta la două biți. De exemplu, dacă am ști dinainte că θ\theta este fie 00 fie 1/4,1/4, atunci am putea să ne bazăm pe deplin pe rezultatul măsurătorii pentru a ști care este.

Nu este imediat clar, totuși, cum ar trebui reconciliată această estimare cu ceea ce am aflat din Circuitul original de phase kickback (nedublat) pentru a obține informații cât mai precise despre θ.\theta. Deci să facem un pas înapoi și să considerăm cum să procedăm.

Estimarea fazei cu două Qubit-uri

În loc să considerăm separat cele două opțiuni descrise mai sus, hai să le combinăm într-un singur Circuit, astfel.

Configurația inițială pentru estimarea fazei cu două Qubit-uri

Gate-urile Hadamard de după operațiile controlate au fost eliminate și nu există măsurători aici încă. Vom adăuga mai multe elemente la Circuit pe măsură ce analizăm opțiunile noastre de a afla cât mai multe despre θ.\theta.

Dacă rulăm acest Circuit când ψ\vert\psi\rangle este un vector propriu al lui U,U, starea Qubit-urilor de jos va rămâne ψ\vert\psi\rangle pe tot parcursul Circuitului, iar fazele vor fi „lovite" în starea celor două Qubit-uri de sus. Hai să analizăm Circuit-ul cu atenție, prin intermediul figurii de mai jos.

Stările pentru estimarea fazei cu două Qubit-uri

Putem scrie starea π1\vert\pi_1\rangle astfel:

π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.

Când se efectuează prima operație controlată-U,U, valoarea proprie λ=e2πiθ\lambda = e^{2\pi i\theta} este lovită în fază atunci când a0a_0 (Qubit-ul de sus) este egal cu 1,1, dar nu și când este 0.0. Astfel, putem exprima starea rezultată în felul următor:

π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.

Al doilea și al treilea Gate controlat-UU fac ceva similar, dar pentru a1a_1 în loc de a0,a_0, și cu θ\theta înlocuit prin 2θ.2\theta. Putem exprima starea rezultată astfel:

π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.

Dacă ne gândim la șirul binar a1a0a_1 a_0 ca reprezentând un număr întreg x{0,1,2,3}x \in \{0,1,2,3\} în notație binară, adică x=2a1+a0,x = 2 a_1 + a_0, putem exprima alternativ această stare astfel:

π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

Scopul nostru este să extragem cât mai multă informație despre θ\theta din această stare.

În acest punct vom considera un caz special, în care ni se garantează că θ=y4\theta = \frac{y}{4} pentru un număr întreg y{0,1,2,3}.y\in\{0,1,2,3\}. Cu alte cuvinte, avem θ{0,1/4,1/2,3/4},\theta\in \{0, 1/4, 1/2, 3/4\}, deci putem exprima acest număr exact în notație binară cu doi biți, ca .00,00, .01,01, .10,10, sau .11.11. În general, θ\theta s-ar putea să nu fie una dintre aceste patru valori, dar gândirea la acest caz special ne va ajuta să ne dăm seama cum să extragem cât mai eficient informații despre θ\theta în general.

Mai întâi vom defini un vector de stare cu două Qubit-uri pentru fiecare valoare posibilă 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

După simplificarea exponențialelor, putem scrie acești vectori astfel:

ϕ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}

Acești vectori sunt ortogonali: dacă alegem orice pereche dintre ei și calculăm produsul lor interior, obținem 0.0. Fiecare este și un vector unitar, deci {ϕ0,ϕ1,ϕ2,ϕ3}\{\vert\phi_0\rangle, \vert\phi_1\rangle, \vert\phi_2\rangle, \vert\phi_3\rangle\} este o bază ortonormată. Știm astfel imediat că există o măsurătoare care îi poate discrimina perfect — adică, dacă ni se dă unul dintre ei fără să știm care, îl putem identifica fără eroare.

Pentru a realiza o astfel de discriminare cu un Circuit cuantic, putem defini mai întâi o operație unitară VV care transformă vectorii bazei standard în cele patru stări listate mai sus.

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}

Pentru a scrie VV ca o matrice 4×4,4\times 4, este suficient să luăm coloanele lui VV ca fiind stările ϕ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}

Aceasta este o matrice specială, și este probabil că unii cititori au mai întâlnit-o: este matricea asociată transformatei Fourier discrete de dimensiune 4.4. Având în vedere acest fapt, hai să o numim QFT4\mathrm{QFT}_4 în loc de V.V. Numele QFT\mathrm{QFT} este prescurtarea pentru transformata Fourier cuantică — care este în esență transformata Fourier discretă, privită ca o operație unitară. Vom discuta transformata Fourier cuantică mai în detaliu și în mai mare generalitate în curând.

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}

Putem efectua inversul acestei operații pentru a merge în sens invers, transformând stările ϕ0,,ϕ3\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle în vectorii bazei standard 0,,3.\vert 0\rangle,\ldots,\vert 3\rangle. Dacă facem asta, putem măsura pentru a afla care valoare y{0,1,2,3}y\in\{0,1,2,3\} descrie θ\theta ca θ=y/4.\theta = y/4. Iată o diagramă a unui Circuit cuantic care face acest lucru.

Estimarea fazei cu două Qubit-uri

Pe scurt, dacă rulăm acest Circuit când θ=y/4\theta = y/4 pentru y{0,1,2,3},y\in\{0,1,2,3\}, starea imediat înainte de măsurători va fi ψy\vert \psi\rangle \vert y\rangle (cu yy codificat ca un șir binar de doi biți), deci măsurătorile vor dezvălui valoarea yy fără eroare.

Acest Circuit este motivat de cazul special în care θ{0,1/4,1/2,3/4}\theta \in \{0,1/4,1/2,3/4\} — dar îl putem rula pentru orice alegere de UU și ψ,\vert \psi\rangle, și prin urmare pentru orice valoare a lui θ,\theta, dorim. Iată un grafic al probabilităților de ieșire pe care le produce Circuit-ul pentru alegeri arbitrare ale lui θ.\theta.

Probabilitățile rezultatelor din estimarea fazei cu două Qubit-uri

Aceasta este o îmbunătățire clară față de varianta cu un singur Qubit descrisă mai devreme în lecție. Nu este perfectă — poate da un răspuns greșit — dar răspunsul este puternic înclinat spre valorile lui yy pentru care y/4y/4 este aproape de θ.\theta. În particular, cel mai probabil rezultat corespunde întotdeauna celei mai apropiate valori a lui y/4y/4 față de θ\theta (asimilând θ=0\theta = 0 cu θ=1\theta = 1 ca înainte), iar din grafic se pare că această cea mai apropiată valoare pentru xx apare întotdeauna cu o probabilitate puțin peste 40%.40\%. Când θ\theta se află exact la jumătatea distanței dintre două astfel de valori, ca de exemplu θ=0.375,\theta = 0.375, cele două valori ale lui yy egal de apropiate sunt egal de probabile.

Pregătirea pentru generalizare la mai multe Qubit-uri

Dat fiind progresul pe care tocmai l-am obținut folosind două Qubit-uri de control în loc de unul, în conjuncție cu inversul transformatei Fourier cuantice de dimensiune 4,4, este firesc să ne gândim la generalizarea acestuia — prin adăugarea mai multor Qubit-uri de control. Procedând astfel, obținem procedura generală de estimare a fazei. Vom vedea în curând cum funcționează, dar pentru a o descrie cu precizie va trebui să discutăm transformata Fourier cuantică în mai mare generalitate, pentru a vedea cum este definită pentru alte dimensiuni și cum o putem implementa (sau inversul ei) cu un Circuit cuantic.

Transformata Fourier cuantică

Transformata Fourier cuantică este o operație unitară ce poate fi definită pentru orice dimensiune NN număr întreg pozitiv. În această secțiune, vom vedea cum este definită această operație și cum poate fi implementată cu un Circuit cuantic pe mm Qubit-uri cu cost O(m2)O(m^2) atunci când N=2m.N = 2^m.

Matricele care descriu transformata Fourier cuantică sunt derivate dintr-o operație analogă pe vectori de dimensiune N,N, cunoscută sub numele de transformata Fourier discretă. Această operație poate fi privită din perspective diferite. De exemplu, putem privi transformata Fourier discretă în termeni pur abstracți, matematici, ca o aplicație liniară. Sau o putem privi în termeni computaționali, unde ni se dă un vector de dimensiune NN de numere complexe (folosind notația binară pentru a codifica părțile reale și imaginare ale intrărilor, să presupunem) și scopul este să calculăm vectorul de dimensiune NN obținut prin aplicarea transformatei Fourier discrete. Atenția noastră se va concentra pe o a treia perspectivă, care privește această transformare ca o operație unitară ce poate fi efectuată pe un sistem cuantic.

Există un algoritm eficient pentru calculul transformatei Fourier discrete pe un vector de intrare dat, cunoscut sub numele de transformata Fourier rapidă. Are aplicații în procesarea semnalelor și în multe alte domenii și este considerat de mulți a fi unul dintre cei mai importanți algoritmi descoperiți vreodată. Se dovedește că implementarea transformatei Fourier cuantice atunci când NN este o putere a lui 2, pe care o vom studia, se bazează pe exact aceeași structură de bază care face posibilă transformata Fourier rapidă.

Definiția transformatei cuantice Fourier

Pentru a defini transformata cuantică Fourier, vom defini mai întâi un număr complex ωN,\omega_N, pentru fiecare număr întreg pozitiv N,N, astfel:

ω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).

Acesta este numărul de pe cercul unitate complex pe care îl obținem dacă pornim de la 11 și ne deplasăm în sens invers acelor de ceasornic cu un unghi de 2π/N2\pi/N radiani, adică o fracțiune de 1/N1/N din circumferința cercului. Iată câteva exemple:

ω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}

Acum putem defini transformata cuantică Fourier de dimensiune NN, care este descrisă de o matrice N×NN\times N ale cărei linii și coloane sunt asociate cu stările bazei standard 0,,N1.\vert 0\rangle,\ldots,\vert N-1\rangle. Vom avea nevoie de această operație doar atunci când N=2mN = 2^m este o putere a lui 22 pentru estimarea fazei, dar operația poate fi definită pentru orice număr întreg pozitiv 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

Așa cum s-a menționat deja, aceasta este matricea asociată cu transformata Fourier discretă de dimensiune NN. De regulă, factorul 1/N1/\sqrt{N} nu este inclus în definiția acestei matrice, dar trebuie să îl includem pentru a obține o matrice unitară.

Iată transformata cuantică Fourier, scrisă ca matrice, pentru câteva valori mici ale lui 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}

De remarcat, în special, că QFT2\mathrm{QFT}_2 este un alt nume pentru operația Hadamard.

Unitaritate

Să verificăm că QFTN\mathrm{QFT}_N este unitară, pentru orice alegere a lui N.N. O modalitate de a face acest lucru este să arătăm că coloanele sale formează o bază ortonormală. Putem defini un vector corespunzător coloanei cu numărul y,y, începând de la y=0y = 0 și mergând până la y=N1,y = N-1, astfel:

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

Calculând produsul intern dintre oricare doi astfel de vectori, obținem expresia:

ϕ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)}

Putem evalua sume de acest tip folosind formula pentru suma primilor NN termeni ai unei serii geometrice.

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}

Mai exact, putem folosi această formulă când α=ωNyz.\alpha = \omega_N^{y-z}. Când y=z,y = z, avem α=1,\alpha = 1, deci aplicând formula și împărțind la NN obținem

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

Când yz,y\neq z, avem α1,\alpha \neq 1, deci formula ne arată că:

ϕ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.

Acest lucru se întâmplă deoarece ωNN=e2πi=1,\omega_N^N = e^{2\pi i} = 1, deci ωNN(yz)=1yz=1,\omega_N^{N(y-z)} = 1^{y-z} = 1, făcând numărătorul zero, în timp ce numitorul este nenul deoarece ωNyz1.\omega_N^{y-z} \neq 1. Intuitiv, ceea ce facem este să sumăm o serie de puncte distribuite în jurul cercului unitate, iar ele se anulează reciproc și dau 00 la sumare.

Am demonstrat astfel că {ϕ0,,ϕN1}\{\vert\phi_0\rangle,\ldots,\vert\phi_{N-1}\rangle\} este o mulțime ortonormală,

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

ceea ce arată că QFTN\mathrm{QFT}_N este unitară.

Porți de fază controlate

Pentru a implementa transformata cuantică Fourier cu un Circuit cuantic, va trebui să folosim porți de fază controlată. Reamintim că o operație de fază este o operație unitară pe un singur Qubit de forma

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

pentru orice număr real α.\alpha. O versiune controlată a acestei Gate are matricea:

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}

Pentru această Gate controlată, nu contează de fapt care Qubit este controlul și care este ținta, deoarece cele două variante sunt echivalente. Putem folosi oricare dintre simbolurile de mai jos pentru a reprezenta această Gate în diagramele de Circuit cuantic.

Quantum circuit diagram representation for controlled-phase gates

Pentru a treia formă, eticheta α\alpha este uneori plasată și pe latura liniei de control sau sub controlul inferior, atunci când este mai convenabil.

Pentru a realiza transformata cuantică Fourier când N=2mN = 2^m și m2,m\geq 2, va trebui să efectuăm o operație pe mm Qubiți a cărei acțiune pe stările bazei standard poate fi descrisă ca

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

unde aa este un bit și y{0,,2m11}y \in \{0,\ldots,2^{m-1} - 1\} este un număr codificat în notație binară ca un șir de m1m-1 biți. Acest lucru poate fi realizat folosind porți de fază controlată, generalizând exemplul de mai jos, pentru care m=5.m=5.

Quantum circuit diagram for phase injection

În general, pentru o alegere arbitrară a lui m2,m\geq 2, Qubitul de sus corespunzând bitului aa poate fi privit drept control, cu porțile de fază PαP_{\alpha} variind de la α=π/2m1\alpha = \pi/2^{m-1} pe Qubitul corespunzând bitului cel mai puțin semnificativ al lui yy până la α=π2\alpha = \frac{\pi}{2} pe Qubitul corespunzând bitului cel mai semnificativ al lui y.y. Aceste porți de fază controlată comutează toate între ele și pot fi aplicate în orice ordine.

Implementarea circuitului pentru QFT

Acum vom vedea cum putem implementa transformata Fourier cuantică cu un circuit atunci când dimensiunea N=2mN = 2^m este o putere a lui 2.2. Există, de fapt, mai multe moduri de a implementa transformata Fourier cuantică, dar aceasta este probabil cea mai simplă metodă cunoscută. Odată ce știm cum să implementăm transformata Fourier cuantică cu un circuit cuantic, implementarea inversului este simplă: putem înlocui fiecare poartă cu inversul ei (sau, echivalent, cu transpusa conjugată) și aplica porțile în ordine inversă. Orice circuit cuantic compus exclusiv din porți unitare poate fi inversat în acest mod.

Implementarea este recursivă prin natură, deci aceasta este și cea mai naturală modalitate de a o descrie. Cazul de bază este m=1,m=1, caz în care transformata Fourier cuantică este o operație Hadamard.

Pentru a efectua transformata Fourier cuantică pe mm qubiți când m2,m \geq 2, putem urma pașii de mai jos, ale căror acțiuni le vom descrie pentru stările bazei standard de forma xa,\vert x \rangle \vert a\rangle, unde x{0,,2m11}x\in\{0,\ldots,2^{m-1} - 1\} este un întreg codificat pe m1m-1 biți în notație binară și aa este un singur bit.

  1. Mai întâi aplică transformata Fourier cuantică de dimensiune 2m12^{m-1} pe cei m1m-1 qubiți din stânga/de jos pentru a obține această stare:

    (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.

    Acest lucru se face aplicând recursiv metoda descrisă pentru cu un qubit mai puțin, folosind operația Hadamard pe un singur qubit drept caz de bază.

  2. Folosește qubitul din dreapta/de sus drept control pentru a injecta faza ω2my\omega_{2^m}^y pentru fiecare stare a bazei standard y\vert y\rangle a celor m1m-1 qubiți rămași (după cum este descris mai sus) pentru a obține această stare:

    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. Aplică o poartă Hadamard pe qubitul din dreapta/de sus pentru a obține această stare:

    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. Permută ordinea qubiților astfel încât bitul cel mai puțin semnificativ să devină bitul cel mai semnificativ, cu toți ceilalți deplasați în sus/dreapta:

    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.

De exemplu, iată circuitul obținut pentru N=32=25.N = 32 = 2^5. În această diagramă, qubiților li se dau nume care corespund vectorilor bazei standard xa\vert x\rangle \vert a\rangle (pentru intrare) și by\vert b\rangle \vert y\rangle (pentru ieșire), pentru claritate.

Diagrama circuitului cuantic pentru transformata Fourier cuantică de dimensiune 32

Analiză

Formula cheie de care avem nevoie pentru a verifica că circuitul tocmai descris implementează transformata Fourier cuantică de dimensiune 2m2^m este aceasta:

(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)}.

Această formulă este valabilă pentru orice alegere a întregilor a,a, b,b, x,x, și y,y, dar o vom folosi doar pentru a,b{0,1}a,b\in\{0,1\} și x,y{0,,2m11}.x,y\in\{0,\ldots,2^{m-1}-1\}. Se poate verifica expandând produsul din exponent din membrul drept,

ω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},

unde a doua egalitate utilizează observația că

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

Transformata Fourier cuantică de dimensiune 2m2^m este definită după cum urmează pentru orice 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

Dacă scriem uu și vv ca

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

pentru a,b{0,1}a,b\in\{0,1\} și x,y{0,,2m11},x,y\in\{0,\ldots,2^{m-1} - 1\}, obținem

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}

În final, gândindu-ne la stările bazei standard xa\vert x \rangle \vert a\rangle și by\vert b \rangle \vert y \rangle ca la codificări binare ale unor întregi din intervalul {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}

vedem că circuitul de mai sus implementează operația necesară. Dacă această metodă de a efectua transformata Fourier cuantică ți se pare remarcabilă, este pentru că și este: este în esență transformata Fourier rapidă sub forma unui circuit cuantic.

În final, să numărăm câte porți sunt utilizate în circuitul tocmai descris. Porțile de fază controlată nu fac parte din setul standard de porți discutat în lecția anterioară, dar pentru început vom ignora acest lucru și vom număra fiecare dintre ele ca o singură poartă.

Fie sms_m numărul de porți necesare pentru fiecare alegere posibilă a lui m.m. Dacă m=1,m=1, transformata Fourier cuantică este doar o operație Hadamard, deci

s1=1.s_1 = 1.

Dacă m2,m\geq 2, atunci în circuitul de mai sus avem nevoie de sm1s_{m-1} porți pentru transformata Fourier cuantică pe m1m-1 qubiți, plus m1m-1 porți de fază controlată, plus o poartă Hadamard, plus m1m-1 porți swap, deci

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

Putem obține o expresie de formă închisă prin sumare:

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

De fapt, nu avem nevoie de atâtea porți swap câte descrie metoda. Dacă rearanjăm ușor porțile, putem împinge toate porțile swap spre dreapta și reduce numărul de porți swap necesare la m/2.\lfloor m/2\rfloor. Asimptotic vorbind, aceasta nu este o îmbunătățire majoră: obținem în continuare circuite cu dimensiunea O(m2)O(m^2) pentru efectuarea lui QFT2m.\mathrm{QFT}_{2^m}.

Dacă dorim să implementăm transformata Fourier cuantică folosind numai porți din setul nostru standard, trebuie să construim sau să aproximăm fiecare dintre porțile de fază controlată cu porți din setul nostru. Numărul necesar depinde de cât de multă precizie cerem, dar ca funcție de mm costul total rămâne pătratic.

Este, de fapt, posibil să aproximăm transformata Fourier cuantică destul de precis cu un număr sub-pătratic de porți, folosind faptul că PαP_{\alpha} este foarte aproape de operația identitate când α\alpha este foarte mic — ceea ce înseamnă că putem pur și simplu omite majoritatea porților de fază controlată fără a suferi o pierdere prea mare în termeni de precizie.

Procedura generală și analiza

Acum vom examina procedura de estimare a fazei în general. Ideea este de a extinde versiunea cu doi qubiți a estimării fazei pe care am considerat-o mai sus, în modul natural sugerat de diagrama următoare.

Procedura de estimare a fazei

Observă că, pentru fiecare qubit de control adăugat în partea de sus, dublăm numărul de ori în care operația unitară UU este efectuată. Acest lucru este indicat în diagramă prin puterile lui UU pentru fiecare dintre operațiile unitare controlate.

Cel mai simplu mod de a implementa o operație controlată-UkU^k pentru o alegere oarecare a lui kk este pur și simplu să repete o operație controlată-UU de kk ori. Dacă aceasta este într-adevăr metodologia folosită, trebuie recunoscut că adăugarea qubiților de control contribuie semnificativ la dimensiunea circuitului: dacă avem mm qubiți de control, precum descrie diagrama, sunt necesare în total 2m12^m - 1 copii ale operației controlate-UU. Aceasta înseamnă că un cost computațional semnificativ este generat pe măsură ce mm crește — dar, după cum vom vedea, duce și la o aproximare semnificativ mai precisă a lui θ.\theta.

Este important de menționat, totuși, că pentru unele alegeri ale lui UU ar putea fi posibil să creezi un circuit care implementează operația UkU^k pentru valori mari ale lui kk într-un mod mai eficient decât simpla repetare de kk ori a circuitului pentru U.U. Vom vedea un exemplu specific în contextul factorizării întregi mai târziu în lecție, unde algoritmul eficient pentru exponențierea modulară discutat în lecția anterioară vine în ajutor.

Acum să analizăm circuitul tocmai descris. Starea imediat înainte de transformata Fourier cuantică inversă arată astfel:

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 caz special

Similar cu ceea ce am făcut în cazul m=2m=2, vom lua în considerare mai întâi cazul special în care θ=y/2m\theta = y/2^m pentru y{0,,2m1}.y\in\{0,\ldots,2^m-1\}. În acest caz, starea anterioară transformatei cuantice Fourier inverse poate fi scrisă alternativ astfel:

ψ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.

Astfel, când se aplică transformata cuantică Fourier inversă, starea devine

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

iar măsurătorile dezvăluie yy (codificat în binar).

Mărginirea probabilităților

Pentru alte valori ale lui θ,\theta, adică cele care nu iau forma y/2my/2^m pentru un întreg y,y, rezultatele măsurătorilor nu vor fi certe, dar putem demonstra limite asupra probabilităților pentru diferite rezultate. În continuare, să considerăm o alegere arbitrară a lui θ\theta care satisface 0θ<1.0\leq \theta < 1.

După efectuarea transformatei cuantice Fourier inverse, starea circuitului este aceasta:

ψ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.

Prin urmare, când se efectuează măsurătorile pe primii mm qubiți, observăm fiecare rezultat yy cu probabilitatea

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.

Pentru a înțelege mai bine aceste probabilități, vom folosi aceeași formulă pe care am văzut-o anterior, pentru suma porțiunii inițiale a unei serii geometrice.

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}

Putem simplifica suma care apare în formula pentru pyp_y luând α=e2πi(θy/2m).\alpha = e^{2\pi i (\theta - y/2^m)}. Iată ce obținem.

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}

Astfel, în cazul în care θ=y/2m,\theta = y/2^m, găsim că py=1p_y = 1 (cum știam deja din considerarea acestui caz special), iar în cazul în care θy/2m,\theta \neq y/2^m, găsim că

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.

Putem afla mai multe despre aceste probabilități gândindu-ne la relația dintre lungimile arcelor și lungimile coardelor pe cercul unitar. Iată o figură care ilustrează relațiile de care avem nevoie pentru orice număr real δ[12,12].\delta\in \bigl[ -\frac{1}{2},\frac{1}{2}\bigr].

Ilustrarea relației dintre lungimile arcelor și coardelor

În primul rând, lungimea coardei (desenată în albastru) nu poate fi mai mare decât lungimea arcului (desenată în violet):

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

Raportând aceste lungimi în cealaltă direcție, observăm că raportul dintre lungimea arcului și lungimea coardei este maxim când δ=±1/2,\delta = \pm 1/2, iar în acest caz raportul este jumătate din circumferința cercului împărțită la diametru, adică π/2.\pi/2. Astfel, avem

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},

și deci

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

O analiză bazată pe aceste relații dezvăluie următoarele două fapte.

  1. Presupune că θ\theta este un număr real și y{0,,2m1}y\in \{0,\ldots,2^m-1\} satisface

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

    Aceasta înseamnă că y/2my/2^m este fie cea mai bună aproximare cu mm biți a lui θ,\theta, fie se află exact la mijloc între y/2my/2^m și (y1)/2m(y-1)/2^m sau (y+1)/2m,(y+1)/2^m, deci este una dintre cele mai bune două aproximări ale lui θ.\theta.

    Vom demonstra că pyp_y trebuie să fie destul de mare în acest caz. Din ipoteza pe care o considerăm, rezultă că 2mθy1/2,\vert 2^m \theta - y \vert \leq 1/2, deci putem folosi a doua observație de mai sus privind lungimile arcelor și coardelor pentru a concluziona că

    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.

    Putem folosi de asemenea prima observație despre lungimile arcelor și coardelor pentru a concluziona că

    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.

    Folosind aceste două inegalități pentru pyp_y obținem

    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.

    Aceasta explică observația noastră că cel mai bun rezultat apare cu probabilitate mai mare de 40%40\% în versiunea m=2m=2 a estimării de fază discutată anterior. Nu este chiar 40%, ci 4/π2,4/\pi^2, și de fapt această limită se menține pentru orice alegere a lui m.m.

  2. Acum presupune că y{0,,2m1}y\in \{0,\ldots,2^m-1\} satisface

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

    Aceasta înseamnă că există o aproximare mai bună z/2mz/2^m a lui θ\theta între θ\theta și y/2m.y/2^m.

    De această dată vom demonstra că pyp_y nu poate fi prea mare. Putem începe cu observația simplă că

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

    care rezultă din faptul că oricare două puncte de pe cercul unitar pot diferi în valoare absolută cu cel mult 2.2.

    Putem folosi de asemenea a doua observație despre lungimile arcelor și coardelor de mai sus, de această dată lucrând cu numitorul lui pyp_y în loc de numărător, pentru a concluziona

    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}.

    Combinând cele două inegalități obținem

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

    De remarcat că, deși această limită este suficient de bună pentru scopurile noastre, ea este destul de brută — probabilitatea este de obicei mult mai mică decât 1/4.1/4.

Concluzia importantă a acestei analize este că aproximările foarte apropiate ale lui θ\theta au probabilitate mare să apară — vom obține cea mai bună aproximare cu mm biți cu probabilitate mai mare de 40%40\% — în timp ce aproximările care diferă cu mai mult de 2m2^{-m} au probabilitate mai mică să apară, cu probabilitate mărginită superior de 25%.25\%.

Având aceste garanții, este posibil să ne creștem încrederea repetând procedura de estimare a fazei de mai multe ori, pentru a aduna dovezi statistice despre θ.\theta. Este important de remarcat că starea ψ\vert\psi\rangle a colecției inferioare de qubiți rămâne neschimbată de procedura de estimare a fazei, deci poate fi folosită pentru a rula procedura de câte ori dorim. În particular, de fiecare dată când rulăm circuitul, obținem cea mai bună aproximare cu mm biți a lui θ\theta cu probabilitate mai mare de 40%,40\%, în timp ce probabilitatea de a fi în afara cu mai mult de 2m2^{-m} este mărginită de 25%.25\%. Dacă rulăm circuitul de mai multe ori și luăm cel mai frecvent rezultat care apare, este prin urmare extrem de probabil că rezultatul care apare cel mai des nu va fi unul care apare în cel mult 25%25\% din cazuri. Ca urmare, vom obține cu mare probabilitate o aproximare y/2my/2^m care se află la distanță mai mică de 1/2m1/2^m față de valoarea θ.\theta. Într-adevăr, probabilitatea mică de a fi în afara cu mai mult de 1/2m1/2^m scade exponențial cu numărul de ori în care se rulează procedura.

Iată două grafice care arată probabilitățile pentru trei valori consecutive ale lui yy când m=3m = 3 și m=4m=4 ca funcții de θ.\theta. (Doar trei rezultate sunt afișate pentru claritate. Probabilitățile pentru celelalte rezultate se obțin prin deplasarea ciclică a aceleiași funcții subiacente.)

Grafic care arată probabilitățile rezultatelor pentru estimarea fazei cu trei qubiți

Grafic care arată probabilitățile rezultatelor pentru estimarea fazei cu patru qubiți