Bramka kwantowa

Zestaw kwantowych bramek logicznych ( nazwa bramki, symbol graficzny, macierz unitarna, odpowiadająca bramce)
Obwód kwantowy, który dokonuje teleportacji kubitu,[1] który zawiera bramki kwantowe (czytając od lewej do prawej): bramkę CNOT, która działa na kubitach w stanach | ψ C {\displaystyle |\psi \rangle _{C}} i | Φ A + {\displaystyle |\Phi \rangle _{A}^{+}} , bramkę Hadamarda H {\displaystyle H} , która działa na pierwszy kubit (licząc od góry), znajdujący się w stanie wyjściowym po zadziałaniu bramki CNOT, dwie bramki pomiaru - za tymi bramkami mamy podwójne linie, co oznacza, że kubity zostały zmierzony i zredukowały się do bitów o ściśle określonych stanach; stan końcowy obwodu to kubit | ψ B {\displaystyle |\psi \rangle _{B}} .

Bramki kwantowe – ściśle określone operacje fizyczne, wykonywane podczas obliczeń na kubitach, tworzących rejestr komputerów kwantowych; operacje te zależą od tego, w jaki sposób są fizycznie realizowane kubity w danym komputerze kwantowym. Celem działania bramek kwantowych jest zmiana stanu aktualnego kubitu / kubitów na inny stan.

Symbole bramek kwantowych. Schematy obwodów kwantowych Na schematach obwodów kwantowych bramki kwantowe oznaczane są za pomocą ustalonych symboli (por. zestawienie w tabeli), przy czym a) bramki mają tyle samo wejść, co wyjść b) ilość wejść / wyjść jest równa liczbie kubitów, na których działają - są więc bramki jedno-, dwu-, trzykubitowe. Schematy obwodów kwantowych czyta się jak nuty na pięciolinii - od lewej do prawej strony, przy czym linie pojedyncze oznaczają kubity, a linie podwójne oznaczają bity.

Opis teoretyczny działania bramek kwantowych: W opisie teoretycznym bramki kwantowe są reprezentowane przez macierze unitarne. Działanie realnej bramki kwantowej polega na przekształcaniu stanu kwantowego kubitu / kubitów w inny stan kwantowy. Opis zaś teoretyczny działania bramki sprowadza się do pomnożeniu wektora stanu | Ψ {\displaystyle |\Psi \rangle } , reprezentującego kubit / kubity przez macierz, opisującą daną bramkę kwantową (por. tabela - przykłady macierzy) - w wyniku otrzymuje się stan kubitu / kubitów | Φ {\displaystyle |\Phi \rangle } po oddziaływaniu z bramką.

Bramki kwantowe są podstawowymi operacjami, za pomocą których realizuje się algorytmy kwantowe; służą do przetwarzania informacji kwantowej.

Historia

Współcześnie używane typy bramek kwantowych została opracowane przez twórców teorii informatyki kwantowej, takich jak Adriano Barenco, Charles Bennett, Richard Cleve(inne języki), David P. DiVincenzo(inne języki), Norman Margolus(inne języki), Peter Shor, Tycho Sleator, John A. Smolin(inne języki), Harald Weinfurter. Symbolika bramek bazuje na symbolice wprowadzonej przez Richarda Feynmanna in 1986.

Bramki jednokubitowe

Stany pojedynczych kubitów, które nie są splątane mają ogólną postać: | ψ = cos ( θ / 2 ) | 0 + e i φ sin ( θ / 2 ) | 1 . {\displaystyle |\psi \rangle =\cos \left(\theta /2\right)|0\rangle +e^{i\varphi }\sin \left(\theta /2\right)|1\rangle .} Można je przedstawić jako punkty na powierzchni sfery Blocha. Obroty wokół osi x, y, z sfery Blocha reprezentowane są przez bramki kwantowe operatora obrotu.

Bramka Hadamarda

Bramka Hadamarda
H = 1 2 [ 1 1 1 1 ] {\displaystyle H={\frac {1}{\sqrt {2}}}{\begin{bmatrix}1&1\\1&-1\end{bmatrix}}}

Bramki Pauliego X, Y, Z

  • bramka Pauliego X = bramka NOT (bramka kwantowej negacji)
X = σ x = NOT = [ 0 1 1 0 ] {\displaystyle X=\sigma _{x}=\operatorname {NOT} ={\begin{bmatrix}0&1\\1&0\end{bmatrix}}}
  • bramka Pauliego Y
