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 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 Possiamo usare la descrizione di questo circuito per creare un circuito per un'operazione controlled-, che può essere rappresentata come suggerisce la seguente figura (con l'operazione vista come gate quantistico, a sinistra e un'operazione controlled- a destra).
Possiamo creare un circuito quantistico per un'operazione controlled- aggiungendo prima un qubit di controllo al circuito per e poi sostituendo ogni gate nel circuito per con una versione controllata di quel gate — quindi il nostro unico nuovo qubit di controllo controlla effettivamente ogni singolo gate nel circuito per 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 di tutti i qubit tranne quello superiore è il vettore eigenvettore dello stato quantistico di
Le probabilità dei risultati di misura per questo circuito dipendono dall'autovalore di corrispondente all'autovettore Analizziamo il circuito in dettaglio per determinare esattamente come.
Lo stato iniziale del circuito è
e il primo gate di Hadamard trasforma questo stato in
Successivamente viene eseguita l'operazione controlled-, che produce lo stato
Utilizzando l'ipotesi che sia un autovettore di con autovalore possiamo esprimere questo stato in alternativa come segue.
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.
La misura produce quindi i risultati e con queste probabilità:
Ecco un grafico delle probabilità per i due possibili risultati, e in funzione di
Naturalmente, le due probabilità sommano sempre a Nota che quando il risultato della misura è sempre e quando il risultato della misura è sempre Quindi, sebbene il risultato della misura non riveli esattamente qual è ci fornisce alcune informazioni su di esso — e se ci fosse stato promesso che oppure 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 con "un bit di precisione." In altre parole, se scrivessimo in notazione binaria e lo arrotondassimo a un bit, avremmo un numero come questo:
Il risultato della misura può essere visto come una stima per il bit Quando non è né né 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 o
È 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 e in modo che quando si verifica il phase kickback, esso avvenga per lo stato e non per lo stato 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 attraverso il fenomeno dell'interferenza. Prima del secondo gate di Hadamard, lo stato del qubit superiore è
e se misurassimo questo stato, otterremmo e ciascuno con probabilità senza dirci nulla su Eseguendo il secondo gate di Hadamard, però, facciamo sì che il numero influenzi le probabilità di output.
Raddoppiare la fase
Il circuito sopra usa il fenomeno del phase kickback per approssimare 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
Una cosa molto semplice che possiamo fare è sostituire l'operazione controlled- nel nostro circuito con due copie di questa operazione, come in questo circuito:
Due copie di un'operazione controlled- equivalgono a un'operazione controlled-. Se è un autovettore di con autovalore allora questo stato è anche un autovettore di questa volta con autovalore
Quindi, se eseguiamo questa versione del circuito, stiamo effettivamente eseguendo lo stesso calcolo di prima, tranne che il numero è sostituito da Ecco un grafico che illustra le probabilità di output al variare di da a
Farlo può effettivamente fornirci alcune informazioni aggiuntive su Se la rappresentazione binaria di è
allora raddoppiare sposta effettivamente il punto binario di una posizione a destra:
E poiché stiamo equiparando con mentre ci muoviamo attorno al cerchio unitario, vediamo che il bit non ha influenza sulle nostre probabilità, e stiamo effettivamente ottenendo una stima per il secondo bit dopo il punto binario se arrotondiamo a due bit. Per esempio, se sapessimo in anticipo che è o o 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 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.
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
Se eseguiamo questo circuito quando è un autovettore di lo stato dei qubit inferiori rimarrà per tutto il circuito, e le fasi saranno "kickate" nello stato dei due qubit superiori. Analizziamo attentamente il circuito, attraverso la figura seguente.
Possiamo scrivere lo stato così:
Quando viene eseguita la prima operazione controlled-, l'autovalore viene kickato nella fase quando (il qubit superiore) è uguale a ma non quando è Quindi possiamo esprimere lo stato risultante come segue:
Il secondo e il terzo gate controlled- fanno qualcosa di simile, ma per invece che per e con sostituito da Possiamo esprimere lo stato risultante così:
Se pensiamo alla stringa binaria come a un intero in notazione binaria, cioè possiamo esprimere questo stato in modo alternativo come segue.
Il nostro obiettivo è estrarre da questo stato quante più informazioni possibili su
A questo punto considereremo un caso speciale, in cui ci viene promesso che per qualche intero In altre parole, abbiamo quindi possiamo esprimere questo numero esattamente in notazione binaria con due bit, come o In generale, potrebbe non essere uno di questi quattro valori, ma pensare a questo caso speciale ci aiuterà a capire come estrarre informazioni su nel modo più efficace.
Per prima cosa definiamo un vettore di stato a due qubit per ogni possibile valore
Dopo aver semplificato gli esponenziali, possiamo scrivere questi vettori come segue.
Questi vettori sono ortogonali: scegliendo una qualsiasi coppia di essi e calcolando il loro prodotto interno, otteniamo Ognuno è anche un vettore unitario, quindi è 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 che trasforma gli stati della base standard nei quattro stati elencati sopra.
Per scrivere come matrice è sufficiente prendere le colonne di come gli stati
Questa è una matrice speciale, e probabilmente molti lettori l'hanno già incontrata: è la matrice associata alla trasformata discreta di Fourier in dimensioni. Alla luce di questo fatto, chiamiamola invece di Il nome è 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.
Possiamo eseguire l'inverso di questa operazione per andare nell'altra direzione, trasformando gli stati negli stati della base standard Se facciamo questo, possiamo misurare per capire quale valore descrive come Ecco uno schema di un circuito quantistico che fa questo.
In sintesi, se eseguiamo questo circuito quando per lo stato immediatamente prima che avvengano le misure sarà (con codificato come stringa binaria a due bit), quindi le misure riveleranno il valore senza errori.
Questo circuito è motivato dal caso speciale — ma possiamo eseguirlo per qualsiasi scelta di e e quindi per qualsiasi valore di che desideriamo. Ecco un grafico delle probabilità di output che il circuito produce per scelte arbitrarie di
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 per cui è vicino a In particolare, il risultato più probabile corrisponde sempre al valore di più vicino a (equiparando e come prima), e dal grafico sembra che questo valore più vicino per appaia sempre con probabilità appena superiore al Quando si trova esattamente a metà tra due tali valori, come ad esempio, i due valori di 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 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 In questa sezione vedremo come questa operazione è definita e come può essere implementata con un circuito quantistico su qubit con costo quando
Le matrici che descrivono la trasformata di Fourier quantistica derivano da un'analoga operazione su vettori -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 -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 -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 è 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 per ogni intero positivo come segue:
Questo è il numero sul cerchio unitario complesso che si ottiene partendo da e spostandosi in senso antiorario di un angolo di radianti, ovvero una frazione di della circonferenza del cerchio. Ecco alcuni esempi: