Udostępnij przez


Rola bram T i fabryk T w obliczeniach kwantowych

W tym artykule opisano rolę bram T i fabryk T w odpornych na błędy obliczeniach kwantowych. Dając algorytm kwantowy, szacowanie wymaganych zasobów na potrzeby uruchamiania bram T i fabryk T staje się kluczowe dla określenia możliwości algorytmu. Narzędzie do szacowania zasobów usługi Azure Quantum oblicza liczbę stanów T potrzebnych do uruchomienia algorytmu, liczbę kubitów fizycznych dla pojedynczej fabryki T oraz środowisko uruchomieniowe fabryki T.

Uniwersalny zestaw bram kwantowych

Zgodnie z kryteriami DiVincenzo skalowalny komputer kwantowy musi być w stanie zaimplementować uniwersalny zestaw bram kwantowych. Zestaw uniwersalny zawiera wszystkie bramy potrzebne do wykonywania obliczeń kwantowych, czyli wszystkie obliczenia muszą rozkładać się z powrotem w skończoną sekwencję bram uniwersalnych. Co najmniej komputer kwantowy musi mieć możliwość przeniesienia pojedynczych kubitów do dowolnej pozycji w sferze Bloch (przy użyciu bram z jednym kubitem), a także wprowadzić splątanie w systemie, co wymaga bramy z wieloma kubitami.

Istnieją tylko cztery funkcje mapujące jeden bit na jeden bit na komputerze klasycznym. Z kolei na jednym kubitie na komputerze kwantowym istnieje nieskończona liczba przekształceń jednostkowych. W związku z tym żaden skończony zestaw pierwotnych operacji kwantowych lub bram może dokładnie replikować nieskończony zestaw przekształceń jednostkowych dozwolonych w obliczeniach kwantowych. Oznacza to, że w przeciwieństwie do obliczeń klasycznych, nie można zaimplementować każdego możliwego programu kwantowego dokładnie przy użyciu skończonej liczby bram. W związku z tym komputery kwantowe nie mogą być uniwersalne w tym samym sensie komputerów klasycznych. W rezultacie, gdy mówimy, że zestaw bram jest uniwersalny dla obliczeń kwantowych, oznacza to coś nieco słabszego niż w przypadku przetwarzania klasycznego.

W celu zapewnienia uniwersalności wymagane jest, aby komputer kwantowy przybliżył tylko każdą macierz jednostkową w ramach błędu skończonego przy użyciu sekwencji bramki o długości skończonej.

Innymi słowy, zestaw bram jest uniwersalnym zestawem bram, jeśli każda transformacja jednostkowa może być w przybliżeniu napisana jako produkt bram z tego zestawu. Wymagane jest, aby dla każdego określonego ograniczenia błędu istniały bramy $G_{1}, G_{2}, \ldots, G_N$ z zestawu bram, tak aby

$$ {G_N G_N-1}\cdots G_2 G_1 ≈ U.$$

Ponieważ konwencja mnożenia macierzy polega na mnożeniu od prawej do lewej, pierwsza operacja bramy w tej sekwencji, $G_N$, jest w rzeczywistości ostatnią, która stosowana jest do wektora stanu kwantowego. Bardziej formalnie, taki zestaw bramy mówi się, że jest uniwersalny, jeśli dla każdej tolerancji $błędów \epsilon>0$ istnieje $G_1, \ldots, G_N$ tak, że odległość między $G_N\ldots G_1$ i $U$ jest w większości $\epsilon$. Najlepiej, aby wartość $N$, potrzebna do osiągnięcia tej odległości $\epsilon$, skalowała się polilogarytmicznie z wartością $1/\epsilon$.

Na przykład zestaw utworzony przez bramy Hadamard, CNOT i T jest uniwersalnym zestawem, z którego można wygenerować dowolne obliczenia kwantowe (na dowolnej liczbie kubitów). Zestaw bram Hadamarda i T generuje dowolną bramę jednokubitową.

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

W komputerze kwantowym bramy kwantowe można podzielić na dwie kategorie: bramy Clifforda i bramy spoza Cliffordu, w tym przypadku bramę T. Programy kwantowe wykonane tylko z bram Cliffordu mogą być symulowane wydajnie przy użyciu klasycznego komputera, a zatem bramy inne niż Clifford są wymagane do uzyskania przewagi kwantowej. W wielu schematach korekty błędów kwantowych (QEC) tak zwane bramy Clifforda są łatwe do zaimplementowania, to znaczy, że wymagają one bardzo niewielu zasobów pod względem operacji i kubitów, aby zaimplementować je w sposób odporny na błędy, podczas gdy bramy nie-Clifforda są dość kosztowne, gdy wymagana jest odporność na błędy. W uniwersalnym zestawie bram kwantowych brama T jest często używana jako brama niekliordowa.

Standardowy zestaw bram Cliffordów z jednym kubitem, dołączony domyślnie w systemie Q#, obejmuje

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

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

W połączeniu z bramą niekliordową (bramą T) te operacje można skomponować, aby przybliżyć dowolną transformację jednostkową na jednym kubitie.

Fabryki T w narzędziu Azure Quantum do szacowania zasobów

