Porte T e fabbriche T

Questo articolo descrive il ruolo dei cancelli T e delle T factory nel calcolo quantistico a tolleranza di errore. Dando un algoritmo quantistico, la stima delle risorse necessarie per l'esecuzione dei cancelli T e delle fabbriche T diventa fondamentale.

Set universale di cancelli quantistici

Secondo i criteri di DiVincenzo , un computer quantistico scalabile deve essere in grado di implementare un set universale di cancelli quantistici. Un set universale contiene tutti i cancelli necessari per eseguire qualsiasi calcolo quantistico, ovvero qualsiasi calcolo deve decomporsi in una sequenza finita di porte universali. Almeno, un computer quantistico deve essere in grado di spostare singoli qubit in qualsiasi posizione sulla Bloch Sphere (usando porte a qubit singolo), nonché introdurre entanglement nel sistema, che richiede un gate multi-qubit.

In un computer classico sono presenti solo quattro funzioni che consentono di eseguire il mapping da un bit a un bit. Al contrario, in un computer quantistico è presente un numero infinito di trasformazioni unitarie in un singolo qubit. Pertanto, nessun set finito di operazioni quantistiche primitive o porte, può replicare esattamente il set infinito di trasformazioni unitari consentite nel calcolo quantistico. Ciò significa che, a differenza del calcolo classico, è impossibile per un computer quantistico implementare ogni possibile programma quantistico usando esattamente un numero finito di porte. I computer quantistici non possono quindi essere universali nello stesso senso dei computer classici. Di conseguenza, quando si dice che un set di porte è universale per il calcolo quantistico, in realtà si intende qualcosa di leggermente più debole rispetto al calcolo classico.

Per l'universalità, è necessario che un computer quantistico approssima solo ogni matrice unitaria all'interno di un errore finito usando una sequenza di gate di lunghezza finita.

In altre parole, un set di porte è un set di porte universali se una trasformazione unitaria può essere scritta approssimativamente come prodotto di porte di questo set. È necessario che per qualsiasi limite di errore previsto, esistono cancelli $G_, G_{1}, \ldots, G_N{2}$ dal set di porte in modo che

$$ G_N G_{N-1}\cdots G_2 G_1 \approx U. $$

Poiché la convenzione per la moltiplicazione della matrice consiste nel moltiplicarsi da destra a sinistra della prima operazione di gate in questa sequenza, $G_N$, è effettivamente l'ultima applicata al vettore di stato quantistico. Più formalmente, tale set di porte è detto universale se per ogni tolleranza di errore $\epsilon>0$ esiste $G_1, \ldots, G_N$, in modo che la distanza tra $G_N\ldots G_1$ e $U$ sia al massimo $\epsilon$. Idealmente, il valore di $N$ necessario per raggiungere questa distanza di $\epsilon$ deve essere scalato in modo poli-logaritmico con $1/\epsilon$.

Ad esempio, il set formato da Hadamard, CNOT e T gates è un set universale, da cui può essere generato qualsiasi calcolo quantistico (in qualsiasi numero di qubit). Il set hadamard e il set T gate genera qualsiasi gate a qubit singolo:

