Skip to main content
IBM Quantum Platform

Procedura di stima della fase

Successivamente, discuteremo la procedura di stima della fase, che è un algoritmo quantistico per risolvere il problema della stima della fase.

Inizieremo con un riscaldamento a bassa precisione, che spiega alcune delle intuizioni di base del metodo. Parleremo poi della trasformata di Fourier quantistica, un'importante operazione quantistica utilizzata nella procedura di stima di fase, e della sua implementazione nei circuiti quantistici. Una volta ottenuta la trasformata di Fourier quantistica, descriveremo la procedura di stima della fase in tutta la sua generalità e ne analizzeremo le prestazioni.


Riscaldamento: approssimazione delle fasi con bassa precisione

Inizieremo con un paio di versioni semplici della procedura di stima della fase che forniscono soluzioni di 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.

Utilizzo del contraccolpo di fase

Un approccio semplice al problema della stima della fase, che ci permette di imparare qualcosa sul valore θ\theta che cerchiamo, si basa sul fenomeno del kick-back di fase. Come vedremo, si tratta essenzialmente di una versione a un solo qubit della procedura generale di stima della fase che verrà discussa più avanti nella lezione.

Come parte dell'input del 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 UU controllata, che può essere rappresentato come suggerisce questa figura (con l'operazione U,U, vista come una porta quantistica, a sinistra, e un'operazione UU controllata a destra).

Versioni non controllate e controllate di un'operazione unitaria

Possiamo creare un circuito quantistico per un'operazione controllata 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 - in questo modo il nostro nuovo qubit di controllo controlla effettivamente ogni singolo gate nel circuito per U.U. Questo richiede una versione controllata di ogni gate del nostro circuito, ma possiamo sempre costruire circuiti per queste operazioni controllate nel caso in cui non siano incluse nel nostro set di gate.

Si consideri ora il seguente circuito, in cui lo stato di ingresso ψ\vert\psi\rangle di tutti i qubit, tranne quello superiore, è l'autovettore di stato quantistico di U.U.

Un circuito a singolo qubit per la stima di fase

Le probabilità di esito della 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 di fase

Lo stato iniziale del circuito è

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

e la prima porta 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 controllata UU, che dà come risultato 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 avente autovalore λ=e2πiθ,\lambda = e^{2\pi i\theta}, possiamo esprimere alternativamente questo stato 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 si osserva il fenomeno del contraccolpo di fase. Questa volta è leggermente diverso rispetto all'algoritmo di Deutsch e all'algoritmo di Deutsch-Jozsa, perché non stiamo lavorando con un query gate, ma l'idea è simile.

Infine, viene eseguito il secondo gate di Hadamard. Dopo una piccola semplificazione, otteniamo questa espressione per questo 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 misurazione 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à dei due possibili risultati, 00 e 1,1, in funzione di θ.\theta.

Probabilità di esito da contraccolpo di fase

Naturalmente, le due probabilità si sommano sempre a 1.1. Si noti che quando θ=0,\theta = 0, il risultato della misurazione è sempre 0,0, e quando θ=1/2,\theta = 1/2, il risultato della misurazione è sempre 1.1. Quindi, sebbene il risultato della misura non riveli esattamente cosa sia θ\theta, ci fornisce alcune informazioni su di esso - e se ci venisse promesso che θ=0\theta = 0 o θ=1/2,\theta = 1/2, potremmo imparare dal circuito quale dei due è corretto senza errori.

Intuitivamente, si può pensare che il risultato della misurazione del circuito sia un'ipotesi per θ\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 misurazione può essere visto come un'ipotesi per il bit a.a. Quando θ\theta non è né 001/2,1/2, c'è una probabilità non nulla che l'ipotesi sia sbagliata, ma la probabilità di commettere un errore si riduce man mano che ci si avvicina a o probabilità di commettere un errore diventa sempre più piccola man mano che ci si avvicina a 00 o a 1/2.1/2.

