next up previous contents
Next: Univerzální kvantové brány Up: Kvantové obvody Previous: Kvantové obvody   Obsah

Kvantové brány

V klasickém počítači, složeném z klasických bran jako je AND, NAND či OR, není vždy reverzibilita mezi vstupy a výstupy zachována. Například u klasického výpočtu víme, že lze libovolnou logickou funkci kombinačního obvodu realizovat pouze použitím univerzální brány NAND. Tato brána má ale pro použití u kvantových počítačů tu nevýhodu, že z výstupů nelze jednoznačně určit kombinaci vstupů - brána NAND tedy není reverzibilní. V takovém procesu se ztrácí část informace a systém se tím zahřívá. Obecně lze dokázat, že v klasickém pojetí neexistuje univerzální reverzibilní 2-bitová brána. U kvantových počítačů ale můžeme používat jen ty brány, které podmínku reverzibility (a tím i unitárnosti operací) splňují. Jako první nás asi napadne brána NOT. Ta opravdu podmínku reverzibility splňuje. Podobně jsou na tom i brány CNOT a CCNOT. Vlastnosti těchto bran jsou shrnuty v tabulce.

brána jiný název qubity funkce
NOT   1 $\vert x\rangle \rightarrow \vert\overline{x}\rangle$
CNOT controlled NOT, XOR 2 $\vert x, y\rangle \rightarrow \vert x, x \oplus y\rangle$
CCNOT controlled-controlled NOT, Toffoliho brána 3 $\vert x, y, z\rangle \rightarrow \vert x, y, x y \oplus z\rangle$

Třetí sloupec tabulky říká, na kolik qubitů daná brána působí. Například Toffoliho brána je 3-qubitová. V maticovém zápisu je

\begin{displaymath}
\textbf{\textit{NOT}} =
\left( \begin{array}{cc} 0 & 1 \\ 1 ...
...\\
0 & 0 & 0 & 1 \\
0 & 0 & 1 & 0 \\
\end{array} \right).
\end{displaymath}

Matice CCNOT se podobá CNOT, pouze je rozměru $8 \times 8$ se submaticí NOT v pravém dolním rohu. Obecně je $n$-qubitová operace vyjádřena maticí $2^n \times 2^n$. Bránové operace na qubitech se v kvantové informatice obvykle zapisují pomocí kvantových obvodů, které se v čase vyvíjí zleva doprava a každá vodorovná hrana (drát) odpovídá jednomu qubitu. Obecně zakreslíme jedno-qubitovou unitární operaci jak je uvedeno na obrázku.


Obrázek: 1-qubitová kvantová brána: Na obrázku vlevo je znázorněna obecná operace působící na jeden qubit $\vert\psi\rangle$. Jako příklad je vpravo uvedena brána NOT.
\begin{figure}\begin{center}
\input epsf
\leavevmode
\epsfbox{not.eps} \end{center}\end{figure}

Dvou- a tří-qubitové operace CNOT a CCNOT jsou znázorněny na následujícím obrázku.


Obrázek: Kvantový obvod CNOT a CCNOT: Tyto brány mají jako kontrolní qubit 1. To znamená, že pokud jsou například u brány CCNOT oba qubity $x$ a $y$ rovny 1, provede se operace na qubitu $z$.
\begin{figure}\begin{center}
\input epsf
\leavevmode
\epsfbox{xor_circ.eps} \end{center}\end{figure}

Jinou důležitou kvantovou bránou je Fredkinova brána. Ta prohodí druhý a třetí bit v případě, že první bit je 0. Vidíme, že tak jako v případě CNOT nebo CCNOT je i zde podmíněno provedení operace stavem určitého bitu. Takovým branám se souhrně říká podmíněné kvantové brány. Přitom Fredkinova brána je také univerzální a může tak realizovat libovolný logický kombinační obvod. O univerzálnosti se blíže zmíníme v následující podkapitole.


Obrázek: Fredkinova brána: Má dva alternativní způsoby zápisu (vlevo a vpravo). Fredkinova brána je 3-qubitová a realizuje logickou funkci $\vert x,y,z\rangle \rightarrow \vert x, \overline xz \oplus xy, \overline x y \oplus xz\rangle$.
\begin{figure}\input epsf
\leavevmode
\epsfbox{fredkin.eps} \end{figure}

Další užitečnou bránou je SWAP, která spolu prohazuje 2 qubity a provádí tak funkci $\vert x,y\rangle \rightarrow \vert y,x\rangle$:

\begin{displaymath}\textbf{\textit{SWAP}} = \left( \begin{array}{cccc} 1 & 0 & 0...
... \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 \\
\end{array} \right).\end{displaymath}

