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 ϵA∥A∥AAϵ 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 .∥Ui−Vi∥<ϵ∀i∈{1,2,…,t}⟹∥Ut…U2U1−Vt…V2V1∥≤tϵ
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 ϵ intornoA∈SU(d),∃U∈Γ0s.t.∥A−U∥≤ϵ2O(polylog1/ϵ)dϵSU(d)ha un volume , questo si espone in modo esponenziale in d 2 per un numero di dimensioni non fisso.∝ϵd2−1d2
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 complessivo≤t′ϵper il numero risultante di porte implementate (che è sconosciuto a l'inizio)t′, con una complessità complessiva di
O(tpolylogtmaxϵ),
ϵ′≤t′ϵt′O(t′polylog1ϵ′).
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