È naturale chiedersi quale sia il ruolo delle due porte di Hadamard in questa procedura:

  • Il primo gate di Hadamard imposta il qubit di controllo su una sovrapposizione uniforme di 0\vert 0\rangle e 1,\vert 1\rangle, in modo che quando si verifica il contraccolpo di fase, questo avviene per lo stato 1\vert 1\rangle e non per lo stato 0\vert 0\rangle, creando una differenza di fase relativa che influisce sui risultati della misurazione. Se non lo facessimo e il contraccolpo di fase producesse una fase globale, non avrebbe alcun effetto sulle probabilità di ottenere risultati di misura diversi.

  • La seconda porta di Hadamard ci permette di imparare qualcosa sul numero θ\theta attraverso il fenomeno dell' interferenza. Prima del secondo cancello 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 dovessimo misurare questo stato, otterremmo 00 e 11 ciascuno con la probabilità 1/2,1/2, senza sapere nulla di θ.\theta. Eseguendo la seconda porta di Hadamard, tuttavia, facciamo in modo che il numero θ\theta influisca sulle probabilità di uscita.

Raddoppiare la fase

Il circuito di cui sopra utilizza il fenomeno del contraccolpo di fase per approssimare θ\theta con una precisione di un singolo bit. In alcune situazioni può essere sufficiente un po' di precisione, ma per il factoring avremo bisogno di molta più precisione. Una domanda naturale è: come possiamo imparare di più su θ?\theta?

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

Stima di fase a singolo bit raddoppiata

Due copie di un'operazione controllata UU sono equivalenti a un'operazione controllata U2U^2. Se ψ\vert\psi\rangle è un autovettore di UU avente autovalore λ=e2πiθ,\lambda = e^{2\pi i \theta}, allora questo stato è anche un autovettore di U2,U^2, questa volta avente 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 per il fatto che il numero θ\theta è sostituito dal numero 2θ.2\theta. Ecco un grafico che illustra le probabilità di uscita quando θ\theta varia da 00 a 1.1.

Probabilità di esito da contraccolpo a doppia fase

Questa operazione 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 il raddoppio di θ\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 a θ=0\theta = 0 mentre ci muoviamo intorno al cerchio unitario, vediamo che il bit a1a_1 non ha alcuna influenza sulle nostre probabilità, e stiamo effettivamente ottenendo un'ipotesi 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 pienamente del risultato della misurazione per sapere quale sia.

Tuttavia, non è immediatamente chiaro come questa stima debba essere riconciliata con quanto appreso dal circuito originale (non raddoppiato) del contraccolpo di fase, per ottenere le informazioni più accurate possibili θ.\theta. Facciamo quindi un passo indietro e valutiamo come procedere.

Stima di fase a due qubit

Invece di considerare le due opzioni descritte sopra separatamente, combiniamole in un unico circuito in questo modo.

Il set-up iniziale per la stima della fase con due qubit

Le porte di Hadamard dopo le operazioni controllate sono state rimosse e non ci sono ancora misure qui. Aggiungeremo altri elementi al circuito man mano che valuteremo le nostre opzioni per imparare il più possibile su θ.\theta.

Se facciamo funzionare 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 "calciate" nello stato dei due qubit superiori. Analizziamo attentamente il circuito attraverso la figura seguente.

Stati per la stima di fase con due qubit

Possiamo scrivere lo stato π1\vert\pi_1\rangle in questo modo:

π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 controllata UU, l'autovalore λ=e2πiθ\lambda = e^{2\pi i\theta} viene spinto nella fase quando a0a_0 (il qubit superiore) è uguale a 1,1, ma non quando è uguale a 0.0. Quindi, possiamo esprimere lo stato risultante in questo modo:

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

La seconda e la terza porta controllata UU fanno qualcosa di simile, ma con a1a_1 invece di a0,a_0, e con θ\theta sostituito da 2θ.2\theta. Possiamo esprimere lo stato risultante in questo modo:

π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 se rappresentasse un intero x{0,1,2,3}x \in \{0,1,2,3\} in notazione binaria, che è x=2a1+a0,x = 2 a_1 + a_0,, possiamo esprimere questo stato nel modo seguente.

π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 particolare, in cui ci viene promesso che θ=y4\theta = \frac{y}{4} per un qualche numero 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\}, e possiamo esprimere questo numero esattamente con la notazione binaria a 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 nel modo più efficace le informazioni su θ\theta in generale.

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: se scegliamo una coppia qualsiasi di essi e calcoliamo il loro prodotto interno, otteniamo 0.0. Ognuno di essi è 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 subito che esiste una misura in grado di discriminarli perfettamente - il che significa che, se ci viene dato uno di essi ma non sappiamo quale, possiamo capire quale sia senza errori.

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

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×44\times 4, è sufficiente prendere le colonne di VV come 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}

