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 → b. Quindi, usiamo le tecniche di simulazione hamiltoniana [3, 4] per applicare a per una sovrapposizione di differente volte . Questa capacità di esponenziare traduce, attraverso la nota tecnica di stima di fase [5–7], nella capacità di decomporre nel eigenbasis di e di trovare i corrispondenti autovalori Informalmente, lo stato del sistema dopo questa fase è vicino al , doveu jè la base degli autovettori di e .| b ⟩ = Σ j = N j = 1 β j | u j ⟩
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
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 φ 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
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.φ
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
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 !φ
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 ⟩
Procediamo da qui. Ho trovato un bel diagramma circuitale per l' algoritmo HHL09 qui [ ] :
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 A
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 j ⟩ U N × N N A λ j e i A t e i λ j t U e 2 π i φ ≡ e i λ j t φ = λ j t, 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 | b⟩UΣ j = N j = 1 βj| uj⟩| uj⟩U| u⟩⊗(|0⟩)⊗t| u⟩⊗| ~ & Phi; ⟩| uj⟩⊗| ~ λ j tÀj| uj⟩AΣj=Nj=1βj| uj⟩Σj=Nj=1βj| uj⟩⊗| ~λjtè l'autovalore associato all'autovettore di ). Ora, invece, se iniziamo nella sovrapposizione di autovettori dovremmo finire con .
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 t
Cosa mi sto perdendo qui? Dove è scomparso il fattore nel loro algoritmo?
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)