Vai al contenuto principale

Procedura di stima della fase

In questa sezione discutiamo la procedura di stima della fase, ovvero un algoritmo quantistico per risolvere il problema della stima della fase.

Inizieremo con un "riscaldamento" a bassa precisione, che illustra l'intuizione di base del metodo. Parleremo poi della trasformata di Fourier quantistica, un'importante operazione quantistica impiegata nella procedura di stima della fase, e della sua implementazione tramite circuiti quantistici. Una volta acquisita la trasformata di Fourier quantistica, descriveremo la procedura di stima della fase nella sua generalità e ne analizzeremo le prestazioni.

Riscaldamento: approssimare le fasi con bassa precisione

Iniziamo con alcune versioni semplificate della procedura di stima della fase, che forniscono soluzioni a bassa precisione al problema della stima della fase. Questo è utile per spiegare l'intuizione alla base della procedura generale che vedremo più avanti nella lezione.

Usare il phase kickback

Un approccio semplice al problema della stima della fase, che ci permette di ricavare qualche informazione sul valore θ\theta cercato, si basa sul fenomeno del phase kick-back. Come vedremo, si tratta essenzialmente di una versione a singolo qubit della procedura generale di stima della fase discussa più avanti nella lezione.

Come parte dell'input al problema di stima della fase, abbiamo un circuito quantistico unitario per l'operazione U.U. Possiamo usare la descrizione di questo circuito per creare un circuito per un'operazione controlled-UU, che può essere rappresentata come suggerisce la seguente figura (con l'operazione U,U, vista come gate quantistico, a sinistra e un'operazione controlled-UU a destra).

Versioni non controllata e controllata di un'operazione unitaria

Possiamo creare un circuito quantistico per un'operazione controlled-UU aggiungendo prima un qubit di controllo al circuito per U,U, e poi sostituendo ogni gate nel circuito per UU con una versione controllata di quel gate — quindi il nostro unico nuovo qubit di controllo controlla effettivamente ogni singolo gate nel circuito per U.U. Questo richiede che disponiamo di una versione controllata di ogni gate nel nostro circuito, ma possiamo sempre costruire circuiti per queste operazioni controllate nel caso in cui non siano incluse nel nostro insieme di gate.

Consideriamo ora il seguente circuito, in cui lo stato di input ψ\vert\psi\rangle di tutti i qubit tranne quello superiore è il vettore eigenvettore dello stato quantistico di U.U.

Un circuito a singolo qubit per la stima della fase

Le probabilità dei risultati di misura per questo circuito dipendono dall'autovalore di UU corrispondente all'autovettore ψ.\vert\psi\rangle. Analizziamo il circuito in dettaglio per determinare esattamente come.

Stati di un circuito a singolo qubit per la stima della fase

Lo stato iniziale del circuito è

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

e il primo gate di Hadamard trasforma questo stato in

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

Successivamente viene eseguita l'operazione controlled-UU, che produce lo stato

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

Utilizzando l'ipotesi che ψ\vert\psi\rangle sia un autovettore di UU con autovalore λ=e2πiθ,\lambda = e^{2\pi i\theta}, possiamo esprimere questo stato in alternativa come segue.

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

Qui osserviamo il fenomeno del phase kickback. È leggermente diverso rispetto a quanto visto nell'algoritmo di Deutsch e nell'algoritmo di Deutsch-Jozsa perché non stiamo lavorando con un gate di query — ma l'idea è simile.

Infine, viene eseguito il secondo gate di Hadamard. Dopo una semplice semplificazione, otteniamo questa espressione per lo stato.

π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 misura produce quindi i risultati 00 e 11 con queste probabilità:

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}

Ecco un grafico delle probabilità per i due possibili risultati, 00 e 1,1, in funzione di θ.\theta.

Probabilità dei risultati dal phase kickback

Naturalmente, le due probabilità sommano sempre a 1.1. Nota che quando θ=0,\theta = 0, il risultato della misura è sempre 0,0, e quando θ=1/2,\theta = 1/2, il risultato della misura è sempre 1.1. Quindi, sebbene il risultato della misura non riveli esattamente qual è θ,\theta, ci fornisce alcune informazioni su di esso — e se ci fosse stato promesso che θ=0\theta = 0 oppure θ=1/2,\theta = 1/2, potremmo capire dal circuito quale delle due è corretta senza errori.

In modo intuitivo, possiamo pensare al risultato della misura del circuito come a una stima di θ\theta con "un bit di precisione." In altre parole, se scrivessimo θ\theta in notazione binaria e lo arrotondassimo a un bit, avremmo un numero come questo:

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