Przygotowanie bramy innej niż Clifford T ma kluczowe znaczenie, ponieważ inne bramy kwantowe nie są wystarczające do obliczeń kwantowych. Aby zaimplementować operacje inne niż Clifford dla algorytmów o praktycznej skali, wymagana jest niska stopa błędów bramy T (lub stany T). Jednak mogą one być trudne do bezpośredniej implementacji na kubitach logicznych, a także mogą być trudne dla niektórych kubitów fizycznych.

W komputerze kwantowym odpornym na błędy wymagane stany T o niskim współczynniku błędów są produkowane przy użyciu fabryki destylacji stanu T lub fabryki T w skrócie. Fabryki T zazwyczaj obejmują sekwencję rund destylacji, gdzie każda runda przyjmuje wiele hałaśliwych stanów T zakodowanych z mniejszą dokładnością, przetwarza je przy użyciu jednostki destylacyjnej i generuje mniej hałaśliwe stany T zakodowane z większą dokładnością. Liczba rund, jednostek destylacji oraz odległości są parametrami, które można modyfikować. Ta procedura jest iterowana, gdzie wyjściowe stany T jednej rundy są przekazywane do następnej rundy jako dane wejściowe.

Na podstawie czasu trwania fabryki T Azure Quantum Resource Estimator określa, jak często można wywołać fabrykę T, zanim przekroczy całkowity czas wykonywania algorytmu, a tym samym ile stanów T można wygenerować podczas wykonywania algorytmu. Zazwyczaj wymagana jest większa liczba stanów T niż to, co można utworzyć w ramach wywołań pojedynczej fabryki T podczas wykonywania algorytmu. Aby utworzyć więcej stanów T, narzędzie do szacowania zasobów używa kopii fabryk T.

Szacowanie fizyczne fabryki T

Narzędzie do szacowania zasobów oblicza łączną liczbę stanów T potrzebnych do uruchomienia algorytmu oraz liczbę kubitów fizycznych dla pojedynczej fabryki T i jej środowiska uruchomieniowego.

Celem jest wygenerowanie wszystkich stanów T w środowisku uruchomieniowym algorytmu z jak najmniejszą liczbą kopii fabrycznych T. Na poniższym diagramie przedstawiono przykład środowiska uruchomieniowego algorytmu i środowiska uruchomieniowego jednej fabryki T. Widać, że czas działania fabryki T jest krótszy niż czas działania algorytmu. W tym przykładzie jedna fabryka T może destylować jeden stan T. Pojawiają się dwa pytania:

  • Jak często można wywołać fabrykę T przed końcem algorytmu?
  • Ile kopii rundy destylacji w fabryce T jest niezbędnych do utworzenia liczby stanów T wymaganych w czasie działania algorytmu?
Diagram przedstawiający środowisko uruchomieniowe algorytmu (czerwony) w porównaniu ze środowiskiem uruchomieniowym jednej fabryki T (niebieski). Przed końcem algorytmu fabryka T może działać 8 razy. Jeśli potrzebujemy 30 stanów T, a fabryka T może działać 8 razy w czasie wykonywania, potrzebujemy 4 kopii fabryk T działających równolegle do stanów destylowania 30 T.

Przed końcem algorytmu fabrykę T można wywołać osiem razy, nazywaną rundą destylacyjną. Na przykład, jeśli potrzebujesz 30 stanów T, jedna fabryka T jest wywoływana osiem razy podczas działania algorytmu, a tym samym tworzy osiem stanów T. Następnie potrzebne są cztery kopie rundy destylowania fabryki T działające równolegle do destylowania wymaganych stanów 30 T.

Uwaga

Należy pamiętać, że kopie fabryki T i wywołania fabryki T nie są takie same.

Fabryki destylacji stanu T są implementowane w sekwencji rund, gdzie każda runda składa się z zestawu kopii jednostek destylacyjnych działających równolegle. Narzędzie do szacowania zasobów oblicza, ile fizycznych kubitów jest potrzebnych do uruchomienia jednej fabryki T i jak długo działa fabryka T, między innymi wymaganymi parametrami.

Można wykonywać tylko pełne wywołania dla fabryki T. W związku z tym mogą wystąpić sytuacje, w których skumulowane środowisko uruchomieniowe wszystkich wywołań fabryki T jest mniejsze niż środowisko uruchomieniowe algorytmu. Ponieważ kubity są ponownie używane w różnych rundach, liczba fizycznych kubitów dla jednej T-fabryki jest maksymalną liczbą fizycznych kubitów używanych w jednej rundzie. Czas pracy fabryki T jest sumą czasu pracy we wszystkich rundach.

Uwaga

Jeśli fizyczna szybkość błędów bramy T jest niższa niż wymagana liczba błędów stanu logicznego T, narzędzie do szacowania zasobów nie może wykonać dobrego oszacowania zasobów. Podczas przesyłania zadania szacowania zasobów może wystąpić, że nie można odnaleźć fabryki T, ponieważ wymagana liczba błędów stanu logicznego T jest zbyt niska lub zbyt wysoka.

Aby uzyskać więcej informacji, zobacz Dodatek C Oceny wymagań dotyczących skalowania do praktycznej przewagi kwantowej.