Przygotowanie stanu Bell

Sep 18 2020

Oglądałem kilka wykładów na temat kubitów. Rozmawiali o tym, jak wygenerować stan Bella. Opisali to następująco:

  1. Przygotuj stan 00: $$\left |0 \right> \otimes \left |0 \right>$$
  2. Zastosuj Hadamarda: $$ (H \otimes I)(\left |0 \right> \otimes \left |0 \right> ) = \left |+0 \right> = \frac{\left|00 \right> + \left |10 \right>}{\sqrt{2}}$$
  3. Zastosuj CNOT, aby przejść ze stanu 00 + 10 do stanu 00 + 11, $$ CNOT = \left |0 \right> \left <0 \right| \otimes I + \left |1 \right> \left<1 \right| \otimes X $$ takie, że: $$CNOT\times\frac{\left|00 \right> + \left |10 \right>}{\sqrt{2}}=\frac{\left |0 \right> \left <0|0 \right> \otimes I \left |0 \right> + \left |0 \right> \left <0|1 \right> \otimes I\left |1 \right> + \left |1 \right> \left <1|0 \right> \otimes X \left |0 \right> + \left |1 \right> \left <1|1 \right> \otimes X \left |0 \right> }{\sqrt{2}} = \left | \Omega \right >$$

Nie jestem pewien, czy mogę śledzić, jak iloczyn CNOT i państwa $\left|00 \right> + \left |10 \right>$można rozszerzyć, jak opisano powyżej. Mam nadzieję, że możecie mi pomóc.

Odpowiedzi

3 MicheleAmoretti Sep 17 2020 at 23:58

Jak napisałeś w punkcie 3, $CNOT$jest sumą dwóch iloczynów tensorowych, z których każdy obejmuje dwie macierze. Rozważmy pierwszy iloczyn tensora i zastosuj odpowiednio dwie macierze$|0\rangle$ i do $|0\rangle$ (the $|00\rangle$sparować w swoim stanie uzyskanym na 2.) i wykonać iloczyn tensorowy, aby uzyskać pierwszą ćwiartkę końcowego rozwinięcia. Zastosuj odpowiednio te same dwie macierze$|0\rangle$ i do $|1\rangle$ (the $|01\rangle$para w swoim stanie uzyskanym na 2.) i wykonaj iloczyn tensorowy, aby uzyskać drugą ćwiartkę końcowego rozwinięcia. Następnie powtórz, używając drugiego iloczynu tensorowego z rozszerzenia CNOT, a otrzymasz trzecią i czwartą ćwiartkę końcowego rozszerzenia. Krótko mówiąc, użyj rozdzielczej właściwości mnożenia.

1 MartinVesely Sep 18 2020 at 14:06

Zalecałbym użycie bezpośredniej reprezentacji macierzowej.

  1. Stan wejściowy $|00\rangle$ można zapisać jako wektor $$x= \begin{pmatrix} 1\\0\\0\\0 \end{pmatrix} $$

  2. Krok pierwszy, czyli bramka Hadamarda na pierwszym kubicie i „nic” na drugim kubicie, jest opisana operacją $$ H \otimes I = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} \otimes \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \\ 1 & 0 & -1 & 0 \\ 0 & 1 & 0 & -1 \\ \end{pmatrix} $$

  3. Mnożenie wektora $x$ z matrycą $H \otimes I$ daje wektor $$ y=\ \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 0 \\ 1 \\0 \end{pmatrix}, $$ która jest pierwszą kolumną macierzy.

  4. Teraz możesz zastosować bramkę CNOT opisaną macierzą $$ \text{CNOT}= \begin{pmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 1 & 0\\ \end{pmatrix}, $$ więc $$ z=\text{CNOT}\, y= \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 0 \\ 0 \\ 1 \end{pmatrix} $$

W podstawach obliczeniowych wektor $z$ jest $$ z = \frac{1}{\sqrt{2}}(|00\rangle+|11\rangle), $$ który jest pożądanym stanem dzwonka.

1 Abbyss Sep 19 2020 at 03:54

Odpowiem na to pytanie w inny sposób. Załóżmy, że twoje dwa kubity są przedstawione poniżej.

Rozważ swoje $|00\rangle$, reprezentowane przez $|q_1q_0\rangle$, to stan powyższego obwodu przed zastosowaniem jakichkolwiek bramek, taki sam jak stan początkowy $|0\rangle \otimes |0\rangle$.

Teraz zastosowanie hadamarda w kroku 2 jest takie samo, jak nałożenie hadamarda na $q_0$. Wiemy$q_0$ jest $|0\rangle$. Więc jeśli zastosujesz bramę hadamardową$|0\rangle$ zostanie przekształcony w $\frac{1}{\sqrt{2}}(|0\rangle + |1\rangle)$. (jeśli masz wątpliwości, sprawdź to, wykonując proste mnożenie macierzy).

Zobaczmy $q_1$ teraz żadna bramka nie jest do niego zastosowana, więc pozostaje tak, jak $|0\rangle$.

Więc teraz połączony stan jest $\frac{1}{\sqrt{2}}(|00\rangle + |01\rangle)$po zastosowaniu bramy hadamardowej. Teraz zastosuj bramkę CNOT (tak samo jak w kroku 3) na 2 kubitach. Klasyczna bramka CNOT oznacza po prostu, że jeśli bit kontrolny ma wartość 1, to bit docelowy jest odwracany, więc ta sama logika może być zastosowana dla bramki CNOT zastosowanej na kubicie. W naszym przypadku kubit kontrolny to$q_0$ a docelowym kubitem jest $q_1$. Więc zastosujmy CNOT na$|q_1q_0\rangle$

$CNOT(\frac{1}{\sqrt{2}}(|00\rangle + |01\rangle))$ kiedy aplikujesz z prawej strony, $|01\rangle$ przekształca się w $|11\rangle$ jako kubit kontrolny ($q_0$) wnosi wkład $|1\rangle$ tutaj więc docelowy kubit $q_1$ który wnosi wkład $|0\rangle$ przeskakuje do $|1\rangle$. Podobnie, jeśli przesuniesz się w lewo,$|00\rangle$ pozostanie $|00\rangle$ jako kubit kontrolny $q_0$ wnosi wkład $|0\rangle$ do tej części, więc odwracanie nie jest wymagane, stąd docelowy kubit ($q_1$) pozostaje taki sam ($|0\rangle$). Więc łącząc oba razem, otrzymujesz podążanie

CNOT ($\frac{1}{\sqrt{2}}(|00\rangle + |01\rangle)$) = $\frac{1}{\sqrt{2}}(|00\rangle + |11\rangle)$

Ten sposób myślenia byłby pomocny, gdy masz do czynienia z większymi transformacjami i większą liczbą kubitów. Mam nadzieję, że to jest pomocne.