Stima della fase quantistica e algoritmo HHL - conoscenza degli autovalori richiesti?


10

L' algoritmo di stima di fase quantistica (QPE) calcola un'approssimazione della autovalore associato ad un dato autovettore di una gate quantistica .U

Formalmente, lasciamo essere un autovettore di , QPE ci permette di trovare , la migliore approssimazione in bit di tale che e |ψU|θ~m2mθθ[0,1)

U|ψ=e2πiθ|ψ.

L' algoritmo HHL ( documento originale ) prende come input una matrice che soddisfa e uno stato quantico e calcola che codifica la soluzione del sistema lineare .A

eiAt is unitary 
|b|xAx=b

Nota : Ogni matrice hermitiana statisfy la condizione .A

Per fare ciò, l'algoritmo HHL utilizza il QPE sul gate quantico rappresentato da . Grazie ai risultati di algebra lineare, sappiamo che se sono gli autovalori di , allora sono gli autovalori di . Questo risultato è indicato anche negli algoritmi dei sistemi lineari quantistici: un primer (Dervovic, Herbster, Mountney, Severini, Usher & Wossnig, 2018) (pagina 29, tra le equazioni 68 e 69).{ λ j } j A { e i λ j t } j UU=eiAt{λj}jA{eiλjt}jU

Con l'aiuto di QPE, il primo passo dell'algoritmo HLL proverà a stimare tale che . Questo ci porta all'equazione ie Analizzando un po 'le implicazioni delle condizioni e , ho concluso che se (cioè ), l'algoritmo di stima della fase non riesce a prevedere l'autovalore corretto.e i 2 π θ = e i λ j t 2 π θ = λ j t + 2 k π ,θ[0,1)ei2πθ=eiλjtθ = λ j t

2πθ=λjt+2kπ,kZ, θ[0,1)
k Z θ [ 0 , 1 ) λ j t
θ=λjt2π+k,kZ, θ[0,1)
kZθ[0,1)k0λjt2π[0,1)k0

Ma poiché può essere qualsiasi matrice eremita, possiamo scegliere liberamente i suoi autovalori e in particolare potremmo scegliere autovalori arbitrariamente grandi per tale che il QPE fallisca ( ).A λ j tAAλjt2π[0,1)

In Quantum Circuit Design for Solving Linear Systems of Equations (Cao, Daskin, Frankel & Kais, 2012) risolvono questo problema simulando , sapendo che gli autovalori di sono . Hanno normalizzato la matrice (e i suoi autovalori) per evitare il caso in cui . A{1,2,4,8}λjteiAt16A{1,2,4,8}λjt2π[0,1)

Dall'altro lato, sembra che il parametro possa essere utilizzato per eseguire questa normalizzazione.t

Domanda: abbiamo bisogno di conoscere un limite superiore degli autovalori di per normalizzare la matrice ed essere sicuri che la parte QPE dell'algoritmo HHL avrà successo? In caso contrario, come possiamo garantire che il QPE abbia successo (es. )?λ j tAλjt2π[0,1)


Diciamo . Stai dicendo che lambda non può mai essere negativo? Cosa c'è di sbagliato nell'avere un autovalore negativo? Diciamo et . Quindi: e . Un valore completamente valido per . Cosa c'è di sbagliato in quello? Perché deve essere positivo o ? Gli autovalori possono essere negativi. t=1k=2t=10<(λ/2π)+2<14π<λ<2πλ=3πλ/2π0
user1271772,

@ user1271772 In questo caso no, non può mai essere negativo perché il QPE impone che . Se (poiché hai collegato una matrice con un autovalore negativo, questo è ovviamente possibile), l'output del QPE non rappresenterà ma piuttosto con , ovvero " modulo ", e questo farà fallire l'algoritmo HHL. λθ[0,1)λ<0λλ2kπk=λ2πλ2π
Nelimee,

Risposte:


6

Dovresti conoscere un limite agli autovalori (sia superiore che inferiore). Come dici tu, puoi quindi normalizzare riscalando . In effetti, dovresti farlo per ottenere la stima più accurata possibile, diffondendo i valori sull'intero intervallo . Limitare gli autovalori non è in genere un problema. Ad esempio, probabilmente stai richiedendo che la tua matrice sia sparsa, quindi non ci sono troppi elementi di matrice diversi da zero su ogni riga. Infatti, la specifica problema probabilmente ti dà una legata al numero di non-zero voci per riga, e il valore massimo di una voce .t λ t 2 π A N QAtλt2πANQ

Quindi potresti applicare qualcosa come il teorema del cerchio di Gershgorin. Ciò indica che l'autovalore massimo è limitato da e il minimo è limitato da Il sono gli elementi di matrice di .

maxiaii+ji|aij|NQ,
miniaiiji|aij|NQ.
aijA

Entro i valori di , , se ti preoccupi per una matrice di grandi dimensioni (diciamo qubit), mentre la somma delle righe potrebbe essere facile da calcolare (perché non ci sono molte voci), il massimo su tutte le righe potrebbe richiedere molto tempo tempo (poiché ci sono righe), ci saranno una varietà di modi per ottenere buone approssimazioni (ad esempio campionamento o utilizzo della conoscenza della struttura del problema). Nel peggiore dei casi, puoi probabilmente usare la ricerca di Grover per accelerare un po '.NQn2n


1
Grover non è un miglioramento: anche se possiamo usare l'algoritmo, avremo comunque bisogno di query , che distruggono il miglioramento esponenziale di HHL rispetto ai metodi classici e lo sostituiscono con uno speedup quadratico. Quindi l'unica speranza rimasta è il campionamento (introdurre un'altra fonte di errori) o pregare e sperare che il problema ci consenta di stimare i limiti superiore / inferiore. Mi sembra un grosso difetto dell'algoritmo. O(N)
Nelimee,

2
Certo, intendevo solo che Grover ti dà uno speedup a radice quadrata rispetto al modo ingenuo di ottenere il massimo. Ovviamente ciò ha un impatto negativo sul tempo di esecuzione complessivo.
DaftWullie,
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.