Il risultato della misura può essere visto come una stima per il bit a.a. Quando θ\theta non è né 001/2,1/2, c'è una probabilità non nulla che la stima sia errata — ma la probabilità di commettere un errore diventa sempre più piccola man mano che ci avviciniamo a 00 o 1/2.1/2.

È naturale chiedersi quale ruolo svolgano i due gate di Hadamard in questa procedura:

  • Il primo gate di Hadamard porta il qubit di controllo in una sovrapposizione uniforme di 0\vert 0\rangle e 1,\vert 1\rangle, in modo che quando si verifica il phase kickback, esso avvenga per lo stato 1\vert 1\rangle e non per lo stato 0,\vert 0\rangle, creando una differenza di fase relativa che influenza i risultati della misura. Se non lo facessimo e il phase kickback producesse una fase globale, non avrebbe alcun effetto sulle probabilità di ottenere diversi risultati di misura.

  • Il secondo gate di Hadamard ci permette di apprendere qualcosa sul numero θ\theta attraverso il fenomeno dell'interferenza. Prima del secondo gate di Hadamard, lo stato del qubit superiore è

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

    e se misurassimo questo stato, otterremmo 00 e 11 ciascuno con probabilità 1/2,1/2, senza dirci nulla su θ.\theta. Eseguendo il secondo gate di Hadamard, però, facciamo sì che il numero θ\theta influenzi le probabilità di output.

Raddoppiare la fase

Il circuito sopra usa il fenomeno del phase kickback per approssimare θ\theta con un singolo bit di precisione. Un bit di precisione potrebbe essere tutto ciò di cui abbiamo bisogno in alcune situazioni — ma per la fattorizzazione avremo bisogno di molta più precisione. Una domanda naturale è: come possiamo sapere di più su θ?\theta?

Una cosa molto semplice che possiamo fare è sostituire l'operazione controlled-UU nel nostro circuito con due copie di questa operazione, come in questo circuito:

Stima della fase a singolo bit raddoppiata

Due copie di un'operazione controlled-UU equivalgono a un'operazione controlled-U2U^2. Se ψ\vert\psi\rangle è un autovettore di UU con autovalore λ=e2πiθ,\lambda = e^{2\pi i \theta}, allora questo stato è anche un autovettore di U2,U^2, questa volta con autovalore λ2=e2πi(2θ).\lambda^2 = e^{2\pi i (2\theta)}.

Quindi, se eseguiamo questa versione del circuito, stiamo effettivamente eseguendo lo stesso calcolo di prima, tranne che il numero θ\theta è sostituito da 2θ.2\theta. Ecco un grafico che illustra le probabilità di output al variare di θ\theta da 00 a 1.1.

Probabilità dei risultati dal phase kickback raddoppiato

Farlo può effettivamente fornirci alcune informazioni aggiuntive su θ.\theta. Se la rappresentazione binaria di θ\theta è

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

allora raddoppiare θ\theta sposta effettivamente il punto binario di una posizione a destra:

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

E poiché stiamo equiparando θ=1\theta = 1 con θ=0\theta = 0 mentre ci muoviamo attorno al cerchio unitario, vediamo che il bit a1a_1 non ha influenza sulle nostre probabilità, e stiamo effettivamente ottenendo una stima per il secondo bit dopo il punto binario se arrotondiamo θ\theta a due bit. Per esempio, se sapessimo in anticipo che θ\theta è o 00 o 1/4,1/4, potremmo fidarci completamente del risultato della misura per dirci quale.

Non è immediatamente chiaro, però, come questa stima dovrebbe essere riconciliata con ciò che abbiamo appreso dal circuito originale (non raddoppiato) del phase kickback per fornirci le informazioni più accurate possibili su θ.\theta. Quindi facciamo un passo indietro e consideriamo come procedere.

Stima della fase a due qubit

Piuttosto che considerare separatamente le due opzioni descritte sopra, combiniamole in un unico circuito come questo.

La configurazione iniziale per la stima della fase con due qubit

I gate di Hadamard dopo le operazioni controllate sono stati rimossi e qui non ci sono ancora misure. Aggiungeremo altro al circuito mentre consideriamo le nostre opzioni per imparare il più possibile su θ.\theta.

Se eseguiamo questo circuito quando ψ\vert\psi\rangle è un autovettore di U,U, lo stato dei qubit inferiori rimarrà ψ\vert\psi\rangle per tutto il circuito, e le fasi saranno "kickate" nello stato dei due qubit superiori. Analizziamo attentamente il circuito, attraverso la figura seguente.

Stati per la stima della fase con due qubit

