Udostępnij za pośrednictwem


Kubit w obliczeniach kwantowych

Podobnie jak bity są podstawowym obiektem informacji w obliczeniach klasycznych, kubity (bity kwantowe) są podstawowym obiektem informacji w obliczeniach kwantowych. Aby zrozumieć tę korespondencję, w tym artykule przedstawiono najprostszy przykład: pojedynczy kubit.

Przedstawienie kubitu

Bit lub cyfra binarna może mieć wartość 0 lub 1, kubit może mieć wartość $0, $1$ lub kwantową superpozycję $0$$ i $1$.$$$$

Stan pojedynczego kubitu może być opisany przez dwuwymiarowy wektor kolumnowy o normie jednostkowej, czyli kwadraty modułów jego elementów muszą sumować się do $1$. Ten wektor, nazywany wektorem stanu kwantowego, zawiera wszystkie informacje potrzebne do opisania systemu kwantowego z jednym kubitem, tak jak jeden bit zawiera wszystkie informacje potrzebne do opisania stanu zmiennej binarnej. Aby zapoznać się z podstawami wektorów i macierzy w obliczeniach kwantowych, zobacz Vector and matrices (Wektory i macierze).

Każdy dwuwymiarowy wektor kolumnowy liczb rzeczywistych lub złożonych z normą $1$ reprezentuje możliwy stan kwantowy przechowywany przez kubit. W ten sposób $\begin{bmatrix}\alpha\\\beta\end{bmatrix}$ reprezentuje stan kubitu, jeśli $\alpha$ i $\beta$ są liczbami zespolonymi spełniającymi $|\alpha|^2 + |\beta|^2 = 1.$

Niektóre przykłady prawidłowych wektorów stanu kwantowego reprezentujących kubity to $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$ i $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$. Te dwa wektory stanowią podstawę dla przestrzeni wektorowej, która opisuje stan kubitu. Oznacza to, że każdy wektor stanu kwantowego może być zapisywany jako suma tych wektorów bazowych. W szczególności wektor x y można zapisać jako $\begin{bmatrix}x \\ 1 \end{bmatrix}$ 0 $ + y \begin{bmatrix} 0 \\ 1 \end{bmatrix}.\begin{bmatrix}\\\end{bmatrix}$ Chociaż każda rotacja tych wektorów będzie służyć jako idealnie prawidłowa podstawa kubitu, jest wybierana ta konkretna, nazywając ją bazą obliczeniową.

Te dwa stany kwantowe są pobierane w celu odpowiadania dwóm stanom klasycznego bitu, a mianowicie $0$ i $1$. Standardowa konwencja polega na wyborze

$$0\equiv\begin{bmatrix} 1 \\ 0 \end{bmatrix}$$$$1 \equiv\begin{bmatrix} 0 \\ 1 \end{bmatrix},$$

chociaż przeciwny wybór może być równie dobrze brany. Zatem, z nieskończonej liczby możliwych wektorów stanu kwantowego z jednym kubitem, tylko dwa odpowiadają stanom bitów klasycznych; wszystkie inne stany kwantowe nie.

Mierzenie kubitu

Jak przedstawić kubit, aby uzyskać intuicję o tym, co reprezentują te stany, można to zrozumieć poprzez omówienie koncepcji pomiaru. Pomiar odpowiada nieformalnej idei "patrzenia" na kubit, który natychmiast redukuje stan kwantowy do jednego z dwóch klasycznych stanów $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$ lub $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$. Gdy kubit podany przez wektor $\begin{bmatrix}\alpha\\\beta\end{bmatrix}$ stanu kwantowego jest mierzony, wynik $0$ jest uzyskiwany z prawdopodobieństwem ^2$|\alpha| i wynikiem $1$ z prawdopodobieństwem $$|\beta|^2.$ W wyniku $0$ nowy stan kubitu wynosi $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$; w wyniku $1$ jego stan wynosi $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$. Należy pamiętać, że te prawdopodobieństwa sumują się do 1 ze względu na warunek normalizacji ^2 + ^2 < 1.