Si tratta di una matrice speciale, che probabilmente alcuni lettori avranno già incontrato: è la matrice associata alla trasformata discreta di Fourier 44. Alla luce di questo fatto, chiamiamola con il nome di QFT4\mathrm{QFT}_4 piuttosto che con il nome di V.V. Il nome QFT\mathrm{QFT} è l'abbreviazione di trasformata quantistica di Fourier, che è essenzialmente solo la trasformata discreta di Fourier, vista come un'operazione unitaria. A breve discuteremo la trasformata di Fourier quantistica in modo più dettagliato e generico.

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'operazione inversa per trasformare 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 imparare quale valore y{0,1,2,3}y\in\{0,1,2,3\} descrive θ\theta come θ=y/4.\theta = y/4. Ecco lo schema di un circuito quantistico che esegue questa operazione.

Stima di fase con due qubit

Per riassumere, se facciamo funzionare questo circuito quando θ=y/4\theta = y/4 per y{0,1,2,3},y\in\{0,1,2,3\}, lo stato immediatamente precedente alle misure sarà ψy\vert \psi\rangle \vert y\rangle (per yy codificato come una stringa binaria a due bit), quindi le misure riveleranno il valore yy senza errori.

Questo circuito è motivato dal caso particolare che θ{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 uscita che il circuito produce per scelte arbitrarie di θ.\theta.

Probabilità di risultato dalla stima di fase a due equbit

Si tratta di un netto miglioramento rispetto alla variante a un solo qubit descritta in precedenza nella lezione. Non è perfetto - può darci la risposta sbagliata - ma la risposta è fortemente sbilanciata verso valori di yy per i quali y/4y/4 è vicino a θ.\theta. In particolare, il risultato più probabile corrisponde sempre al valore più vicino di y/4y/4 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 una probabilità appena superiore a 40%.40\%. Quando θ\theta si trova esattamente a metà strada tra due valori simili, come ad esempio θ=0.375\theta = 0.375, i due valori ugualmente vicini di yy sono ugualmente probabili.

Preparazione alla generalizzazione a molti qubit

Dato il miglioramento appena ottenuto utilizzando due qubit di controllo anziché uno, insieme all'inverso della trasformata di Fourier quantistica 44 -dimensionale, è naturale pensare di generalizzarlo ulteriormente, aggiungendo altri qubit di controllo. Facendo ciò, otteniamo la procedura generale di stima della fase. Vedremo a breve come funziona, ma per descriverlo con precisione dovremo discutere la trasformata di Fourier quantistica in modo più generale, per vedere come viene definita per altre dimensioni e per vedere come possiamo implementarla (o la sua inversa) 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 è definita questa operazione 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 sono derivate da un'operazione analoga su vettori NN -dimensionali nota come trasformata di Fourier discreta. Questa operazione può essere pensata in diversi modi. Per esempio, possiamo pensare alla trasformata discreta di Fourier in termini puramente astratti e matematici come a una mappatura lineare. Oppure possiamo pensarla in termini computazionali, dove ci viene dato un vettore NN -dimensionale di numeri complessi (usando la notazione binaria per codificare le parti reali e immaginarie delle voci, supponiamo) e l'obiettivo è calcolare il vettore NN -dimensionale ottenuto applicando la trasformata discreta di Fourier. La nostra attenzione si concentrerà sulla terza via, che consiste nel considerare questa trasformazione come un'operazione unitaria che può essere eseguita su un sistema quantistico.

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

Definizione della trasformata di Fourier quantistica

Per definire la trasformata quantistica di Fourier, definiamo prima un numero complesso ωN,\omega_N, per ogni intero positivo N,N, in questo modo:

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

È il numero sul cerchio complesso unitario che si ottiene partendo da 11 e muovendosi 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, che è 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, si tratta della matrice associata alla trasformata discreta di Fourier NN -dimensionale. Spesso il fattore primo di 1/N1/\sqrt{N} non è incluso nella definizione di questa matrice, ma è necessario includerlo per ottenere una matrice unitaria.

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

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

Unitarità

Verifichiamo che QFTN\mathrm{QFT}_N è unitario, per qualsiasi scelta di N.N. Un modo per farlo è dimostrare che le sue colonne formano una base ortonormale. Possiamo definire un vettore corrispondente al numero di colonna y,y, partendo da y=0y = 0 e arrivando a y=N1,y = N-1, in questo modo:

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

Prendendo il prodotto interno tra due vettori qualsiasi si ottiene 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 utilizzando 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}