$$H=\frac{1}{\sqrt{{2}}\begin{bmatrix} 1 \\&& 1 amp;1 amp;1 , \qquad T=\begin{bmatrix} 1 \end{bmatrix}& 0 0 \\& e^{i\pi/4.}\end{bmatrix} $$

In un computer quantistico, i cancelli quantistici possono essere classificati in due categorie: porte Clifford e porte non Clifford, in questo caso, la porta T. I programmi quantistici creati da solo porte Clifford possono essere simulati in modo efficiente usando un computer classico e quindi, i cancelli non Clifford sono necessari per ottenere vantaggio quantistico. In molti schemi di correzione degli errori quantistici (QEC) i cosiddetti gate Clifford sono facili da implementare, ovvero richiedono pochissime risorse in termini di operazioni e qubit per implementare le porte a tolleranza di errore, mentre i cancelli non Clifford sono piuttosto costosi quando richiedono la tolleranza di errore. In un set di cancelli quantistici universali, il cancello T viene comunemente usato come porta non Clifford.

Il set standard di porte di Clifford a qubit singolo, incluso per impostazione predefinita in Q#, include

$$H=\frac{{1}{\sqrt{{2}}\begin{bmatrix} 1 \\& 1 amp;1 &1 , \qquad S =\begin{bmatrix} 1 \end{bmatrix}& 0 0 \\ amp; i \end{bmatrix}= T^2, \qquad X=\begin{bmatrix} 0 && 1 \\& 0 \end{bmatrix}= HT^4H,$$

$$Y =\begin{bmatrix} 0 amp; -i \\& 0 &\end{bmatrix}=T^2HT^4 HT^6, \qquad Z=\begin{bmatrix}1& 0\\& amp;1 \end{bmatrix}=T^4. $$

Insieme al cancello non Clifford (il cancello T), queste operazioni possono essere composte per approssimare qualsiasi trasformazione unitaria su un singolo qubit.

T factory in Azure Quantum Resource Estimator

La preparazione del gate T non Clifford è fondamentale perché le altre porte quantistiche non sono sufficienti per il calcolo quantistico universale. Per implementare operazioni non Clifford per algoritmi di scalabilità pratica, è necessaria una bassa frequenza di errore T gate (o T stati). Tuttavia, possono essere difficili da implementare direttamente sui qubit logici e possono anche essere difficili per alcuni qubit fisici.

In un computer quantistico a tolleranza di errore, gli stati T a bassa frequenza di errore richiesti vengono prodotti usando una fabbrica distillazione T stato T o T factory per breve. Queste fabbriche T in genere comportano una sequenza di round distillato, dove ogni round prende in molti stati T rumorosi codificati in un codice di distanza più piccolo, li elabora usando un'unità di compilazione e restituisce meno stati T rumorosi codificati in un codice di distanza più grande, con il numero di round, unità di compilazione e distanze di tutti i parametri che possono essere vari. Questa procedura viene iterazione, in cui gli stati T di output di un round vengono inseriti nel successivo round come input.

In base alla durata della T factory, Azure Quantum Resource Estimator determina la frequenza con cui è possibile richiamare una T factory prima di superare il runtime totale dell'algoritmo e quindi il numero di stati T che possono essere generati durante il runtime dell'algoritmo. In genere, più stati T sono necessari rispetto a ciò che può essere prodotto all'interno delle chiamate di una singola fabbrica T durante il runtime dell'algoritmo. Per produrre più stati T, lo strumento di stima delle risorse usa copie delle fabbriche T.

Stima fisica della fabbrica T

Resource Estimator calcola il numero totale di stati T necessari per eseguire l'algoritmo e il numero di qubit fisici per una singola factory T e il relativo runtime.

L'obiettivo è quello di produrre tutti gli stati T all'interno del runtime dell'algoritmo con il minor numero possibile di copie di T factory. Il diagramma seguente illustra un esempio del runtime dell'algoritmo e del runtime di una T factory. È possibile notare che il runtime della fabbrica T è più breve del runtime dell'algoritmo. In questo esempio una T factory può distillare uno stato T. Si verificano due domande:

  • Quanto spesso la T factory può essere richiamata prima della fine dell'algoritmo?
  • Quanti copie del round di produzione T factory sono necessarie per creare il numero di stati T necessari durante il runtime dell'algoritmo?
Diagramma che mostra il runtime dell'algoritmo (rosso) rispetto al runtime di una T factory (blu). Prima della fine dell'algoritmo, la fabbrica T può eseguire 8 volte. Se sono necessari 30 stati T e T factory possono essere eseguiti 8 volte durante il runtime, sono necessarie 4 copie delle factory T in esecuzione in parallelo per distillare 30 T stati.

Prima della fine dell'algoritmo, la fabbrica T può essere richiamata otto volte, che viene chiamata un round distillato. Ad esempio, se sono necessari 30 stati T, viene richiamata una singola T factory otto volte durante il runtime dell'algoritmo e quindi crea otto stati T. È quindi necessario avere quattro copie del round della fabbrica T in esecuzione in parallelo per distillare i 30 stati T necessari.

Nota

Si noti che le chiamate di T factory e T factory non sono uguali.

Le fabbriche distillato T state vengono implementate in una sequenza di round, dove ogni round è costituito da un set di copie di unità di compilazione in esecuzione in parallelo. L'analizzatore di risorse calcola il numero di qubit fisici necessari per eseguire una T factory e per quanto tempo viene eseguita la factory T, tra gli altri parametri necessari.

È possibile eseguire solo chiamate complete di una fabbrica T. Pertanto, potrebbero verificarsi situazioni in cui il runtime accumulato di tutte le chiamate di T factory è minore del runtime dell'algoritmo. Poiché i qubit vengono riutilizzati da round diversi, il numero di qubit fisici per una T factory è il numero massimo di qubit fisici usati per un round. Il runtime della fabbrica T è la somma del runtime in tutti i round.

Nota

Se la frequenza di errore di T gate fisica è inferiore alla frequenza di errore dello stato T logico richiesto, l'utilità di stima delle risorse non può eseguire una buona stima delle risorse. Quando si invia un processo di stima delle risorse, è possibile che non sia possibile trovare la fabbrica T perché la frequenza di errore dello stato T logico richiesto è troppo bassa o troppo elevata.

Per altre informazioni, vedere Appendice C dei requisiti di valutazione per aumentare il vantaggio quantistico pratico.

Passaggi successivi