Possiamo scrivere lo stato π1\vert\pi_1\rangle così:

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

Quando viene eseguita la prima operazione controlled-UU, l'autovalore λ=e2πiθ\lambda = e^{2\pi i\theta} viene kickato nella fase quando a0a_0 (il qubit superiore) è uguale a 1,1, ma non quando è 0.0. Quindi possiamo esprimere lo stato risultante come segue:

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

Il secondo e il terzo gate controlled-UU fanno qualcosa di simile, ma per a1a_1 invece che per a0,a_0, e con θ\theta sostituito da 2θ.2\theta. Possiamo esprimere lo stato risultante così:

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

Se pensiamo alla stringa binaria a1a0a_1 a_0 come a un intero x{0,1,2,3}x \in \{0,1,2,3\} in notazione binaria, cioè x=2a1+a0,x = 2 a_1 + a_0, possiamo esprimere questo stato in modo alternativo come segue.

π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

Il nostro obiettivo è estrarre da questo stato quante più informazioni possibili su θ.\theta.

A questo punto considereremo un caso speciale, in cui ci viene promesso che θ=y4\theta = \frac{y}{4} per qualche intero y{0,1,2,3}.y\in\{0,1,2,3\}. In altre parole, abbiamo θ{0,1/4,1/2,3/4},\theta\in \{0, 1/4, 1/2, 3/4\}, quindi possiamo esprimere questo numero esattamente in notazione binaria con due bit, come 00,00, 01,01, 10,10, o 11.11. In generale, θ\theta potrebbe non essere uno di questi quattro valori, ma pensare a questo caso speciale ci aiuterà a capire come estrarre informazioni su θ\theta nel modo più efficace.

Per prima cosa definiamo un vettore di stato a due qubit per ogni possibile valore 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

Dopo aver semplificato gli esponenziali, possiamo scrivere questi vettori come segue.

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

Questi vettori sono ortogonali: scegliendo una qualsiasi coppia di essi e calcolando il loro prodotto interno, otteniamo 0.0. Ognuno è anche un vettore unitario, quindi {ϕ0,ϕ1,ϕ2,ϕ3}\{\vert\phi_0\rangle, \vert\phi_1\rangle, \vert\phi_2\rangle, \vert\phi_3\rangle\} è una base ortonormale. Sappiamo quindi immediatamente che esiste una misura in grado di discriminarli perfettamente — ovvero che, se ci viene dato uno di essi ma non sappiamo quale, possiamo capire quale sia senza errori.

Per eseguire tale discriminazione con un circuito quantistico, possiamo prima definire un'operazione unitaria VV che trasforma gli stati della base standard nei quattro stati elencati sopra.

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}

Per scrivere VV come matrice 4×4,4\times 4, è sufficiente prendere le colonne di VV come gli stati ϕ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}

Questa è una matrice speciale, e probabilmente molti lettori l'hanno già incontrata: è la matrice associata alla trasformata discreta di Fourier in 44 dimensioni. Alla luce di questo fatto, chiamiamola QFT4\mathrm{QFT}_4 invece di V.V. Il nome QFT\mathrm{QFT} è un'abbreviazione di quantum Fourier transform (trasformata di Fourier quantistica) — che è essenzialmente la trasformata discreta di Fourier, vista come operazione unitaria. Discuteremo la trasformata di Fourier quantistica in modo più dettagliato e generale a breve.

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}

Possiamo eseguire l'inverso di questa operazione per andare nell'altra direzione, trasformando gli stati ϕ0,,ϕ3\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle negli stati della base standard 0,,3.\vert 0\rangle,\ldots,\vert 3\rangle. Se facciamo questo, possiamo misurare per capire quale valore y{0,1,2,3}y\in\{0,1,2,3\} descrive θ\theta come θ=y/4.\theta = y/4. Ecco uno schema di un circuito quantistico che fa questo.

Stima della fase con due qubit

In sintesi, se eseguiamo questo circuito quando θ=y/4\theta = y/4 per y{0,1,2,3},y\in\{0,1,2,3\}, lo stato immediatamente prima che avvengano le misure sarà ψy\vert \psi\rangle \vert y\rangle (con yy codificato come stringa binaria a due bit), quindi le misure riveleranno il valore yy senza errori.

Questo circuito è motivato dal caso speciale θ{0,1/4,1/2,3/4}\theta \in \{0,1/4,1/2,3/4\} — ma possiamo eseguirlo per qualsiasi scelta di UU e ψ,\vert \psi\rangle, e quindi per qualsiasi valore di θ,\theta, che desideriamo. Ecco un grafico delle probabilità di output che il circuito produce per scelte arbitrarie di θ.\theta.