Její obvod je znázorněn s použitím brány CNOT na následujícím obrázku vlevo. Z univerzálních bran je pak možné konstruovat obvody různých funkcí a složitosti. Například lze takto navrhnout reverzibilní 2-qubitovou sčítačku, která provádí funkci $\vert x,y,0\rangle \rightarrow \vert x, x\oplus y, xy\rangle$, kde druhý qubit obsahuje sumu a třetí přenos (carry).


Obrázek: SWAP a 2-qubitová reverzibilní sčítačka.
\begin{figure}\begin{center}
\input epsf
\leavevmode
\epsfbox{swap.eps} \end{center}\end{figure}

Kromě klasických kvantových bran však existují také kvantové brány, které klasicky nemohou existovat. Typickým zástupcem je brána $\sqrt{\textbf{\textit{NOT}}}$ (odmocnina z NOT). Přitom platí, že $(\sqrt{\textbf{\textit{NOT}}})^2$ = NOT. Tuto podmínku splňuje definice

\begin{displaymath}\sqrt{\textbf{\textit{NOT}}} = \frac{1}{2}
\left( \begin{array}{cc} 1+i & 1-i \\ 1-i & 1+i \\ \end{array} \right).
\end{displaymath}

Snadno lze ověřit, že je tato operace unitární, tj. že $\sqrt{\textbf{\textit{NOT}}}\ \sqrt{\textbf{\textit{NOT}}}^\dagger$ = 1. Použití této brány si uveďme na příkladu výpočtu funkce NOT. Podle definice aplikujeme bránu $\sqrt{\textbf{\textit{NOT}}}$ dvakrát za sebou. Vidíme, že tato operace má celkem 3 stádia - použití první brány, použití druhé brány, skončený výpočet. U Feynmanova modelu kvantového počítače jsou tyto kroky zachyceny ve speciálních qubitech, které tvoří kurzor. Potřebný kvantový registr by se proto skládal ze 4 qubitů: tří kurzorových a jednoho výpočetního, na kterém bychom operaci NOT provedli. Operace první brány by tedy vypadala jako

\begin{displaymath}\sqrt{{\textbf{\textit{NOT$_4$}}}} = {\textbf{\textit{1}}} \o...
...{\textbf{\textit{1}}} \otimes
\sqrt{{\textbf{\textit{NOT}}}},
\end{displaymath}

Protože se jedná o direktní součin 4 qubitů, bude mít výsledná matice rozměr $2^4 \times 2^4$. Kolem diagonály bude mít rozmístěny submatice $\sqrt{{\textbf{\textit{NOT}}}}$. Zkráceně má tato matice tvar

\begin{displaymath}
\sqrt{{\textbf{\textit{NOT$_4$}}}} =
\left( \begin{array}{cc...
...0}}} & \sqrt{{\textbf{\textit{NOT}}}} \\
\end{array} \right),
\end{displaymath}

kde 0 je nulová submatice 2x2. Celý výpočet pak můžeme zapsat jako

\begin{displaymath}{\textbf{\textit{NOT$_4$}}} =
\sqrt{{\textbf{\textit{NOT$_4$}}}}\ \sqrt{{\textbf{\textit{NOT$_4$}}}}.
\end{displaymath}

Pokud vyjdeme z počátečního stavu $\vert 1000\rangle$ (tj. že kurzor je na počátku nastaven na prvním qubitu), pak Hamiltonián, kterým popíšeme konfiguraci celého systému včetně kurzoru (a který můžeme dosadit do Schrödingerovy rovnice), je u Feynmanova modelu kvantového počítače roven

\begin{displaymath}
\textbf{\textit{H}} =
\textbf{\textit{c$_1$}} \textbf{\texti...
...tit{a$_1$}} \sqrt{{\textbf{\textit{NOT$_4$}}}}\right)^\dagger,
\end{displaymath}

kde c a a jsou anihilační a kreační operátory, které jsou definovány jako

