Sari la conținutul principal
Acest proiect este în versiune beta. Ai găsit o eroare? Deschide un issue pe GitHub. Ai o întrebare sau o idee? Întreabă în Discussions — ne-ar plăcea să aflăm părerea ta!
Cum este calitatea traducerii pe această pagină?

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 UU. 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 UU, privită ca o poartă 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 poartă din Circuitul pentru UU cu o versiune controlată a acelui Gate — astfel, noul nostru qubit de control controlează efectiv fiecare poartă individual din Circuitul pentru UU. 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 poartă-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 UU.

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⟩=∣ψ⟩⊗(12∣0⟩+e2πiθ2∣1⟩)\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 poartă 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θ2∣0⟩+1−e2πiθ2∣1⟩)\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θ2∣2=cos⁡2(πθ)p1=∣1−e2πiθ2∣2=sin⁡2(πθ).\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, suma celor două probabilități este întotdeauna 11. Observă că atunci când θ=0\theta = 0, rezultatul măsurătorii este întotdeauna 00, iar când θ=1/2\theta = 1/2, rezultatul măsurătorii este întotdeauna 11. 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ă ni s-ar garanta 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 aa. Când θ\theta nu este nici 00 nici 1/21/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/21/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

    12∣0⟩+e2πiθ2∣1⟩,\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/21/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 U2U^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 11.

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.a2a3⋯2\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/41/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 doi qubiți​

Î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 UU, starea qubiților de jos va rămâne ∣ψ⟩\vert\psi\rangle pe tot parcursul Circuitului, iar fazele vor fi „transferate" în starea celor doi qubiți 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⟩=∣ψ⟩⊗12∑a0=01∑a1=01∣a1a0⟩.\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ă-UU, 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 11, dar nu și când este 00. Astfel, putem exprima starea rezultată în felul următor:

∣π2⟩=∣ψ⟩⊗12∑a0=01∑a1=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 a0a_0, și cu θ\theta înlocuit prin 2θ2\theta. Putem exprima starea rezultată astfel:

∣π3⟩=∣ψ⟩⊗12∑a0=01∑a1=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+a0x = 2 a_1 + a_0, putem exprima alternativ această stare astfel:

∣π3⟩=∣ψ⟩⊗12∑x=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 doi qubiți pentru fiecare valoare posibilă y∈{0,1,2,3}y \in \{0, 1, 2, 3\}.

∣ϕy⟩=12∑x=03e2πix(y4)∣x⟩=12∑x=03e2πixy4∣x⟩\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⟩=12∣0⟩+12∣1⟩+12∣2⟩+12∣3⟩∣ϕ1⟩=12∣0⟩+i2∣1⟩−12∣2⟩−i2∣3⟩∣ϕ2⟩=12∣0⟩−12∣1⟩+12∣2⟩−12∣3⟩∣ϕ3⟩=12∣0⟩−i2∣1⟩−12∣2⟩+i2∣3⟩\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 00. 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.

V∣00⟩=∣ϕ0⟩V∣01⟩=∣ϕ1⟩V∣10⟩=∣ϕ2⟩V∣11⟩=∣ϕ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×44\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(11111i−1−i1−11−11−i−1i)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 44. Având în vedere acest fapt, hai să o numim QFT4\mathrm{QFT}_4 în loc de VV. 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(11111i−1−i1−11−11−i−1i)\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 pe care o 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 mulți qubiți​

Dat fiind progresul pe care tocmai l-am obținut folosind doi qubiți 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 qubiți 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 qubiți cu cost O(m2)O(m^2) atunci când N=2mN = 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 NN, 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+2−22iω100≈0.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⟩,…,∣N−1⟩\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 NN.

QFTN=1N∑x=0N−1∑y=0N−1ωNxy∣x⟩⟨y∣\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 NN.