Właściwości miary oznaczają również, że ogólny znak wektora stanu kwantowego jest nieistotny. Negowanie wektora jest równoznaczne ze $\alpha\rightstrzałką -\alpha$ i $\beta\rightstrzałką -\beta$ . Ponieważ prawdopodobieństwo pomiaru $0$ i $1$ zależy od wielkości kwadratu warunków, wstawianie takich znaków nie zmienia prawdopodobieństwa w ogóle. Takie fazy są często nazywane „fazami globalnymi” i ogólnie mogą mieć postać e^iθ, a nie tylko \pm 1.

Ostateczną ważną właściwością pomiaru jest to, że nie musi uszkodzić wszystkich wektorów stanu kwantowego. Jeśli zaczniemy od kubitu w stanie $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$, który odpowiada klasycznemu stanowi $0$, pomiar tego stanu zawsze daje wynik $0$ i pozostawia stan kwantowy bez zmian. W tym sensie, jeśli istnieją tylko bity klasyczne (na przykład kubity, które są $\begin{bmatrix}1 \\ 0 \end{bmatrix}$ lub $\begin{bmatrix}0 \\ 1 \end{bmatrix}$), pomiar nie uszkodzi systemu. Oznacza to, że można replikować klasyczne dane i manipulować nimi na komputerze kwantowym tak samo jak na komputerze klasycznym. Jednak możliwość przechowywania informacji w obu stanach jednocześnie jest tym, co wywyższa obliczenia kwantowe ponad to, co jest klasycznie możliwe, oraz pozbawia komputery kwantowe możliwości masowego kopiowania danych kwantowych, zobacz również twierdzenie o zakazie klonowania.

Wizualizowanie kubitów i przekształceń przy użyciu sfery Bloch

Kubity mogą być również przedstawiane w 3$D przy użyciu reprezentacji sfery Blocha. Sfera Bloch umożliwia opisanie stanu kwantowego z jednym kubitem (który jest dwuwymiarowym wektorem złożonym) jako trójwymiarowego wektora wartości rzeczywistej. Jest to ważne, ponieważ pozwala nam wizualizować stany pojedynczego kubitu, a tym samym rozwijać rozumowanie, które mogą być nieocenione w zrozumieniu stanów wielokubitowych (gdzie niestety reprezentacja sfery Bloch rozpada się). Sferę Bloch można wizualizować w następujący sposób:

Sfera Blocha

Strzałki na tym diagramie pokazują kierunek, w którym wektor stanu kwantowego wskazuje, a każda transformacja strzałki może być uważana za obrót o jednej z osi kardynaalnych. Myślenie o obliczeniach kwantowych jako o sekwencji rotacji to potężna intuicja, ale trudno ją wykorzystać do projektowania i opisywania algorytmów. Q# Zapobiega temu problemowi, podając język opisujący takie rotacje.

Operacje pojedynczego kubitu

Komputery kwantowe przetwarzają dane, stosując uniwersalny zestaw bram kwantowych, które mogą emulować dowolną rotację wektora stanu kwantowego. To pojęcie uniwersalności jest związane z pojęciem uniwersalności dla tradycyjnych (na przykład klasycznych) obliczeń, w których zestaw bram jest uważany za uniwersalny, jeśli każda transformacja bitów wejściowych może być wykonywana przy użyciu obwodu o długości skończonej. W obliczeniach kwantowych prawidłowe przekształcenia, które możemy wykonać na kubitie, to przekształcenia jednostkowe i pomiary. Operacja sprzężona lub sprzężenie hermitowskie ma kluczowe znaczenie dla obliczeń kwantowych, ponieważ jest potrzebna do odwrócenia przekształceń kwantowych.

Operacje jednokubitowe lub bramy kwantowe z jednym kubitem można podzielić na dwie kategorie: bramy Clifforda i bramy spoza Cliffordu. Bramy nie-Cliffordowskie składają się tylko z $bramy T$ (znanej również jako brama $\pi/8$ ).

