Algoritmo quantistico per sistemi lineari di equazioni (HHL09): Fase 1 - Confusione relativa all'uso dell'algoritmo di stima di fase


11

Ho cercato di aggirare il famoso (?) Algoritmo di carta Quantum per sistemi di equazioni lineari (Harrow, Hassidim & Lloyd, 2009) (più comunemente noto come l' algoritmo HHL09 ) da qualche tempo, ormai.

Nella prima pagina, dicono :

Disegniamo qui l'idea di base del nostro algoritmo e poi ne discuteremo più in dettaglio nella prossima sezione. Dato una matrice eremita e un vettore unitario , supponiamo che vorremmo trovare soddisfacente . (Discuteremo di seguito domande sull'efficienza e su come le ipotesi che abbiamo fatto su e possano essere rilassate.) In primo luogo, l'algoritmo rappresenta come uno stato quantico | b = Σ N i = 1 b i | I A b x A x = b A b bN×NAbxAx=bAbb|b=i=1Nbi|i. Quindi, usiamo le tecniche di simulazione hamiltoniana [3, 4] per applicare eiAt a |bi per una sovrapposizione di differente volte t . Questa capacità di esponenziare A traduce, attraverso la nota tecnica di stima di fase [5–7], nella capacità di decomporre |b nel eigenbasis di A e di trovare i corrispondenti autovalori λj Informalmente, lo stato del sistema dopo questa fase è vicino al , doveu jj=1j=Nβj|uj|λjujè la base degli autovettori di e .| b = Σ j = N j = 1 β j | u jA|b=j=1j=Nβj|uj

Fin qui tutto bene. Come descritto in Nielsen & Chuang nel capitolo " La trasformata quantistica di Fourier e le sue applicazioni ", l'algoritmo di stima di fase viene utilizzato per stimare in che è l'autovalore corrispondente a un autovettore del operatore unitario .e i 2 π φ | u Uφei2πφ|uU

Ecco la parte pertinente di Nielsen & Chuang:

L'algoritmo di stima di fase utilizza due registri. Il primo registro contiene qubit inizialmente nello stato . Il modo in cui scegliamo dipende da due cose: il numero di cifre di precisione che desideriamo avere nella nostra stima per e con quale probabilità desideriamo che la procedura di stima della fase abbia successo. La dipendenza di da queste quantità emerge naturalmente dalla seguente analisi.| 0 t φ tt|0tφt

Il secondo registro inizia nello stato e contiene tutti i qubit necessari per memorizzare . La stima della fase viene eseguita in due fasi. Innanzitutto, applichiamo il circuito mostrato in Figura 5.2. Il circuito inizia applicando una trasformata di Hadamard al primo registro, seguita dall'applicazione di operazioni controllate sul secondo registro, con elevato a potenze successive di due. Lo stato finale del primo registro può essere visto come:| u U U|u|uUU

12t/2(|0+exp(2πi2t1φ)|1)(|0+exp(2πi2t2φ)|1)...(|0+exp(2πi20φ)|1)=12t/2k=02t1exp(2πiφk)|k

inserisci qui la descrizione dell'immagine

Il secondo stadio della stima di fase è applicare la trasformata quantistica inversa di Fourier sul primo registro. Ciò si ottiene invertendo il circuito per la trasformata quantistica di Fourier nella sezione precedente (Esercizio 5.5) e può essere eseguito in fasi . La terza e ultima fase della stima di fase è leggere lo stato del primo registro effettuando una misurazione sulla base computazionale. Mostreremo che questo fornisce una stima abbastanza buona di . Uno schema generale dell'algoritmo è mostrato nella Figura 5.3.φΘ(t2)φ

Per affinare la nostra intuizione sul perché la stima di fase funzioni, supponiamo che possa essere espresso esattamente come bit int, come . Quindi lo stato (5.20) risultante dal primo stadio della stima di fase può essere riscrittoφ = 0. φ 1 . . . φ tφφ=0.φ1...φt