Probabilità dei risultati dalla stima della fase a due qubit

Questo è un netto miglioramento rispetto alla variante a singolo qubit descritta in precedenza nella lezione. Non è perfetto — può darci la risposta sbagliata — ma la risposta è fortemente orientata verso valori di yy per cui y/4y/4 è vicino a θ.\theta. In particolare, il risultato più probabile corrisponde sempre al valore di y/4y/4 più vicino a θ\theta (equiparando θ=0\theta = 0 e θ=1\theta = 1 come prima), e dal grafico sembra che questo valore più vicino per xx appaia sempre con probabilità appena superiore al 40%.40\%. Quando θ\theta si trova esattamente a metà tra due tali valori, come θ=0.375\theta = 0.375 ad esempio, i due valori di yy ugualmente vicini hanno la stessa probabilità.

Prepararsi a generalizzare a molti qubit

Dato il miglioramento appena ottenuto usando due qubit di controllo invece di uno, insieme all'inverso della trasformata di Fourier quantistica a 44 dimensioni, è naturale considerare di generalizzarlo ulteriormente — aggiungendo altri qubit di controllo. Quando facciamo questo, otteniamo la procedura di stima della fase generale. Vedremo come funziona a breve, ma per descriverla con precisione avremo bisogno di discutere la trasformata di Fourier quantistica in maggiore generalità, per vedere come è definita per altre dimensioni e come possiamo implementarla (o il suo inverso) con un circuito quantistico.

Trasformata di Fourier quantistica

La trasformata di Fourier quantistica è un'operazione unitaria che può essere definita per qualsiasi dimensione intera positiva N.N. In questa sezione vedremo come questa operazione è definita e come può essere implementata con un circuito quantistico su mm qubit con costo O(m2)O(m^2) quando N=2m.N = 2^m.

Le matrici che descrivono la trasformata di Fourier quantistica derivano da un'analoga operazione su vettori NN-dimensionali nota come trasformata discreta di Fourier. Questa operazione può essere concepita in modi diversi. Ad esempio, possiamo pensare alla trasformata discreta di Fourier in termini puramente astratti e matematici come una mappatura lineare. Oppure possiamo pensarla in termini computazionali, dove ci viene dato un vettore NN-dimensionale di numeri complessi (utilizzando la notazione binaria per codificare le parti reale e immaginaria delle voci, per ipotesi) e l'obiettivo è calcolare il vettore NN-dimensionale ottenuto applicando la trasformata discreta di Fourier. Il nostro focus sarà su un terzo modo, ovvero considerare questa trasformazione come un'operazione unitaria che può essere eseguita su un sistema quantistico.

Esiste un algoritmo efficiente per calcolare la trasformata discreta di Fourier su un dato vettore di input noto come trasformata veloce di Fourier. Ha applicazioni nell'elaborazione del segnale e in molte altre aree, ed è considerato da molti uno degli algoritmi più importanti mai scoperti. Come si vedrà, l'implementazione della trasformata di Fourier quantistica quando NN è una potenza di 2 che studieremo si basa esattamente sulla stessa struttura sottostante che rende possibile la trasformata veloce di Fourier.

Definizione della trasformata di Fourier quantistica

Per definire la trasformata di Fourier quantistica, definiremo prima un numero complesso ωN,\omega_N, per ogni intero positivo N,N, come segue:

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

Questo è il numero sul cerchio unitario complesso che si ottiene partendo da 11 e spostandosi in senso antiorario di un angolo di 2π/N2\pi/N radianti, ovvero una frazione di 1/N1/N della circonferenza del cerchio. Ecco alcuni esempi:

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

Ora possiamo definire la trasformata di Fourier quantistica NN-dimensionale, descritta da una matrice N×NN\times N le cui righe e colonne sono associate agli stati della base standard 0,,N1.\vert 0\rangle,\ldots,\vert N-1\rangle. Avremo bisogno di questa operazione solo quando N=2mN = 2^m è una potenza di 22 per la stima della fase, ma l'operazione può essere definita per qualsiasi intero positivo 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

Come già detto, questa è la matrice associata alla trasformata discreta di Fourier NN-dimensionale. Spesso il fattore iniziale 1/N1/\sqrt{N} non è incluso nella definizione di questa matrice, ma dobbiamo includerlo per ottenere una matrice unitaria.

Ecco la trasformata di Fourier quantistica, scritta come matrice, per alcuni valori piccoli di 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}

Nota in particolare che QFT2\mathrm{QFT}_2 è un altro nome per un'operazione di Hadamard.