$$ T=\begin{bmatrix} 1 & 0 \ 0 & e^{i\pi/4}\end{bmatrix}. $$

Standardowy zestaw jednokubitowych bram Clifforda, dołączony domyślnie w Q#, obejmuje

$$ H=\frac{{1}{\sqrt{{2}}\begin{bmatrix} 1 & 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. $$

Tutaj operacje $X$, $Y$ i $Z$ są używane szczególnie często i są nazywane operatorami Pauli po ich twórca Wolfgang Pauli. Wraz z bramą nie-Clifforda (brama $T$) operacje te mogą być komponowane, aby przybliżyć dowolną transformację jednostkową na jednym kubicie.

Chociaż poprzednie stanowią najbardziej popularne bramki prymitywne do opisywania operacji na poziomie logicznym stosu (poziom logiczny można traktować jako poziom algorytmu kwantowego), często wygodniej jest rozważać mniej podstawowe operacje na poziomie algorytmu, na przykład operacje bliżej poziomu opisu funkcji. Q# Na szczęście dostępne są również metody implementowania jednostek wyższego poziomu, które z kolei umożliwiają implementowanie algorytmów wysokiego poziomu bez jawnego rozkładania wszystkich elementów w dół do bram Clifford i $T$.

Najprostszym takim elementem jest pojedyncza rotacja kubitu. Trzy rotacje pojedynczego kubitu są zwykle brane pod uwagę: $R_x$, $R_y$ i $R_z$. Aby zwizualizować działanie obrotu $R_x(\theta)$, wyobraź sobie na przykład, że wskazujesz prawym kciukiem wzdłuż kierunku $osi x$ sfery Blocha i obracasz wektor ręką przez kąt $\theta/2$ radianów. Ten mylący czynnik $2$ wynika z faktu, że wektory ortogonalne są oddalone o $180^\circ$ gdy są wykreślane na sferze Blocha, ale rzeczywiście są oddalone o $90^\circ$ stopni geometrycznie. Odpowiednie macierze jednostkowe to:

$$ \begin{align*}& R_z(\theta) = e^{-i\theta Z/2}=\begin{bmatrix} e^{-i\theta/2}& 0\\ 0& e^{i\theta/2}\end{bmatrix}, \\& R_x(\theta) = e^{-i\theta X/2}= HR_z(\theta)H =\begin{bmatrix} \cos(\theta/2) & -i\sin(\theta/2)\\ -i\sin(\theta/2) & \cos(\theta/2) \end{bmatrix}, \\& R_y(\theta) = e^{-i\theta Y/2}= SHR_z(\theta)HS^\dagger=\begin{bmatrix} \cos(\theta/2) & -\sin(\theta/2)\\ \sin(\theta/2) & \cos(\theta/2) \end{bmatrix}. \end{wyrównać*}$$

Podobnie jak dowolne trzy obroty można połączyć, aby wykonać dowolną rotację w trzech wymiarach, można zauważyć na podstawie reprezentacji sfery Blocha, że każda macierz jednostkowa może być zapisana jako sekwencja trzech rotacji. Dla każdej macierzy jednostkowej $U$ istnieje $\alpha,\beta,\gamma,\delta$ taka, że $U= = e^{i\alpha} R_x(\beta)R_z(\gamma)R_x(\delta).$ W związku z tym $R_z(\theta)$ i $H$ również tworzą uniwersalny zestaw bramek, chociaż nie jest to zestaw dyskretny, ponieważ $\theta$ może przyjmować dowolną wartość. Z tego powodu i ze względu na aplikacje w symulacji kwantowej takie bramy ciągłe mają kluczowe znaczenie dla obliczeń kwantowych, zwłaszcza na poziomie projektowania algorytmu kwantowego. Aby osiągnąć implementację sprzętu odpornego na uszkodzenia, zostaną one ostatecznie skompilowane w sekwencje dyskretnych bram, które ściśle przybliżają te rotacje.