12t/2(|0+exp(2πi0.φt|1)(|0+exp(2πi0.φt1φt|1)...(|0+exp(2πi0.φ1...φt|1)

Il secondo stadio della stima di fase è applicare la trasformata quantistica inversa di Fourier. Ma confrontando l'equazione precedente con la forma del prodotto per la trasformata di Fourier, Equazione (5.4), vediamo che lo stato di output dal secondo stadio è lo stato del prodotto . Una misurazione nella base computazionale, quindi, ci dà esattamente !φ|φ1...φtφ

inserisci qui la descrizione dell'immagine

Riassumendo, l'algoritmo di stima di fase consente di stimare la fase di un autovalore di un operatore unitario , dato il corrispondente autovettore . Una caratteristica essenziale al centro di questa procedura è la capacità della trasformata inversa di Fourier di eseguire la trasformazioneU | u φU|u

12t/2j=02t1exp(2πiφj)|j|u|φ~|u

Procediamo da qui. Ho trovato un bel diagramma circuitale per l' algoritmo HHL09 qui [ ] :

inserisci qui la descrizione dell'immagine

Passaggio 1 (stima della fase):

Nella prima fase dell'algoritmo HHL09 viene utilizzato lo stesso concetto (dell'algoritmo standard di stima della fase quantica descritto in Nielsen e Chuang). Tuttavia, dobbiamo tenere presente che per sé non è un operatore unitario. Tuttavia, se assumiamo che sia Hermitiano, allora l'esponente è unitario (non preoccuparti, esiste una soluzione alternativa nel caso in cui non sia Hermitiano!). A e i A t AAAeiAtA

Qui, possiamo scrivere . C'è un altro punto sottile qui coinvolto. Noi non conosciamo gli autovettori di anticipo (ma sappiamo che per ogni matrice unitaria di dimensione esistono autovettori ortonormali). Inoltre, dobbiamo ricordare a noi stessi che se gli autovalori di sono gli autovalori di saranno . Se lo confrontiamo con la forma di autovalori fornita in Nielsen e Chuang per cioè se | u jU N × N N A λ j e i A t e i λ j t U e 2 π i φe i λ j t φ = λ j tU=eiAt|ujUN×NNAλjeiAteiλjtUe2πiφeiλjt, troveremmo . In questo caso, iniziamo nello stato (che può essere scritto come una sovrapposizione degli autovettori di ie ) piuttosto che qualsiasi particolare autovettore di , per quanto riguarda il secondo registro dei qubit. Se avessimo iniziato nello stato saremmo finiti con cioè (considerando che | bUΣ j = N j = 1 βj| uj| ujU| u(|0)t| u| ~ & Phi;| uj| ~ λ j tφ=λjt2π|bUj=1j=Nβj|uj|ujU|u(|0)t|u|φ~Àj| ujAΣj=Nj=1βj| ujΣj=Nj=1βj| uj| ~λjt|uj|λjt2π~λjè l'autovalore associato all'autovettore di ). Ora, invece, se iniziamo nella sovrapposizione di autovettori dovremmo finire con .|ujAj=1j=Nβj|ujj=1j=Nβj|uj|λjt2π~

Domanda:

Parte 1 : Nel documento HHL09 , hanno scritto sullo stato del sistema dopo che questo passaggio di stima della fase è . Tuttavia, da quanto ho scritto sopra mi sembra che lo stato del sistema dovrebbe essere piuttosto .Σ j = N j = 1 β j | u j| ~ λ j tj=1j=Nβj|uj|λ~jj=1j=Nβj|uj|λjt2π~

Cosa mi sto perdendo qui? Dove è scomparso il fattore nel loro algoritmo?t2π

Modifica: qui è stata chiesta la Parte 2 per rendere più mirate le singole domande.


Ho anche diverse confusioni riguardo al passaggio 2 e al passaggio 3 dell'algoritmo HHL09, ma ho deciso di pubblicarli come thread di domande separati, poiché questo sta diventando troppo lungo. Aggiungerò i collegamenti a quei thread di domande, su questo post, una volta creati.

[ ]: esperimenti di crittografia omomorfa sulla piattaforma di calcolo quantistico cloud IBM Huang et al. (2016)


1
6t=3+log2(2+12(0.1))=3+3=6|λj|λjt2π390%

Risposte:


5

Dipende dai documenti ma ho visto 2 approcci:

  1. tt=t0=2π

  2. λ~λt2πλ~λt2π

Ecco alcuni link:

  1. t2π

  2. tt02π

  3. t=2π

  4. t0=2π


2

t2π

Ueiλtλt/(2π)Aλ

UeiλtAλ

|λ~

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.