\begin{displaymath}
\textbf{\textit{c}} =
\left( \begin{array}{cc} 0 & 0 \\ 1 & ...
...left( \begin{array}{cc} 0 & 1 \\ 0 & 0 \\ \end{array} \right).
\end{displaymath}

Tyto operátory slouží k nastavování a mazání qubitů kurzoru na hodnoty $\vert 1\rangle$ a $\vert\rangle$ podle toho, kam až postoupil výpočet, a tedy kolik již bylo aplikováno bran. Pokud kdykoliv naměříme obsazený poslední (třetí) kurzorový qubit, máme jistotu, že výpočet je u konce. Provázání kurzoru a průběhu vlastního výpočtu zajišťuje právě výše uvedená podoba Hamiltoniánu, která musí reflektovat následnou fyzickou implementaci. U Feynmanova modelu je tvar Hamiltoniánu odvozen od spinových vln, které se šíří řetězcem molekul (to jsou precesní vlny dipólových momentů vzniklé ve feritech, které se ocitly v externím magnetickém poli jiného směru než bylo pole magnetizační). Potom také měřením na kurzoru neovlivňujeme zpětně část registru, v níž probíhá výpočet. Možnosti působení obou operátorů na jeden qubit kurzoru můžeme shrnout takto: c $\vert\rangle = \vert 1\rangle$, c$\vert 1\rangle = 0$, a$\vert\rangle = 0$, a $\vert 1\rangle = \vert\rangle$, kde 0 je nedefinovaný nulový stav. Protože ale potřebujeme specifikovat složitější operaci působící na celý registr, mají v Hamiltoniánu oba operátory indexy určující, který kurzorový qubit je ovlivňován. Například k nastavení druhého qubitu na $\vert 1\rangle$ použijeme operátor c$_1$ = $\textbf{\textit{1}} \otimes \textbf{\textit{c}}
\otimes \textbf{\textit{1}} \otimes \textbf{\textit{1}}.$ Podobně definujeme i ostatní operátory. Všimněme si, že v našem příkladě tyto operátory nikdy neovlivňují poslední qubit, protože ten není součástí kurzoru a probíhá v něm výpočet operace NOT. Nyní, pokud Hamiltonián vypočítáme6, dostaneme

\begin{displaymath}
{\textbf{\textit{H}}} =
\left( \begin{array}{cccccccc}
{\tex...
...{\textit{0}}} & {\textbf{\textit{0}}} \\
\end{array} \right),
\end{displaymath}

kde 0 je nulová submatice 2x2. Pokud jsou počáteční podmínky vlnové funkce $\vert\Psi(0)\rangle = \vert 1000\rangle$ nebo $\vert\Psi(0)\rangle = \vert 1001\rangle$, je řešení Schrödingerovy rovnice

\begin{displaymath}\vert\Psi(t)\rangle = e^{-i \textbf{\textit{\scriptsize H}} t...
...ert\Psi(0)\rangle = \textbf{\textit{U}}(t) \vert\Psi(0)\rangle,\end{displaymath}

kde H je výše uvedený časově nezávislý Hamiltonián. Z této rovnice nám k úplnému popsání výpočtu zbývá vyjádřit evoluční operátor $\textbf{\textit{U}}(t)$, který popisuje vývoj systému v čase. To je možné provést několika způsoby. Například přes rozvoj $e^x = 1 + \frac{x^1}{1!} + \frac{x^2}{2!} + \frac{x^3}{3!} + \ldots$. Výsledný evoluční operátor je pak možné použít k (neefektivní) simulaci kvantového výpočtu funkce NOT na klasickém počítači. Na bráně $\sqrt{\textbf{\textit{NOT}}}$ jsme si ukázali, jak jsou jednotlivé brány a operátory propojeny s vlastní vlnovou funkcí a jakou v ní hrají úlohu. Také jsme viděli, že ne všechny brány jsou realizovatelné klasicky. Další z čistě kvantových bran jsou například tři jedno-qubitové (osově-) rotační brány R$_x$, R$_y$ a R$_z$ s parametrem $\theta$.

\begin{displaymath}
\textbf{\textit{R$_x$}} =
\left( \begin{array}{cc}
{\rm cos}...
...}
e^{i\theta} & 0 \\ 0 & e^{-i\theta} \\
\end{array} \right).
\end{displaymath}

Tyto brány stavový vektor rotují kolem příslušné osy o zvolený úhel. Brány, které provádějí rotaci o $\frac{\pi}{4}$ bez fáze $i$ jsou Hadamardovy rotační brány:

\begin{displaymath}
\textbf{\textit{H}} = \frac{1}{\sqrt{2}}
\left( \begin{array...
...eft( \begin{array}{cc} 1 & -1 \\ 1 & 1 \\ \end{array} \right),
\end{displaymath}

Tyto brány lze použít například v případě, že chceme uvést stavy $\vert\rangle$ nebo $\vert 1\rangle$ do jejich vyvážené superpozice. Podle použité brány získáváme různou fázi.


next up previous contents
Next: Univerzální kvantové brány Up: Kvantové obvody Previous: Kvantové obvody   Obsah
Bashar 2001-01-23