In particolare, possiamo utilizzare questa formula quando α=ωNyz.\alpha = \omega_N^{y-z}. Quando y=z,y = z, abbiamo α=1,\alpha = 1, quindi utilizzando 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.

Ciò accade perché ωNN=e2πi=1,\omega_N^N = e^{2\pi i} = 1, così ωNN(yz)=1yz=1,\omega_N^{N(y-z)} = 1^{y-z} = 1, rendendo il numeratore nullo, mentre il denominatore è non nullo perché ωNyz1.\omega_N^{y-z} \neq 1. Intuitivamente, stiamo sommando un insieme di punti distribuiti attorno al cerchio unitario che, sommati, si annullano e lasciano 00.

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}

che rivela che QFTN\mathrm{QFT}_N è unitario.

Gate a fase controllata

Per implementare la trasformata di Fourier quantistica con un circuito quantistico, dovremo fare uso di porte a fase controllata. Ricordiamo 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 ha importanza quale qubit sia il controllo e quale il bersaglio, perché le due possibilità sono equivalenti. Per rappresentare questa porta nei diagrammi dei circuiti quantistici possiamo utilizzare uno dei seguenti simboli.

Rappresentazione del diagramma del circuito quantistico per porte a fase controllata

Per la terza forma, l'etichetta α\alpha viene talvolta collocata anche a lato della linea di controllo o sotto il controllo inferiore, quando è conveniente.

Per eseguire la trasformata quantistica di Fourier quando N=2mN = 2^m e m2,m\geq 2, dobbiamo eseguire un'operazione su mm qubit la cui azione sugli stati 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 utilizzando porte a fase controllata generalizzando il seguente esempio, per il quale m=5.m=5.

Schema del 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 le porte di fase PαP_{\alpha} che vanno da α=π/2m1\alpha = \pi/2^{m-1} sul qubit corrispondente al bit meno significativo di yy fino a α=π2\alpha = \frac{\pi}{2} sul qubit corrispondente al bit più significativo di y.y. Queste porte di fase controllate sono tutte in commutazione tra loro e possono essere eseguite in qualsiasi ordine.

Implementazione circuitale del QFT

Ora vedremo come implementare la trasformata quantistica di Fourier con un circuito quando la dimensione N=2mN = 2^m è una potenza di 2.2. Esistono infatti diversi modi per implementare la trasformata di Fourier quantistica, ma questo è probabilmente il metodo più semplice che si conosca. Una volta che sappiamo come implementare la trasformata di Fourier quantistica con un circuito quantistico, è semplice implementare la sua inversa: possiamo sostituire ogni porta con la sua inversa (o, equivalentemente, con la trasposta coniugata) e applicare le porte nell'ordine inverso. Ogni circuito quantistico composto da sole porte unitarie può essere invertito in questo modo.

L'implementazione è di natura ricorsiva, quindi è il modo più naturale per descriverla. Il caso base è m=1,m=1,, nel quale la trasformata quantistica di Fourier è un'operazione di Hadamard.

Per eseguire la trasformata quantistica di Fourier su mm qubit quando m2,m \geq 2, possiamo eseguire i seguenti passaggi, le cui azioni verranno descritte per stati 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 usando la notazione binaria e aa è un singolo bit.

  1. Applicare prima la trasformata di Fourier quantistica 2m12^{m-1} -dimensionale ai qubit in basso/più a sinistra m1m-1 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.

Ciò avviene applicando ricorsivamente il metodo descritto per un qubit in meno, utilizzando l'operazione Hadamard su un singolo qubit come caso base su un singolo qubit come caso base.

  1. Usare il qubit superiore/destro come controllo per iniettare la fase ω2my\omega_{2^m}^y per ogni stato di 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.
  1. Eseguire un cancello di Hadamard sul qubit in alto 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.
  1. Permutare l'ordine dei qubit in modo che il bit meno significativo diventi il bit più significativo, con tutti gli altri spostati verso l'alto o verso destra tutti gli altri spostati verso l'alto o verso 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.

Per esempio, ecco il circuito che otteniamo per N=32=25.N = 32 = 2^5. In questo schema, ai qubit vengono dati nomi che corrispondono ai vettori base standard xa\vert x\rangle \vert a\rangle (per l'ingresso) e by\vert b\rangle \vert y\rangle (per l'uscita) per maggiore chiarezza.