Unitarietà

Verifichiamo che QFTN\mathrm{QFT}_N sia unitaria, per qualsiasi scelta di N.N. Un modo per farlo è mostrare che le sue colonne formano una base ortonormale. Possiamo definire un vettore corrispondente alla colonna numero y,y, partendo da y=0y = 0 fino a y=N1,y = N-1, così:

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

Calcolare il prodotto interno tra due qualsiasi di questi vettori ci fornisce questa espressione:

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

Possiamo valutare somme come questa usando la seguente formula per la somma dei primi NN termini di una serie geometrica.

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}

Nello specifico, possiamo usare questa formula quando α=ωNyz.\alpha = \omega_N^{y-z}. Quando y=z,y = z, abbiamo α=1,\alpha = 1, quindi usando la formula e dividendo per NN si ottiene

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

Quando yz,y\neq z, abbiamo α1,\alpha \neq 1, quindi la formula rivela questo:

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

Questo accade perché ωNN=e2πi=1,\omega_N^N = e^{2\pi i} = 1, quindi ωNN(yz)=1yz=1,\omega_N^{N(y-z)} = 1^{y-z} = 1, rendendo il numeratore zero, mentre il denominatore è diverso da zero perché ωNyz1.\omega_N^{y-z} \neq 1. In termini intuitivi, quello che stiamo facendo è sommare una serie di punti distribuiti attorno al cerchio unitario, e questi si cancellano dando 00 quando sommati.

Abbiamo quindi stabilito che {ϕ0,,ϕN1}\{\vert\phi_0\rangle,\ldots,\vert\phi_{N-1}\rangle\} è un insieme ortonormale,

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

il che rivela che QFTN\mathrm{QFT}_N è unitaria.

gate a fase controllata

Per implementare la trasformata di Fourier quantistica con un circuito quantistico, avremo bisogno di fare uso di gate a fase controllata. Ricorda che un'operazione di fase è un'operazione unitaria a singolo qubit della forma

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

per qualsiasi numero reale α.\alpha. Una versione controllata di questo gate ha la seguente matrice:

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}

Per questo gate controllato, non importa quale qubit sia il controllo e quale il target, perché le due possibilità sono equivalenti. Possiamo usare uno qualsiasi dei seguenti simboli per rappresentare questo gate nei diagrammi di circuiti quantistici.

Rappresentazione nel diagramma di circuito quantistico per i gate a fase controllata

Per la terza forma, l'etichetta α\alpha viene talvolta posta di lato alla linea di controllo o sotto il controllo inferiore quando è più conveniente.

Per eseguire la trasformata di Fourier quantistica quando N=2mN = 2^m e m2,m\geq 2, avremo bisogno di eseguire un'operazione su mm qubit la cui azione sugli stati della base standard può essere descritta come

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

dove aa è un bit e y{0,,2m11}y \in \{0,\ldots,2^{m-1} - 1\} è un numero codificato in notazione binaria come una stringa di m1m-1 bit. Questo può essere fatto usando gate a fase controllata generalizzando il seguente esempio, per cui m=5.m=5.

Diagramma di circuito quantistico per l'iniezione di fase

In generale, per una scelta arbitraria di m2,m\geq 2, il qubit superiore corrispondente al bit aa può essere visto come il controllo, con i gate di fase PαP_{\alpha} che vanno da α=π/2m1\alpha = \pi/2^{m-1} sul qubit corrispondente al bit meno significativo di yy a α=π2\alpha = \frac{\pi}{2} sul qubit corrispondente al bit più significativo di y.y. Questi gate a fase controllata commutano tra loro e possono essere eseguiti in qualsiasi ordine.

Implementazione circuitale della QFT

Ora vedremo come possiamo implementare la trasformata di Fourier quantistica con un circuito quando la dimensione N=2mN = 2^m è una potenza di 2.2. Esistono in realtà più modi per implementare la trasformata di Fourier quantistica, ma questo è probabilmente il metodo più semplice conosciuto. Una volta saputo come implementare la trasformata di Fourier quantistica con un circuito quantistico, è semplice implementare la sua inversa: possiamo sostituire ogni gate con la sua inversa (o, equivalentemente, il trasposto coniugato) e applicare i gate nell'ordine inverso. Ogni circuito quantistico composto solo da gate unitari può essere invertito in questo modo.

L'implementazione è di natura ricorsiva, quindi è così che viene descritta nel modo più naturale. Il caso base è m=1,m=1, nel qual caso la trasformata di Fourier quantistica è un'operazione di Hadamard.