QFT1=(1)\mathrm{QFT}_1 = \begin{pmatrix} 1 \end{pmatrix} QFT2=12(111−1)\mathrm{QFT}_2 = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1\\[1mm] 1 & -1 \end{pmatrix} QFT3=13(1111−1+i32−1−i321−1−i32−1+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(11111i−1−i1−11−11−i−1i)\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+i2i−1+i2−1−1−i2−i1−i21i−1−i1i−1−i1−1+i2−i1+i2−11−i2i−1−i21−11−11−11−11−1−i2i1−i2−11+i2−i−1+i21−i−1i1−i−1i11−i2−i−1−i2−1−1+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 NN. 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 yy, începând de la y=0y = 0 și mergând până la y=N−1y = N-1, astfel:

∣ϕy⟩=1N∑x=0N−1ωNxy∣x⟩.\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⟩=1N∑x=0N−1ωNx(y−z)\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+⋯+αN−1={αN−1α−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 α=ωNy−z\alpha = \omega_N^{y-z}. Când y=zy = 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 y≠zy\neq z, avem α≠1\alpha \neq 1, deci formula ne arată că:

⟨ϕz∣ϕy⟩=1NωNN(y−z)−1ωNy−z−1=1N1−1ωNy−z−1=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(y−z)=1y−z=1\omega_N^{N(y-z)} = 1^{y-z} = 1, făcând numărătorul zero, în timp ce numitorul este nenul deoarece ωNy−z≠1\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⟩,…,∣ϕN−1⟩}\{\vert\phi_0\rangle,\ldots,\vert\phi_{N-1}\rangle\} este o mulțime ortonormală,

⟨ϕz∣ϕy⟩={1y=z0y≠z,\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ă poartă 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ă poartă î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 m≥2m\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

∣y⟩∣a⟩↦ω2may∣y⟩∣a⟩,\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,…,2m−1−1}y \in \{0,\ldots,2^{m-1} - 1\} este un număr codificat în notație binară ca un șir de m−1m-1 biți. Acest lucru poate fi realizat folosind porți de fază controlată, generalizând exemplul de mai jos, pentru care m=5m=5.

Quantum circuit diagram for phase injection

În general, pentru o alegere arbitrară a lui m≥2m\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 α=π/2m−1\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 yy. 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 22. 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=1m=1, caz în care transformata Fourier cuantică este o operație Hadamard.

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

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

    (QFT2m−1∣x⟩)∣a⟩=12m−1∑y=02m−1−1ω2m−1xy∣y⟩∣a⟩.\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 m−1m-1 qubiți rămași (după cum este descris mai sus) pentru a obține această stare:

    12m−1∑y=02m−1−1ω2m−1xyω2may∣y⟩∣a⟩.\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:

    12m∑y=02m−1−1∑b=01(−1)abω2m−1xyω2may∣y⟩∣b⟩.\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:

    12m∑y=02m−1−1∑b=01(−1)abω2m−1xyω2may∣b⟩∣y⟩.\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=25N = 32 = 2^5. În această diagramă, qubiților li se dau nume care corespund vectorilor bazei standard ∣x⟩∣a⟩\vert x\rangle \vert a\rangle (pentru intrare) și ∣b⟩∣y⟩\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ω2m−1xyω2may=ω2m(2x+a)(2m−1b+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,…,2m−1−1}.x,y\in\{0,\ldots,2^{m-1}-1\}. Se poate verifica expandând produsul din exponent din membrul drept,

ω2m(2x+a)(2m−1b+y)=ω2m2mxbω2m2xyω2m2m−1abω2may=(−1)abω2m−1xyω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,…,2m−1}u\in\{0,\ldots,2^m - 1\}.

QFT2m∣u⟩=12m∑v=02m−1ω2muv∣v⟩\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=2m−1b+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,…,2m−1−1}x,y\in\{0,\ldots,2^{m-1} - 1\}, obținem

QFT2m∣2x+a⟩=12m∑y=02m−1−1∑b=01ω2m(2x+a)(2m−1b+y)∣b2m−1+y⟩=12m∑y=02m−1−1∑b=01(−1)abω2m−1xyω2may∣b2m−1+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 ∣x⟩∣a⟩\vert x \rangle \vert a\rangle și ∣b⟩∣y⟩\vert b \rangle \vert y \rangle ca la codificări binare ale unor întregi din intervalul {0,…,2m−1}\{0,\ldots,2^m-1\},

∣x⟩∣a⟩=∣2x+a⟩∣b⟩∣y⟩=∣2m−1b+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 mm. Dacă m=1m=1, transformata Fourier cuantică este doar o operație Hadamard, deci

s1=1.s_1 = 1.

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

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

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

sm=∑k=1m(2k−1)=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 2m−12^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 UU. 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:

12m∑x=02m−1(Ux∣ψ⟩)∣x⟩=∣ψ⟩⊗12m∑x=02m−1e2π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,…,2m−1}y\in\{0,\ldots,2^m-1\}. În acest caz, starea anterioară transformatei cuantice Fourier inverse poate fi scrisă alternativ astfel:

∣ψ⟩⊗12m∑x=02m−1e2πixy2m∣x⟩=∣ψ⟩⊗12m∑x=02m−1ω2mxy∣x⟩=∣ψ⟩⊗QFT2m∣y⟩.\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 yy, 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≤θ<10\leq \theta < 1.

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

∣ψ⟩⊗12m∑y=02m−1∑x=02m−1e2π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=∣12m∑x=02m−1e2π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+⋯+αN−1={αN−1α−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=02m−1e2π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=122m∣e2πi(2mθ−y)−1e2πi(θ−y/2m)−1∣2.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δ−1∣≤2π∣δ∣.\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δ−1∣≥4∣δ∣.\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,…,2m−1}y\in \{0,\ldots,2^m-1\} satisface

    ∣θ−y2m∣≤2−(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 (y−1)/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θ−y∣≤1/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)−1∣≥4∣2mθ−y∣=4⋅2m⋅∣θ−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)−1∣≤2π∣θ−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

    py≥122m16⋅22m4π2=4π2≈0.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/π24/\pi^2, și de fapt această limită se menține pentru orice alegere a lui mm.

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

    2−m≤∣θ−y2m∣≤12.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/2my/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)−1∣≤2,\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 22.

    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)−1∣≥4∣θ−y2m∣≥4⋅2−m.\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

    py≤122m416⋅2−2m=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/41/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 2−m2^{-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 greși cu mai mult de 2−m2^{-m} este mărginită superior 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 greși cu mai mult de 1/2m1/2^m scade exponențial odată cu numărul de rulări ale procedurii.

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