Schema del circuito quantistico per la trasformata di Fourier quantistica a 32 dimensioni

Analisi

La formula chiave che ci serve per verificare che il circuito appena descritto implementa la trasformata di Fourier quantistica 2m2^m è 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 funziona per qualsiasi scelta di numeri interi a,a, b,b, x,x, e y,y, ma ci servirà 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\}. Si può verificare 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 sfrutta l'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 base standard xa\vert x \rangle \vert a\rangle e by\vert b \rangle \vert y \rangle come a codifiche binarie di numeri 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 di cui sopra implementa l'operazione richiesta. Se questo metodo per eseguire la trasformata di Fourier quantistica sembra notevole, è perché lo è: è essenzialmente la trasformata di Fourier veloce sotto forma di circuito quantistico.

Infine, contiamo quante porte sono utilizzate nel circuito appena descritto. I gate a fase controllata non fanno parte dell'insieme di gate standard di cui abbiamo parlato nella lezione precedente, ma per cominciare ignoreremo questo fatto e considereremo ciascuno di essi come un singolo gate.

Facciamo in modo che sms_m denoti il numero di porte di cui abbiamo bisogno per ogni possibile scelta di m.m. Se m=1,m=1, la trasformata quantistica di Fourier è solo un'operazione di Hadamard, quindi

s1=1.s_1 = 1.

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

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

Possiamo ottenere un'espressione in forma chiusa mediante la somma:

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

In realtà non abbiamo bisogno di tante porte di scambio come descritto nel metodo. Se riorganizziamo un po' i gate, possiamo spingere tutti i gate di swap verso destra e ridurre il numero di gate di swap necessari a m/2.\lfloor m/2\rfloor. Dal punto di vista asintotico, questo non è un grande miglioramento: otteniamo ancora circuiti con dimensioni O(m2)O(m^2) per eseguire QFT2m.\mathrm{QFT}_{2^m}.

Se vogliamo implementare la trasformata di Fourier quantistica usando solo porte del nostro set di porte standard, dobbiamo costruire o approssimare ciascuna delle porte a fase controllata con porte del nostro set. Il numero necessario dipende dalla precisione richiesta, ma in funzione di mm il costo totale rimane quadratico.

È infatti possibile approssimare la trasformata quantistica di Fourier con un numero sub-quadratico di porte, sfruttando il fatto che PαP_{\alpha} è molto vicino all'operazione di identità quando α\alpha è molto piccolo - il che significa che possiamo semplicemente escludere la maggior parte delle porte a fase controllata senza subire una perdita eccessiva in termini di precisione.


Procedura generale e analisi

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

Procedura di stima della fase

Si noti che, per ogni nuovo qubit di controllo aggiunto in cima, raddoppiamo il numero di volte in cui viene eseguita l'operazione unitaria UU. Questo è indicato nel diagramma dai poteri su UU per ciascuna delle operazioni controllate-unitarie.

Il modo più semplice per implementare un'operazione controllata UkU^k per una certa scelta di kk è semplicemente ripetere un'operazione controllata UU kk volte. Se questa è la metodologia utilizzata, bisogna riconoscere che l'aggiunta dei qubit di controllo contribuisce in modo significativo alla dimensione del circuito: se abbiamo mm qubit di controllo, come illustrato nel diagramma, sono necessarie in totale 2m12^m - 1 copie dell'operazione controllata UU. Ciò significa che, con l'aumento di mm, si sostiene un costo computazionale significativo, ma, come vedremo, si ottiene anche un'approssimazione significativamente più accurata di θ.\theta.

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

Analizziamo ora il circuito appena descritto. Lo stato immediatamente precedente alla trasformata quantistica inversa di Fourier si presenta così:

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

Analogamente a quanto fatto nel caso di m=2m=2, considereremo 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 precedente alla trasformata quantistica inversa di Fourier può essere scritto alternativamente in questo modo:

ψ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 si applica la trasformata quantistica inversa di Fourier, lo stato diventa

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

e le misure rivelano yy (codificato in binario).

Limitare le probabilità

Per altri valori di θ,\theta,, cioè quelli che non assumono la forma y/2my/2^m per un intero y,y,, i risultati delle misure non saranno certi, ma possiamo dimostrare i limiti delle probabilità per i diversi risultati. Consideriamo una scelta arbitraria di θ\theta che soddisfa le esigenze di tutti 0θ<1.0\leq \theta < 1.

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

ψ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 misure sui qubit superiori mm, vediamo che ogni risultato 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 capire meglio queste probabilità, utilizzeremo la stessa formula che abbiamo visto prima, 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 compare nella formula per pyp_y prendendo α=e2πi(θy/2m).\alpha = e^{2\pi i (\theta - y/2^m)}. Ecco cosa otteniamo.

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 che θ=y/2m,\theta = y/2^m, troviamo che py=1p_y = 1 (come già sapevamo considerando questo caso speciale), e nel caso di θ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 imparare di più su queste probabilità pensando a come sono correlate le lunghezze degli archi e le lunghezze delle corde sul cerchio unitario. Ecco una figura che illustra le relazioni di cui abbiamo bisogno per qualsiasi numero reale δ[12,12].\delta\in \bigl[ -\frac{1}{2},\frac{1}{2}\bigr].

Illustrazione della relazione tra le lunghezze degli archi e delle corde

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 è maggiore quando δ=±1/2,\delta = \pm 1/2, e in questo caso il rapporto è la metà della circonferenza del cerchio divisa per il diametro, ovvero π/2.\pi/2. Si ha quindi

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 così

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 due fatti seguenti.

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

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

Dimostreremo che pyp_y deve essere piuttosto grande in questo caso. In base all'ipotesi che stiamo considerando, ne consegue che 2mθy1/2,\vert 2^m \theta - y \vert \leq 1/2, e quindi possiamo utilizzare la seconda osservazione precedente relativa alle 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 utilizzare 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.

Utilizzando queste due disuguaglianze su pyp_y si scopre che

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 una probabilità maggiore di 40%40\% nella versione m=2m=2 della stima di fase discussa in precedenza. Non è proprio il 40%, è 4/π2,4/\pi^2, e infatti questo vincolo vale per ogni scelta di m.m.

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

Questo significa che tra z/2mz/2^m e θ\theta c'è un'approssimazione migliore tra θ\theta e y/2m.y/2^m.

Questa volta dimostreremo che pyp_y non può essere troppo grande. Possiamo iniziare con la 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 punti qualsiasi della circonferenza unitaria possono differire in valore assoluto di un massimo di 2.2.

Possiamo anche utilizzare la seconda osservazione sulle lunghezze degli archi e delle corde di cui sopra, questa volta lavorando 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}.

Mettendo insieme le due disuguaglianze si ottiene

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

Si noti che questo limite, pur essendo sufficientemente buono per i nostri scopi, è piuttosto grossolano: la probabilità è di solito molto più bassa di 1/4.1/4.

L'aspetto importante di questa analisi è che è probabile che si verifichino approssimazioni molto vicine a θ\theta - otterremo una migliore approssimazione di mm bit con una probabilità superiore a 40%40\% - mentre è meno probabile che si verifichino approssimazioni inferiori a 2m2^{-m}, con una probabilità limitata da 25%.25\%.

Date queste garanzie, è possibile aumentare la nostra fiducia ripetendo più volte la procedura di stima della fase, per raccogliere evidenze statistiche su θ.\theta. È importante notare che lo stato ψ\vert\psi\rangle della collezione inferiore di qubit è invariato dalla procedura di stima della fase, quindi può essere usato per eseguire la procedura tutte le volte che vogliamo. In particolare, ogni volta che eseguiamo il circuito, otteniamo una migliore approssimazione mm -bit a θ\theta con probabilità maggiore di 40%,40\%, mentre la probabilità di sbagliare di più di 2m2^{-m} è limitata da 25%.25\%. Se eseguiamo il circuito più volte e prendiamo il risultato che appare più comunemente tra quelli eseguiti, è estremamente probabile che il risultato che appare più comunemente non sia quello che si verifica al massimo 25%25\% delle volte. Di conseguenza, è molto probabile che si ottenga un'approssimazione y/2my/2^m che si trova entro 1/2m1/2^m del valore θ.\theta. In effetti, l'improbabile possibilità di sbagliare di più di 1/2m1/2^m diminuisce esponenzialmente con il numero di volte in cui 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 chiarezza sono mostrati solo tre risultati). Le probabilità di altri risultati si ottengono spostando ciclicamente la stessa funzione sottostante)

Grafico che mostra le probabilità di risultato per la stima di fase a tre equbit Grafico che mostra le probabilità di risultato per la stima di fase a quattro equbit
Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.