Y = σ y = [ 0 i i 0 ] {\displaystyle Y=\sigma _{y}={\begin{bmatrix}0&-i\\i&0\end{bmatrix}}}
  • bramka Pauliego Z
Z = σ z = [ 1 0 0 1 ] {\displaystyle Z=\sigma _{z}={\begin{bmatrix}1&0\\0&-1\end{bmatrix}}}

Bramka pierwiastek z NOT

Bramka N O T {\displaystyle {\sqrt {NOT}}}

- bramka pierwiastek kwadratowy z negacji

N O T = 1 2 [ 1 + i 1 i 1 i 1 + i ] {\displaystyle {\sqrt {NOT}}={\frac {1}{2}}{\begin{bmatrix}1+i&1-i\\1-i&1+i\end{bmatrix}}}

Bramka zmiany fazy π / 4 {\displaystyle \pi /4}

T = [ 1 0 0 e i π / 4 ] {\displaystyle T={\begin{bmatrix}1&0\\0&e^{i\pi /4}\end{bmatrix}}}

Uwaga: Bramka T tradycyjnie oznaczana była jako bramka π / 8. {\textstyle \pi /8.}

Bramki dowolnej zmiany fazy

Bramki dowolnej zmiany fazy - to rodzina bramek kwantowych, które działają na pojedynczych kubitach i dokonują zmiany ich stanów bazowych | 0 | 0 {\displaystyle |0\rangle \mapsto |0\rangle } oraz | 1 e i φ | 1 {\displaystyle |1\rangle \mapsto e^{i\varphi }|1\rangle } . Prawdopodobieństwa zmierzenia stanów | 0 {\displaystyle |0\rangle } oraz | 1 {\displaystyle |1\rangle } danego kubitu nie zmieniają się w wyniku takiej transformacji, ale modyfikacja fazy jego stanu kwantowego staje się istotna przy oddziaływaniu z innymi kubitami. Działanie bramki jest obrazowane na sferze Blocha jako obrót wokół osi z o φ {\displaystyle \varphi } radianów. Bramkę reprezentuje macierz:

P ( φ ) = [ 1 0 0 e i φ ] {\displaystyle P(\varphi )={\begin{bmatrix}1&0\\0&e^{i\varphi }\end{bmatrix}}}

Bramki fazowe Z, T, S

Bramki fazowe Z, T, S są szczególnymi przypadkami bramki zmiany fazy P ( φ ) {\displaystyle P(\varphi )} :

Z = [ 1 0 0 e i π ] = [ 1 0 0 1 ] = P ( π ) {\displaystyle Z={\begin{bmatrix}1&0\\0&e^{i\pi }\end{bmatrix}}={\begin{bmatrix}1&0\\0&-1\end{bmatrix}}=P\left(\pi \right)}
T = [ 1 0 0 e i π 4 ] = P ( π 4 ) = S = Z 4 {\displaystyle T={\begin{bmatrix}1&0\\0&e^{i{\frac {\pi }{4}}}\end{bmatrix}}=P\left({\frac {\pi }{4}}\right)={\sqrt {S}}={\sqrt[{4}]{Z}}}
S = [ 1 0 0 e i π 2 ] = [ 1 0 0 i ] = P ( π 2 ) = Z {\displaystyle S={\begin{bmatrix}1&0\\0&e^{i{\frac {\pi }{2}}}\end{bmatrix}}={\begin{bmatrix}1&0\\0&i\end{bmatrix}}=P\left({\frac {\pi }{2}}\right)={\sqrt {Z}}}

tj. bramka zmiany fazy P ( φ ) {\displaystyle P(\varphi )} staje się bramką Pauliego Z dla φ = π {\displaystyle \varphi =\pi } , bramką fazową T dla φ = π 4 {\textstyle \varphi ={\frac {\pi }{4}}} oraz bramką fazową S dla φ = π 2 . {\textstyle \varphi ={\frac {\pi }{2}}.}

Bramki dwukubitowe

Bramka CNOT

- bramka kontrolowanej negacji: wykonuje operację NOT na drugim kubicie tylko wtedy, gdy kontrolujący kubit jest w stanie | 1 {\displaystyle |1\rangle }

Bramka CNOT
CNOT = [ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 ] {\displaystyle \operatorname {CNOT} ={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\end{bmatrix}}}

Bramka SWAP

Bramka SWAP
SWAP = [ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 ] {\displaystyle {\mbox{SWAP}}={\begin{bmatrix}1&0&0&0\\0&0&1&0\\0&1&0&0\\0&0&0&1\end{bmatrix}}}

Bramki trzykubitowe

Bramka Toffoliego (CCNOT, T)

