In risposta alla tua prima domanda, qualche tempo fa mi sono scritto alcune note sulla mia comprensione di come ha funzionato. La notazione è probabilmente un po 'diversa (ho provato a metterla di più in linea, ma è facile perdere bit), ma tenta di spiegare quella scelta dello stato . Sembrano esserci anche alcuni fattori di fluttua in alcuni punti.|Ψ0⟩12
Quando studiamo per la prima volta la stima della fase, di solito ci pensiamo rispetto all'uso in alcuni algoritmi particolari, come l'algoritmo di Shor. Questo ha un obiettivo specifico: ottenere la migliore approssimazione -bit sull'autovalore. O lo fai o non lo fai, e la descrizione della stima di fase è specificamente sintonizzata per dare il più alta probabilità di successo possibile.t
In HHL, stiamo provando a produrre un po 'di stato
dove , facendo uso della stima di fase. La precisione dell'approssimazione di questo dipenderà in modo molto più critico da una stima accurata degli autovalori vicini a 0 piuttosto che a quelli lontani da 0. Un passo ovvio quindi è tentare di modificare il protocollo di stima di fase in modo che piuttosto piuttosto che usare `bin 'di larghezza fissa per approssimare le fasi di ( e è il numero di qubit nel registro di stima delle fasi), potremmo piuttosto specificare un insieme di per
|ϕ⟩=∑jβjλj|λj⟩,
|b⟩=∑jβj|λj⟩2π/Te−iAtT=2ttϕyy∈{0,1}t fungere da centro di ogni cestino in modo da poter avere una precisione notevolmente maggiore vicino alla fase 0. Più in generale, è possibile specificare una funzione di compromesso per quanto si possa tollerare gli errori in funzione della fase . La natura precisa di questa funzione può quindi essere regolata su una data applicazione e sulla particolare figura di merito che userete per determinare il successo. Nel caso dell'algoritmo di Shor, la nostra figura di merito era semplicemente questo protocollo di binning: avremmo avuto successo se la risposta fosse nel cestino corretto e senza successo al di fuori di esso. Questo non sarà il caso di HHL, il cui successo è più ragionevolmente catturato da una misura continua come la fedeltà. Quindi, per il caso generale, designeremo una funzione di costo
ϕC(ϕ,ϕ′)che specifica una penalità per le risposte se la fase vera è .
ϕ′ϕ
Ricordiamo che il protocollo di stima di fase standard ha funzionato producendo uno stato di input che era la sovrapposizione uniforme di tutti gli stati di base per . Questo stato è stato utilizzato per controllare l'applicazione sequenziale di più porte controllate , che sono seguite da una trasformata inversa di Fourier. Immagina di poter sostituire lo stato di input con qualche altro stato
e quindi il resto del protocollo potrebbe lavorare come prima. Per ora, ignoreremo la questione di quanto sia difficile produrre il nuovo stato , poiché stiamo solo cercando di trasmettere il concetto di base. A partire da questo stato, l'uso della controllata|x⟩x∈{0,1}tU
|Ψ0⟩=∑x∈{0,1}tαx|x⟩,
|Ψ0⟩Ugates (indirizzato a un autovettore di di autovalore ), produce lo stato
Applicando la trasformata inversa di Fourier si ottiene
La probabilità di ottenere una risposta (cioè ) è
quindi il valore atteso della funzione di costo, ipotizzando una distribuzione casuale di , è
Uϕ∑x∈{0,1}tαxeiϕx|x⟩.
1T−−√∑x,y∈{0,1}teix(ϕ−2πyM)αx|y⟩.
yϕ′=2πy/T1T∣∣∣∣∑x∈{0,1}teix(ϕ−2πyT)αx∣∣∣∣2
ϕC¯=12πT∫2π0dϕ∑y∈{0,1}t∣∣∣∣∑x∈{0,1}teix(ϕ−2πyT)αx∣∣∣∣2C(ϕ,2πy/T),
e il nostro compito è selezionare le ampiezze che minimizzano questo per qualsiasi realizzazione specifica di . Se assumiamo la semplificazione che è solo una funzione di , allora possiamo fare un cambiamento di variabile nell'integrazione per dare
Come abbiamo notato, è probabile che la misura più utile sia una misura di fedeltà. Considera che abbiamo uno stato
αxC(ϕ,ϕ′)C(ϕ,ϕ′)ϕ−ϕ′C¯=12π∫2π0dϕ∣∣∣∣∑x∈{0,1}teixϕαx∣∣∣∣2C(ϕ),
|+⟩e desideriamo implementare l'unità , ma invece implementiamo . La fedeltà misura il modo in cui questo raggiunge il compito desiderato,
quindi prendiamo
poiché nel caso ideale , quindi l'errore, che è ciò che vogliamo minimizzare, può essere preso come . Questa sarà sicuramente la funzione corretta per valutare qualsiasi
Uϕ=|0⟩⟨0|+eiϕ|1⟩⟨1|Uϕ′=|0⟩⟨0|+eiϕ′|1⟩⟨1|F=∣∣⟨+|U†ϕ′U|+⟩∣∣2=cos2(ϕ−ϕ′2),
C(ϕ−ϕ′)=sin2(ϕ−ϕ′2),
F=11−FUt, ma per il compito più generale di modificare le ampiezze, non solo le fasi, gli effetti delle imprecisioni si propagano attraverso il protocollo in modo meno banale, quindi è difficile dimostrare l'ottimalità, sebbene la funzione fornirà già un certo miglioramento rispetto alla sovrapposizione uniforme degli Stati. Procedendo con questo modulo, abbiamo
ora è possibile eseguire
l'integrale over , quindi vogliamo ridurre al minimo la funzione
Questo può essere brevemente espresso come
C(ϕ−ϕ′)C¯=12π∫2π0dϕ∣∣∣∣∑x∈{0,1}teixϕαx∣∣∣∣2sin2(12ϕ),
ϕ12∑x,y=0T−1αxα⋆y(δx,y−12δx,y−1−12δx,y+1).
min⟨Ψ0|H|Ψ0⟩
dove
La scelta ottimale di è l'autovettore minimo della matrice ,
e è l'autovalore minimo
Fondamentalmente, per le grandi scale , come anziché che avremmo ottenuto dalla scelta di accoppiamento uniforme
H=12∑x,y=0T−1(δx,y−12δx,y−1−12δx,y+1)|x⟩⟨y|.
|Ψ0⟩H ˉ C ˉ C =1αx=2T+1−−−−−√sin((x+1)πT+1),
C¯T ˉ C 1/T21/Tαx=1/√C¯=12−12cos(πT+1).
TC¯1/T21/Tαx=1/T−−√. Ciò produce un vantaggio significativo per l'analisi degli errori.
Se vuoi ottenere lo stesso come riportato nel documento HHL, credo che tu debba aggiungere i termini all'Hamiltoniano. Non ho alcuna giustificazione per farlo, tuttavia, ma questo è probabilmente il mio fallimento.- 1|Ψ0⟩−14(|0⟩⟨T−1|+|T−1⟩⟨0|)