Vai al contenuto principale
Questo progetto è in fase beta. Hai trovato un bug? Apri una issue su GitHub. Hai una domanda o un'idea? Chiedi su GitHub Discussions — apprezziamo il tuo feedback!
Com'è la qualità della traduzione su questa pagina?

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 UU. 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 UU, 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 UU, 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 UU. 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 è un autovettore di UU.

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⟩=∣ψ⟩⊗(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)

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

La misura produce quindi i risultati 00 e 11 con queste probabilità:

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}

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 11. Nota che quando θ=0\theta = 0, il risultato della misura è sempre 00, e quando θ=1/2\theta = 1/2, il risultato della misura è sempre 11. 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 aa. Quando θ\theta non è né 00 né 1/21/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/21/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 è

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

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.a2a3⋯2\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/41/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 UU, 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⟩=∣ψ⟩⊗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.

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

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

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

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

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+a0x = 2 a_1 + a_0, possiamo esprimere questo stato in modo alternativo come segue.

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

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 .0000, .0101, .1010 o .1111. 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⟩=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

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

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

Questi vettori sono ortogonali: scegliendo una qualsiasi coppia di essi e calcolando il loro prodotto interno, otteniamo 00. 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.

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}

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

Questa è una matrice speciale, ed è probabile che alcuni lettori l'abbiano 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 VV. 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(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}

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 NN. 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=2mN = 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 NN, 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+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}

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⟩,…,∣N−1⟩\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 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

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

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 NN. Un modo per farlo è mostrare che le sue colonne formano una base ortonormale. Possiamo definire un vettore corrispondente alla colonna numero yy, partendo da y=0y = 0 fino a y=N−1y = N-1, così:

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

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

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

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

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}

Nello specifico, possiamo usare questa formula quando α=ωNy−z\alpha = \omega_N^{y-z}. Quando y=zy = 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 y≠zy\neq z, abbiamo α≠1\alpha \neq 1, quindi la formula rivela questo:

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

Questo accade perché ωNN=e2πi=1\omega_N^N = e^{2\pi i} = 1, quindi ωNN(y−z)=1y−z=1\omega_N^{N(y-z)} = 1^{y-z} = 1, rendendo il numeratore zero, mentre il denominatore è diverso da zero perché ωNy−z≠1\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⟩,…,∣ϕN−1⟩}\{\vert\phi_0\rangle,\ldots,\vert\phi_{N-1}\rangle\} è un insieme ortonormale,

⟨ϕz∣ϕy⟩={1y=z0y≠z,\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 m≥2m\geq 2, avremo bisogno di eseguire un'operazione su mm qubit la cui azione sugli stati della base standard può essere descritta come

∣y⟩∣a⟩↦ω2may∣y⟩∣a⟩,\vert y \rangle \vert a \rangle \mapsto \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle,

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

Diagramma di circuito quantistico per l'iniezione di fase

In generale, per una scelta arbitraria di m≥2m\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 α=π/2m−1\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 yy. 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 22. 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=1m=1, nel qual caso la trasformata di Fourier quantistica è un'operazione di Hadamard.

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

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

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

    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 m−1m-1 qubit (come descritto sopra) per ottenere questo stato:

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

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

    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.

Ad esempio, ecco il circuito che si ottiene per N=32=25N = 32 = 2^5. In questo diagramma, ai qubit vengono assegnati nomi che corrispondono ai vettori della base standard ∣x⟩∣a⟩\vert x\rangle \vert a\rangle (per l'input) e ∣b⟩∣y⟩\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ω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)}.

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,…,2m−1−1}.x,y\in\{0,\ldots,2^{m-1}-1\}. Può essere verificata espandendo il prodotto nell'esponente sul lato destro,

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

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

Se scriviamo uu e vv come

u=2x+av=2m−1b+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,…,2m−1−1}x,y\in\{0,\ldots,2^{m-1} - 1\}, otteniamo

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}

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

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 mm. Se m=1m=1, la trasformata di Fourier quantistica è solo un'operazione di Hadamard, quindi

s1=1.s_1 = 1.

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

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

Possiamo ottenere un'espressione in forma chiusa sommando:

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

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 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,…,2m−1}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:

∣ψ⟩⊗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.

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 yy, 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≤θ<10\leq \theta < 1.

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

∣ψ⟩⊗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.

Quindi, quando vengono eseguite le misurazioni sugli mm qubit superiori, osserviamo ogni esito yy con probabilità

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.

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

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}

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

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

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δ−1∣≤2π∣δ∣.\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δ−1∣≥4∣δ∣.\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,…,2m−1}y\in \{0,\ldots,2^m-1\} soddisfi

    ∣θ−y2m∣≤2−(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 (y−1)/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θ−y∣≤1/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)−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.

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

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

    Applicando queste due disuguaglianze a pyp_y si ottiene

    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.

    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/π24/\pi^2, e in effetti questo limite vale per ogni scelta di mm.

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

    2−m≤∣θ−y2m∣≤12.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/2my/2^m.

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

    ∣e2πi(2mθ−y)−1∣≤2,\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 22.

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

    Combinando le due disuguaglianze si ottiene

    py≤122m416⋅2−2m=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/41/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 2−m2^{-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 2−m2^{-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