In che modo le porte approssimative tramite porte universali si adattano alla lunghezza del calcolo?


13

Comprendo che esiste una prova costruttiva che le porte arbitrarie possono essere approssimate da un set di gate universale finito, che è il Teorema di Solovay-Kitaev .
Tuttavia, l'approssimazione introduce un errore, che si diffonderebbe e si accumulerebbe in un lungo calcolo. Questo presumibilmente si ridimensionerebbe male con la lunghezza del calcolo? Forse si potrebbe applicare l'algoritmo di approssimazione all'intero circuito, non a una singola porta. Ma in che modo questa scala con la lunghezza del calcolo (ovvero come scala l'approssimazione con la dimensione delle porte)? In che modo l'approssimazione del gate si collega alla sintesi del gate? Perché potrei immaginare che ciò influisca sulla lunghezza finale del calcolo?
Ancora più inquietante per me: cosa succede se la lunghezza del calcolo non è nota al momento in cui il sequenza del gate è compilata?

Risposte:


8

Attraverso questa risposta, la norma di una matrice , A sarà considerata la norma spettrale di A (cioè il più grande valore singolare di A ). Il teorema di solovay-Kitaev afferma che approssimare una porta all'interno di un errore ϵAAAAϵ richiede cancelli, perc<4in qualsiasi numero fisso di dimensioni.

O(logc1ϵ)
c<4

Per la prima parte:

l'approssimazione introduce un errore, che si diffonderebbe e si accumulerebbe in un lungo calcolo

Bene, si può dimostrare per induzione che gli errori che si accumulano attraverso l'uso di una matrice per approssimarne un'altra sono subadditivi (vedere ad esempio gli appunti di Andrew Child ). Cioè, per le matrici unitarie e V i ,UiVi .UiVi<ϵi{1,2,,t}UtU2U1VtV2V1tϵ

Ciò significa in termini di attuazione che, per ottenere un errore complessivo non superiore a , ciascuna porta deve essere approssimata entro ϵ / t , oppureϵϵ/t

applicando l'approssimazione al circuito nel suo insieme

equivale ad applicare l'approssimazione a ogni singola porta, ognuna con un singolo errore non superiore a quello dell'intero circuito diviso per il numero di porte che si sta approssimando.

In termini di sintesi di gate, l'algoritmo viene eseguito prendendo i prodotti del set di gate per formare un nuovo set di gate Γ 0 che forma una rete ϵ 2 per SU ( d ) (per qualsiasi A SU ( d ) ,ΓΓ0ϵ2SU(d) ). A partire dall'identità, un nuovo unitario viene ricorsivamente trovato dal nuovo set di gate per ottenere una rete più stretta attorno all'unitario target. Stranamente, il tempo per un algoritmo classico di eseguire questa operazione è anche O ( p o l y log 1 / ϵ ) , che è il tempo sub-polinomiale. Tuttavia, come perHarrow, Recht, Chuang, indimensioni d , come una palla di raggio ϵ intornoASU(d),UΓ0s.t.AUϵ2O(polylog1/ϵ)dϵSU(d)ha un volume , questo si espone in modo esponenziale in d 2 per un numero di dimensioni non fisso.ϵd21d2

Ciò influisce sul tempo di calcolo finale. Tuttavia, poiché il ridimensionamento sia del numero di gate sia della complessità computazionale classica è sub-polinomiale, ciò non cambia la classe di complessità di alcun algoritmo, almeno per le classi comunemente considerate.

Per gate, la complessità complessiva (tempo e gate) è quindi t .

O(tpolylogtϵ)

Quando si utilizza il modello di circuito unitario senza misurazioni intermedie , il numero di porte da implementare sarà sempre noto prima del calcolo. Tuttavia, è possibile supporre che ciò non avvenga quando si utilizzano misurazioni intermedie, quindi quando il numero di gate che si desidera approssimare è sconosciuto, ciò significa che è sconosciuto. e se non sai cos'è t , ovviamente non puoi approssimare ogni gate con un errore ϵ / t . Se conosci un limite al numero di porte (diciamo, t max ), allora potresti approssimare ciascuna porta entro ϵttϵ/ttmaxϵ/tmaxottenere un errore complessivo e complessità O ( tϵsebbenese non si conoscesse alcun limite superiore sul numero di porte, ciascuna porta sarebbe approssimata ad alcuni (più piccoli)ϵ, dando un errore complessivotϵper il numero risultante di porte implementate (che è sconosciuto a l'inizio)t, con una complessità complessiva di

O(tpolylogtmaxϵ),
ϵtϵt
O(tpolylog1ϵ).

2nthϵ/2n

O(polylog2nϵ)=O(polynlog1ϵ),
O(polytlog1ϵ),

Questo non è poi così male, quindi spero che (quando il numero di gate non è noto) i computer classici sarebbero in grado di trovare i gate corretti almeno alla stessa velocità di un processore quantico. Se non attualmente, si spera che una volta che i processori quantistici diventino abbastanza buoni da diventare effettivamente un problema!


1 Sebbene, probabilmente non il più efficiente

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.