- bramka podwójnego kontrolowania negacji: wykonuje operację NOT na trzecim kubicie tylko wtedy, gdy dwa kontrolujące kubity są w stanie ∣ | 1 {\displaystyle |1\rangle } | 1 {\displaystyle |1\rangle }

Bramka Toffoliego
CCNOT = [ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 ] {\displaystyle {\text{CCNOT}}={\begin{bmatrix}1&0&0&0&0&0&0&0\\0&1&0&0&0&0&0&0\\0&0&1&0&0&0&0&0\\0&0&0&1&0&0&0&0\\0&0&0&0&1&0&0&0\\0&0&0&0&0&1&0&0\\0&0&0&0&0&0&0&1\\0&0&0&0&0&0&1&0\end{bmatrix}}}

Bramka Fredkina (CSWAP)

Bramka Fredkina (CSWAP)
CSWAP = [ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 ] {\displaystyle {\mbox{CSWAP}}={\begin{bmatrix}1&0&0&0&0&0&0&0\\0&1&0&0&0&0&0&0\\0&0&1&0&0&0&0&0\\0&0&0&1&0&0&0&0\\0&0&0&0&1&0&0&0\\0&0&0&0&0&0&1&0\\0&0&0&0&0&1&0&0\\0&0&0&0&0&0&0&1\end{bmatrix}}}

Bramka Deutscha

- znana również jako bramka Deutscha-Toffoli; realizuje operacją XOR (exclusive OR) między dwoma kubitami kontrolnymi a , b {\displaystyle a,b} i trzecim kubitem c {\displaystyle c} : jeżeli a = 1 {\displaystyle a=1} i b = 1 {\displaystyle b=1} , to c c 1 {\displaystyle c\rightarrow c\oplus 1} ; w przeciwnym razie c {\displaystyle c} pozostaje bez zmian.

Skrótowy zapis działania bramki Deutscha:

Deutsch | a , b , c = | a , b , c ( a b ) {\displaystyle {\text{Deutsch}}|a,b,c\rangle =|a,b,c\oplus (a\land b)\rangle }

Uniwersalne bramki kwantowe

Spośród wszystkich bramek kwantowych można wyróżnić tzw. zbiory uniwersalne, tj. takie zbiory bramek, z których można utworzyć dowolną inną bramkę kwantową. Istnieje wiele takich zbiorów. Przykładowy zbiór uniwersalny tworzą 4 poniższe bramki:

  1. bramka Pauliego X (jednokubitowa) X = [ 0 1 1 0 ] {\displaystyle X={\begin{bmatrix}0&1\\1&0\end{bmatrix}}}
  2. bramka Hadamarda (jednokubitowa) H = 1 2 [ 1 1 1 1 ] {\displaystyle H={\frac {1}{\sqrt {2}}}{\begin{bmatrix}1&1\\1&-1\end{bmatrix}}}
  3. bramka zmiany fazy (jednokubitowa) T = [ 1 0 0 e i π / 4 ] {\displaystyle T={\begin{bmatrix}1&0\\0&e^{i\pi /4}\end{bmatrix}}}
  4. bramka CNOT (dwukubitowa) CNOT = [ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 ] {\displaystyle \operatorname {CNOT} ={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\end{bmatrix}}}

Zestaw powyższych bramek 1, 2, 3, w połączeniu z odpowiednimi kontrolami (np. bramką kontrolowanego NOT), jest wystarczający do konstruowania dowolnych operacji kwantowych.

Właściwości bramek

  • obliczenia na bramkach kwantowych są odwracalne,
  • bramki mają jednakową liczbę wejść i wyjść.

Przykład bramki kwantowej NAND na dwóch kontrolowanych spinach

Bramkę kwantową zaprzeczenia koniunkcji lub NAND można zrealizować np. przy pomocy dwóch spinów elektronu, oddziałujących najprostszym oddziaływaniem typu wymiennego, umieszczonych w polu magnetycznym o kierunku zależnym od czasu, użytym do jej pracy. Hamiltonian takiego układu dany jest wzorem:

H = σ 1 B σ 2 B σ 1 σ 2 , {\displaystyle H=-{\boldsymbol {\sigma _{1}}}\cdot \mathbf {B} -{\boldsymbol {\sigma _{2}}}\cdot \mathbf {B} -{\boldsymbol {\sigma _{1}}}\cdot {\boldsymbol {\sigma _{2}}},}

gdzie σ 1 , {\displaystyle {\boldsymbol {\sigma _{1}}},} σ 2 {\displaystyle {\boldsymbol {\sigma _{2}}}} to operatory-wektory spinu elektronu złożone z trzech macierzy Pauliego.