Per eseguire la trasformata di Fourier quantistica su mm qubit quando m2,m \geq 2, possiamo eseguire i seguenti passaggi, le cui azioni descriveremo per gli stati della base standard della forma xa,\vert x \rangle \vert a\rangle, dove x{0,,2m11}x\in\{0,\ldots,2^{m-1} - 1\} è un intero codificato come m1m-1 bit in notazione binaria e aa è un singolo bit.

  1. Prima applica la trasformata di Fourier quantistica 2m12^{m-1}-dimensionale agli m1m-1 qubit inferiori/più a sinistra per ottenere questo stato:

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

    Questo viene fatto applicando ricorsivamente il metodo descritto per un qubit in meno, usando l'operazione di Hadamard su un singolo qubit come caso base.

  2. Usa il qubit superiore/più a destra come controllo per iniettare la fase ω2my\omega_{2^m}^y per ogni stato della base standard y\vert y\rangle dei restanti m1m-1 qubit (come descritto sopra) per ottenere questo stato:

    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. Esegui un gate di Hadamard sul qubit superiore/più a destra per ottenere questo stato:

    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. Permuta l'ordine dei qubit in modo che il bit meno significativo diventi il più significativo, con tutti gli altri spostati in su/a destra:

    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.

Ad esempio, ecco il circuito che si ottiene per N=32=25.N = 32 = 2^5. In questo diagramma, ai qubit vengono assegnati nomi che corrispondono ai vettori della base standard xa\vert x\rangle \vert a\rangle (per l'input) e by\vert b\rangle \vert y\rangle (per l'output) per chiarezza.

Diagramma di circuito quantistico per la trasformata di Fourier quantistica a 32 dimensioni

Analisi

La formula chiave di cui abbiamo bisogno per verificare che il circuito appena descritto implementi la trasformata di Fourier quantistica 2m2^m-dimensionale è questa:

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

Questa formula vale per qualsiasi scelta di interi a,a, b,b, xx e y,y, ma ne avremo bisogno solo per a,b{0,1}a,b\in\{0,1\} e x,y{0,,2m11}.x,y\in\{0,\ldots,2^{m-1}-1\}. Può essere verificata espandendo il prodotto nell'esponente sul lato destro,

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

dove la seconda uguaglianza fa uso dell'osservazione che

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

La trasformata di Fourier quantistica 2m2^m-dimensionale è definita come segue per ogni 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

Se scriviamo uu e vv come

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

per a,b{0,1}a,b\in\{0,1\} e x,y{0,,2m11},x,y\in\{0,\ldots,2^{m-1} - 1\}, otteniamo

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}

Infine, pensando agli stati della base standard xa\vert x \rangle \vert a\rangle e by\vert b \rangle \vert y \rangle come codifiche binarie di interi nell'intervallo {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}

vediamo che il circuito sopra implementa l'operazione richiesta. Se questo metodo per eseguire la trasformata di Fourier quantistica sembra notevole, è perché lo è: è essenzialmente la trasformata veloce di Fourier nella forma di un circuito quantistico.

Infine, contiamo quanti gate vengono utilizzati nel circuito appena descritto. I gate a fase controllata non fanno parte del gate set standard di cui abbiamo parlato nella lezione precedente, ma per cominciare ignoreremo questo fatto e conteremo ognuno di essi come un singolo gate.

Indichiamo con sms_m il numero di gate di cui abbiamo bisogno per ogni possibile scelta di m.m. Se m=1,m=1, la trasformata di Fourier quantistica è solo un'operazione di Hadamard, quindi

s1=1.s_1 = 1.

Se m2,m\geq 2, allora nel circuito sopra abbiamo bisogno di sm1s_{m-1} gate per la trasformata di Fourier quantistica su m1m-1 qubit, più m1m-1 gate a fase controllata, più un gate di Hadamard, più m1m-1 gate di swap, quindi

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

Possiamo ottenere un'espressione in forma chiusa sommando:

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

In realtà non abbiamo bisogno di tanti gate di swap quanti ne descrive il metodo. Se riorganizziamo leggermente i gate, possiamo spingere tutti i gate di swap verso destra e ridurre il numero di gate di swap richiesti a m/2.\lfloor m/2\rfloor. Dal punto di vista asintotico questo non è un miglioramento significativo: otteniamo ancora circuiti di dimensione O(m2)O(m^2) per eseguire QFT2m.\mathrm{QFT}_{2^m}.

Se desideriamo implementare la trasformata di Fourier quantistica usando solo gate del nostro gate set standard, dobbiamo costruire o approssimare ciascuno dei gate a fase controllata con gate del nostro insieme. Il numero richiesto dipende da quanta precisione ci serve, ma come funzione di mm il costo totale rimane quadratico.