Równania ruchu Blocha przyjmują postać:

σ 1 ˙ = σ 1 × B + σ 1 × σ 2 {\displaystyle {\dot {\boldsymbol {\sigma _{1}}}}={\boldsymbol {\sigma _{1}}}\times \mathbf {B} +{\boldsymbol {\sigma _{1}}}\times {\boldsymbol {\sigma _{2}}}}
σ 2 ˙ = σ 2 × B + σ 2 × σ 1 {\displaystyle {\dot {\boldsymbol {\sigma _{2}}}}={\boldsymbol {\sigma _{2}}}\times \mathbf {B} +{\boldsymbol {\sigma _{2}}}\times {\boldsymbol {\sigma _{1}}}}

Równania te można rozwiązać w przybliżeniu tzw. adiabatycznego śledzenia się wektorów spinów o infinitezymalnej precesji Larmora i wektora pola magnetycznego jeśli tylko założyć, że | B | = | σ i | . {\displaystyle |\mathbf {B} |=|{\boldsymbol {\sigma _{i}}}|.} W zależności od tego czy wektory spinu są na początku oba równolegle czy antyrównolegle do pola lub antyrównolegle do siebie albo oba adiabatycznie śledzą wektor pola magnetycznego i oba razem zmieniają kierunek o 180° albo prawa strona jednego z równań znika tożsamościowo i zmienia się kierunek tylko drugiego spinu, który śledzi adiabatycznie superpozycje pola i drugiego dodającego się jako pole efektywne spinu zamrożonego. Funkcja zmiany kierunku pola, np. sinus, jest oczywiście bezwarunkowa i nie zależy od stanu początkowego spinów co gwarantuje pracę bramki. Po czasie adiabatycznej zmiany kierunku pola B {\displaystyle \mathbf {B} } o 180° mamy więc:

e i H ( t ) d t o p [ 1 0 ] [ 1 0 ] = [ 0 1 ] [ 0 1 ] {\displaystyle e^{-i\int H(t)dt_{op}}{\begin{bmatrix}1\\0\end{bmatrix}}\otimes {\begin{bmatrix}1\\0\end{bmatrix}}={\begin{bmatrix}0\\-1\end{bmatrix}}\otimes {\begin{bmatrix}0\\-1\end{bmatrix}}}
e i H ( t ) d t o p [ 0 1 ] [ 0 1 ] = [ 1 0 ] [ 1 0 ] {\displaystyle e^{-i\int H(t)dt_{op}}{\begin{bmatrix}0\\-1\end{bmatrix}}\otimes {\begin{bmatrix}0\\-1\end{bmatrix}}={\begin{bmatrix}1\\0\end{bmatrix}}\otimes {\begin{bmatrix}1\\0\end{bmatrix}}}
e i H ( t ) d t o p [ 1 0 ] [ 0 1 ] = [ 1 0 ] [ 1 0 ] {\displaystyle e^{-i\int H(t)dt_{op}}{\begin{bmatrix}1\\0\end{bmatrix}}\otimes {\begin{bmatrix}0\\-1\end{bmatrix}}={\begin{bmatrix}1\\0\end{bmatrix}}\otimes {\begin{bmatrix}1\\0\end{bmatrix}}}
e i H ( t ) d t o p [ 0 1 ] [ 1 0 ] = [ 1 0 ] [ 1 0 ] {\displaystyle e^{-i\int H(t)dt_{op}}{\begin{bmatrix}0\\-1\end{bmatrix}}\otimes {\begin{bmatrix}1\\0\end{bmatrix}}={\begin{bmatrix}1\\0\end{bmatrix}}\otimes {\begin{bmatrix}1\\0\end{bmatrix}}}

Interpretując spin do góry jako logiczną 1, a do dołu jako 0 i zduplikowany spin stanu końcowego jako wynik, otrzymujemy bramkę zaprzeczenia koniunkcji, czyli NAND.

Przypisy

  1. Michael A.M.A. Nielsen Michael A.M.A., IsaacI. Chuang IsaacI., Quantum Computation and Quantum Information, Cambridge: Cambridge University Press, 2010, s. 26–28, ISBN 978-1-10700-217-3, OCLC 43641333 .

Bibliografia

  • Christopher C. Gerry, Peter L. Knight, Wstęp do optyki kwantowej, Warszawa PWN 2007

Zobacz też

Linki zewnętrzne

  • Bramki kwantowe i przepis na splątanie - kanał EleKwant na Youtube