È in realtà possibile approssimare la trasformata di Fourier quantistica abbastanza bene con un numero sub-quadratico di gate, sfruttando il fatto che PαP_{\alpha} è molto vicino all'operazione identità quando α\alpha è molto piccolo — il che significa che possiamo semplicemente omettere la maggior parte dei gate a fase controllata senza subire troppa perdita in termini di precisione.

Procedura generale e analisi

Esaminiamo ora la procedura di stima della fase in generale. L'idea è estendere la versione a due qubit della stima della fase considerata in precedenza nel modo naturale suggerito dal diagramma seguente.

Phase estimation procedure

Nota che, per ogni nuovo qubit di controllo aggiunto in cima, il numero di esecuzioni dell'operazione unitaria UU raddoppia. Ciò è indicato nel diagramma dalle potenze su UU per ciascuna delle operazioni unitarie controllate.

Il modo più diretto per implementare un'operazione UkU^k controllata per una certa scelta di kk è semplicemente ripetere kk volte l'operazione UU controllata. Se questa è effettivamente la metodologia utilizzata, occorre riconoscere che l'aggiunta di qubit di controllo contribuisce in modo significativo alle dimensioni del circuito: se disponiamo di mm qubit di controllo, come illustrato nel diagramma, sono necessarie in totale 2m12^m - 1 copie dell'operazione UU controllata. Ciò significa che all'aumentare di mm si incorre in un costo computazionale considerevole — ma come vedremo, porta anche a un'approssimazione significativamente più accurata di θ.\theta.

È importante notare, tuttavia, che per alcune scelte di UU potrebbe essere possibile creare un circuito che implementa l'operazione UkU^k per grandi valori di kk in modo più efficiente rispetto alla semplice ripetizione kk volte del circuito per U.U. Vedremo un esempio specifico di questo nel contesto della fattorizzazione di interi più avanti nella lezione, dove viene in soccorso l'algoritmo efficiente per l'esponenziazione modulare discusso nella lezione precedente.

Analizziamo ora il circuito appena descritto. Lo stato immediatamente prima della trasformata di Fourier quantistica inversa ha questo aspetto:

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 caso speciale

In modo analogo a quanto fatto nel caso m=2m=2, consideriamo prima il caso speciale in cui θ=y/2m\theta = y/2^m per y{0,,2m1}.y\in\{0,\ldots,2^m-1\}. In questo caso lo stato prima della trasformata di Fourier quantistica inversa può essere scritto in modo alternativo come segue:

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

Quindi, quando viene applicata la trasformata di Fourier quantistica inversa, lo stato diventa

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

e le misurazioni rivelano yy (codificato in binario).

Limitazione delle probabilità

Per altri valori di θ,\theta, ovvero quelli che non assumono la forma y/2my/2^m per un intero y,y, i risultati delle misurazioni non saranno certi, ma possiamo dimostrare dei limiti sulle probabilità per i diversi esiti. D'ora in poi, consideriamo una scelta arbitraria di θ\theta che soddisfi 0θ<1.0\leq \theta < 1.

Dopo l'esecuzione della trasformata di Fourier quantistica inversa, lo stato del circuito è il seguente:

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

Quindi, quando vengono eseguite le misurazioni sugli mm qubit superiori, osserviamo ogni esito yy con 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.

Per comprendere meglio queste probabilità, utilizzeremo la stessa formula vista in precedenza per la somma della parte iniziale di una serie geometrica.

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}

Possiamo semplificare la somma che appare nella formula per pyp_y ponendo α=e2πi(θy/2m).\alpha = e^{2\pi i (\theta - y/2^m)}. Ecco il risultato ottenuto.

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}

Quindi, nel caso in cui θ=y/2m,\theta = y/2^m, troviamo che py=1p_y = 1 (come sapevamo già dall'analisi di questo caso speciale), e nel caso in cui θy/2m,\theta \neq y/2^m, troviamo che

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.

Possiamo apprendere ulteriori informazioni su queste probabilità ragionando sulla relazione tra lunghezze degli archi e lunghezze delle corde sul cerchio unitario. Ecco una figura che illustra le relazioni necessarie per qualsiasi numero reale δ[12,12].\delta\in \bigl[ -\frac{1}{2},\frac{1}{2}\bigr].

Illustration of the relationship between arc and chord lengths

Innanzitutto, la lunghezza della corda (disegnata in blu) non può essere maggiore della lunghezza dell'arco (disegnata in viola):

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

Mettendo in relazione queste lunghezze nell'altra direzione, vediamo che il rapporto tra la lunghezza dell'arco e la lunghezza della corda è massimo quando δ=±1/2,\delta = \pm 1/2, e in questo caso il rapporto è la metà della circonferenza del cerchio divisa per il diametro, ossia π/2.\pi/2. Pertanto, abbiamo

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

e quindi

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

Un'analisi basata su queste relazioni rivela i seguenti due fatti.

  1. Supponiamo che θ\theta sia un numero reale e che y{0,,2m1}y\in \{0,\ldots,2^m-1\} soddisfi

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

    Ciò significa che y/2my/2^m è o la migliore approssimazione a mm bit di θ,\theta, oppure si trova esattamente a metà tra y/2my/2^m e (y1)/2m(y-1)/2^m o (y+1)/2m,(y+1)/2^m, quindi è una delle due migliori approssimazioni di θ.\theta.

    Dimostreremo che pyp_y deve essere piuttosto grande in questo caso. Dall'ipotesi che stiamo considerando segue che 2mθy1/2,\vert 2^m \theta - y \vert \leq 1/2, quindi possiamo usare la seconda osservazione sulla relazione tra lunghezze degli archi e delle corde per concludere che

    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.

    Possiamo anche usare la prima osservazione sulle lunghezze degli archi e delle corde per concludere che

    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.

    Applicando queste due disuguaglianze a pyp_y si ottiene

    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.

    Questo spiega la nostra osservazione che il risultato migliore si verifica con probabilità superiore al 40%40\% nella versione con m=2m=2 della stima della fase discussa in precedenza. Non è esattamente il 40%, bensì 4/π2,4/\pi^2, e in effetti questo limite vale per ogni scelta di m.m.

  2. Supponiamo ora che y{0,,2m1}y\in \{0,\ldots,2^m-1\} soddisfi

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

    Ciò significa che esiste un'approssimazione migliore z/2mz/2^m di θ\theta compresa tra θ\theta e y/2m.y/2^m.

    Questa volta dimostreremo che pyp_y non può essere troppo grande. Possiamo partire dalla semplice osservazione che

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

    che deriva dal fatto che due qualsiasi punti sul cerchio unitario possono differire in valore assoluto al massimo di 2.2.

    Possiamo anche usare la seconda osservazione sulle lunghezze degli archi e delle corde descritta sopra, lavorando questa volta con il denominatore di pyp_y anziché con il numeratore, per concludere che

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

    Combinando le due disuguaglianze si ottiene

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

    Nota che, sebbene questo limite sia sufficiente per i nostri scopi, è piuttosto approssimativo — la probabilità è solitamente molto inferiore a 1/4.1/4.

La conclusione importante di questa analisi è che le approssimazioni molto vicine a θ\theta hanno alta probabilità di verificarsi — otterremo la migliore approssimazione a mm bit con probabilità superiore al 40%40\% — mentre le approssimazioni che si discostano di più di 2m2^{-m} hanno minore probabilità di verificarsi, con probabilità limitata superiormente dal 25%.25\%.

Date queste garanzie, è possibile aumentare la nostra confidenza ripetendo la procedura di stima della fase più volte, per raccogliere evidenze statistiche su θ.\theta. È importante notare che lo stato ψ\vert\psi\rangle della collezione di qubit inferiori rimane invariato dalla procedura di stima della fase, quindi può essere usato per eseguire la procedura tutte le volte che si desidera. In particolare, ogni volta che eseguiamo il circuito, otteniamo la migliore approssimazione a mm bit di θ\theta con probabilità superiore al 40%,40\%, mentre la probabilità di discostarsi di più di 2m2^{-m} è limitata al 25%.25\%. Se eseguiamo il circuito più volte e prendiamo l'esito che appare più frequentemente, è quindi estremamente probabile che l'esito più comune non sia uno di quelli che si verifica al massimo il 25%25\% delle volte. Di conseguenza, è molto probabile che otterremo un'approssimazione y/2my/2^m che dista al massimo 1/2m1/2^m dal valore θ.\theta. In effetti, la piccola probabilità di discostarsi di più di 1/2m1/2^m decresce esponenzialmente nel numero di volte che la procedura viene eseguita.

Ecco due grafici che mostrano le probabilità per tre valori consecutivi di yy quando m=3m = 3 e m=4m=4 come funzioni di θ.\theta. (Per maggiore chiarezza vengono mostrati solo tre esiti. Le probabilità per gli altri esiti si ottengono traslando ciclicamente la stessa funzione sottostante.)

Plot showing outcome probabilities for three-qubit phase estimation

Plot showing outcome probabilities for four-qubit phase estimation