Qubit

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Kvantový bit neboli qubit (čti kjúbit) je jednotka kvantové informace odvozená od klasického bitu. Jedná se o jeden ze stěžejních pojmů kvantově informačních protokolů. Zhruba řečeno může díky své kvantové povaze qubit na rozdíl od klasického bitu nabývat hodnot nejen 0 a 1 ale i hodnot mezi. Posloupnost několika qubitů nazýváme kvantový registr. Osm spojených qubitů tvoří qubyte, kvantové zobecnění bajtu.

Motivace[editovat | editovat zdroj]

V klasické počítačové vědě se pracuje s jednotkou informace, bitem, jako s abstraktním pojmem. Odhlíží se přitom od jeho fyzikální implementace, kterou je nutno zvolit při konkrétní realizaci počítače. Tento abstraktní přístup nám umožňuje se zaměřit čistě na vlastnosti informace a rozvíjet koncept počítání v dostatečné obecnosti. Není třeba v žádném případě uvažovat fyziku výpočetního procesu či způsobu uložení informace. Podívejme se ale na věc z fyzikálního hlediska. Bity jsou vždy reprezentovány stavem nějakého fyzikálního systému, ať už se jedná o pevný disk počítače, různá záznamová media či zpracovávací zařízení. Při práci s bity například dochází k uvolňování tepla jednotlivými součástkami či dochází též k narušování přenosu informace vlivem prostředí. Bity mohou být implementovány jako různě zmagnetované části pevného disku nebo různě velké prohlubně v povrchu kompaktních disků. Obvykle se jedná z mikroskopického hlediska o poměrně velký počet atomů či molekul, které reprezentují jeden bit.

Zkusme nyní tuto situaci přenést do mikroskopického světa, kde bychom jeden bit reprezentovali jediným atomem či fotonem. Od bitu požadujeme, aby nabýval dvou hodnot, 0 a 1. V případě fotonu lze tuto vlastnost nasimulovat například odlišnou polarizací. Foton může být polarizován vodorovně či svisle. Tyto dva stavy lze po řadě přirovnat k nule či jedničce bitu. Před zahájením výpočtu si můžeme připravit dostatek fotonů polarizovaných řekněme vodorovně a tyto fotony pak vysílat do procesoru. Procesor provede s fotony potřebné operace a nakonec vrátí fotony upravené tak, abychom z jejich polarizace byli schopni vyčíst výsledek výpočtu. Ten zjistíme změřením, jak je každý foton polarizován, buď vodorovně či svisle. Z polarizace každého fotonu, který opustil procesor, tak zrekonstruujeme řetězec bitů nesoucích cílovou informaci.

V právě popsaném mikroskopickém modelu počítání avšak přichází do hry nový hráč. Je jím kvantová mechanika, jejíž zákony je v mikrosvětě nutno brát v úvahu. Tyto zákony nám mimo jiné říkají, že ačkoli byly fotony na počátku připraveny jako vodorovně polarizované, z procesoru mohou vylétat fotony, které nejsou polarizovány ani vodorovně ani svisle, ale kdesi "mezi". Pokud budeme na takových fotonech zjišťovat, zda jsou polarizovány tak či onak, tak jednou dostaneme výsledek, že jsou polarizovány svisle, jindy zase, že jsou polarizovány vodorovně. Takto nejednoznačné výsledky přitom budeme dostávat i tehdy, když mnohokrát provedeme tutéž úlohu na témže procesoru se vstupními fotony připravenými tímtéž způsobem! Na mikroskopické úrovni je tedy třeba nakládat s informací odlišně, než je tomu v případě klasické informatiky. Nevystačíme si s pojmem bitu nabývajícího pouze hodnot 0 a 1. Místo toho je třeba si zavést nový pojem, kvantový bit čili qubit. Nejedná se o nic jiného, než o abstraktní vyjádření fyzikálního systému, který může po změření nabývat dvou různých hodnot. Příkladem jsou naše fotony, které mají po změření polarizaci buď vodorovně či svisle. Pokud ale vyjdou z procesoru polarizovány někde mezi, budeme dostávat po změření jejich polarizace vždy obecně různé výsledky. Jednou budou polarizovány vodorovně, jednou svisle a to přitom s různými pravděpodobnosti. Budeme-li totiž provádět měření na totožně připravených fotonech, budeme jednu polarizaci dostávat s jistou pravděpodobností a druhou polarizaci pak s jinou pravděpodobností. Qubit je schopen popsat, jaké tyto pravděpodobnosti jsou a kde "mezi" se polarizovaný foton nachází.

Formální definice[editovat | editovat zdroj]

Formálně je qubit definován jako normalizovaný vektor ve dvourozměrném Hilbertově prostoru stavů. Takovýto popis odpovídá běžnému způsobu popisu stavů v kvantové mechanice. Jinými slovy, nechť  \scriptstyle \mathcal{H} je dvourozměrný Hilbertův prostor s ortonormální bází tvořenou vektory označenými jako  \scriptstyle |0\rangle, |1\rangle (viz braketová notace pro označování vektorů v kvantové mechanice). Pak prvek  \scriptstyle |\psi \rangle \in \mathcal{H} tohoto prostoru, který má jednotkovou velikost, nazveme qubitem. Explicitně je qubit tedy vektor

 |\psi \rangle = \alpha |0\rangle + \beta |1\rangle,

kde  \scriptstyle \alpha, \beta \in \mathbb{C} jsou souřadnice vektoru v bázi  \scriptstyle \{ |0\rangle, |1\rangle \}, též nazývané amplitudy pravděpodobnosti. Tyto musí splňovat normalizační podmínku  \scriptstyle |\alpha|^2 + |\beta|^2 = 1. Ta zajišťuje, že čísla  \scriptstyle |\alpha|^2, resp.  \scriptstyle |\beta|^2, bude po měření možno interpretovat jako pravděpodobnost nalezení stavu  \scriptstyle |\psi \rangle ve stavu  \scriptstyle |0\rangle, resp.  \scriptstyle |1\rangle. Ortonormální báze tvořená vektory  \scriptstyle |0\rangle, |1\rangle se občas nazývá výpočetní báze. Samotný název qubit zavedl B. Schumacher ve svém článku Quantum Coding, Physical Review A 51, 2738-2747 (1995).

Právě uvedená definice qubitu pracuje s takzvanými čistými stavy, tedy stavy, jež lze popsat jako prvky Hilbertova prostoru. Obecně ale stav kvantového systému nelze popsat pomocí vektoru. V takovém případě je nutno přizvat obecnější formalismus, sice popis pomocí matic hustoty. V tomto formalizmu je qubit jakýkoli pozitivní operátor  \scriptstyle \rho působící na dvourozměrném Hilbertově prostoru  \scriptstyle \mathcal{H}, který splňuje podmínku, že jeho stopa je rovna jedné. Neboli  \scriptstyle \rho \in \mathbb{C}^{2 \times 2} je matice rozměru  \scriptstyle 2 \times 2 , pro níž

\mathrm{Tr} (\rho) = 1 \qquad \text{a} \qquad \langle \psi | \rho |\psi \rangle \geq 0, \quad \forall | \psi \rangle \in \mathcal{H}.

Vícequbitové systémy[editovat | editovat zdroj]

Ve výpočtech si s jediným qubitem nevystačíme. Je proto nutné uvažovat stavy složené z více qubitů. Složené stavy  \scriptstyle N qubitů lze matematicky popsat jako prvky Hilbertova prostoru  \scriptstyle \mathcal{H}_N, jenž vznikne jako tenzorový součin  \scriptstyle N Hilbertových prostorů  \scriptstyle \mathcal{H} jednoqubitových systémů, tzn.

 \mathcal{H}_N = \underbrace{\mathcal{H} \otimes \mathcal{H} \otimes \ldots \otimes \mathcal{H}}_N = \bigotimes_{i=1}^N \mathcal{H}

Takový systém má dimenzi rovnou  \scriptstyle \dim \mathcal{H}_N = 2^N. Jeho ortonormální báze vznikne například jako množina tenzorových součinů bazických vektorů jednoqubitových systémů. V takovém případě se jedná o vektory tvaru

 |a_1 a_2 \ldots a_N \rang = |a_1\rang \otimes |a_2\rang \otimes \ldots \otimes |a_N\rang, \quad (\forall i \in \{ 1, \ldots, N \})(a_i \in \{0, 1\})

Pro dvouqubitové systémy dostáváme konkrétně bázi

 \{ |0\rang \otimes |0\rang, |0\rang \otimes |1\rang , |1\rang \otimes |0\rang, |1\rang \otimes |1\rang \},

využívá se však i jiných bází, např. Bellovy báze tvořené maximálně provázanými stavy.

Fyzikální interpretace qubitu[editovat | editovat zdroj]

Jak bylo předesláno na začátku článku, qubit si lze velmi zhruba řečeno představovat jako kvantové zobecnění klasického bitu, který kromě hodnot 0 a 1 může nabývat i všech hodnot z intervalu (0,1). Tento pohled vyplývá z následující obecné vlastnosti stavů kvantových systémů: pokud se systém nachází ve stavu  \scriptstyle |a\rangle nebo  \scriptstyle |b\rangle, můžeme připravit kvantovou superpozici těchto stavů, tj. systém nacházející se ve stavu  \scriptstyle \alpha |a\rangle + \beta |b\rangle pro jistá komplexní čísla  \scriptstyle \alpha, \beta. Identifikujeme-li hodnotu 0 klasického bitu s bazickým vektorem  \scriptstyle |0\rangle a podobně hodnotu 1 s bazickým vektorem  \scriptstyle |1\rangle, pak můžeme superpozici těchto dvou stavů zhruba interpretovat jako "klasickou" hodnotu bitu z intervalu mezi 0 a 1.

Takovýto pohled je ale zavádějící, neboť qubity vykazují mnoho zajímavých vlastností, které se v klasickém případě nevyskytují.

Blochova sféra[editovat | editovat zdroj]

Jak vyplývá z obecné teorie pro popis stavů systémů v kvantové mechanice, můžeme qubit alternativně vyjádřit pomocí matice hustoty, což je pozitivní operátor s jednotkovou stopou přiřazený danému kvantovému systému. Pro qubity, tedy systémy s dvourozměrným stavovým prostorem, tak dostáváme matice  \scriptstyle 2 \times 2 ve tvaru


\begin{pmatrix}
\frac{1 + a}{2} & b - i c \\
b + i c & \frac{1 - a}{2}
\end{pmatrix}

kde  \scriptstyle a, b, c \in \mathbb{R} jsou reálná libovolná čísla, parametry. Je zřejmé, že matice tohoto tvaru splňuje pro libovolné hodnoty parametrů dvě výše zmíněné podmínky. Navíc, není těžké nahlédnout, že lze takovouto matici vyjádřit v kompaktní podobě s využitím Pauliho matic ve tvaru

 
\frac{1}{2} \,
\begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix}
\ + \ \frac{a}{2} \,
\begin{pmatrix}
1 & 0 \\
0 & -1
\end{pmatrix}
\ + \ b \,
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix}
\ + \ c \,
\begin{pmatrix}
0 & -i \\
i & 0
\end{pmatrix}
=
\frac{1}{2} \ I \ + \ \frac{a}{2} \ \sigma_z \ + \ b \ \sigma_x + c \ \sigma_y
=
\frac{I + \vec{r} \cdot \vec{\sigma}}{2},

kde  \scriptstyle \sigma_x, \sigma_y, \sigma_z jsou Pauliho matice a  \scriptstyle \vec{r} \equiv (2 b, 2 c, a) je tzv. Blochův vektor. V posledním výrazu výše je formální "skalární součin" Blochova vektoru a vektoru Pauliho matic definován prostě jen jako

 \vec{r} \cdot \vec{\sigma} \equiv r_1 \sigma_x + r_2 \sigma_y + r_3 \sigma_z.

Tímto způsobem jsme tak dostali přiřazení matice hustoty qubitu s jistým (Blochovým) vektorem. Velikost Blochova vektoru lze vždy vzít menší nebo rovnou jedné. Všechny tyto vektory tedy zjevně tvoří jednotkovou kouli ve třírozměrném Euklidově prostoru. Platí, a není těžké to nahlédnout, že Blochův vektor přiřazený jistému kvantovému systému je jednotkový, právě když je tento systém v čistém stavu. Všechny jednotkové Blochovy vektory tvoří sféru zvanou Blochova sféra. Blochovy vektory nám umožňují graficky vyjadřovat působení různých operací na daný qubit a napomáhají nám si tak představit, jak se qubit při dané transformaci mění.

Realizace qubitů[editovat | editovat zdroj]

Kterýkoliv dvouúrovňový kvantově mechanický systém je možné považovat za fyzickou reprezentaci qubitu. Například elektron v obalu atomu je buď na základní energetické hladině nebo je excitován (ačkoli může být elektron excitován do více energetických hladin lze v některých případech excitaci elektronu do vyšších energetických hladin zanedbat a uvažovat jen základní stav a první excitovaný stav). Kvantová mechanika předepisuje pro mikrosvět pravidla, z nichž vyplývá, že lze (přesně vyladěným laserem) uvést atom do stavu, který je superpozicí základního a excitovaného stavu. Díky tomu může atom uchovávat kvantovou informaci a reprezentovat 1 qubit.

Jinou možností je kódování qubitů do polarizace fotonů, tedy částic světla potažmo elektromagnetického záření. Můžeme provádět měření roviny polarizace tak, že postavíme fotonu do cesty filtr, kterým se 100% pravděpodobností projdou jen fotony s určitou rovinou polarizace, jejichž stav označíme  \scriptstyle |1\rangle. Fotony polarizované kolmo na rovinu filtru neprojdou vůbec, což označíme jako stav  \scriptstyle |0\rangle. Fotony polarizované v jiných rovinách se budou chovat, jako bychom měřili qubit v superponovaném stavu. Jmenovitě tedy, mějme foton polarizovaný v rovině svírající úhel  \scriptstyle \varphi \in \lang 0, \pi) s rovinou odpovídající stavu  \scriptstyle |1\rangle. Stav fotonu  \scriptstyle |\varphi \rang můžeme popsat jako lineární kombinaci

 |\varphi \rang = \alpha |0\rangle + \beta |1\rangle, \quad a=\sin \varphi, \ b=\cos \varphi.

Podle úhlu polarizace  \scriptstyle \varphi \in \lang 0, \pi) se mění amplituda pravděpodobnosti, že foton projde či neprojde filtrem. Této techniky využívá kvantová kryptografie k bezpečnému přenosu informace.

Operace s qubity[editovat | editovat zdroj]

Operace prováděné nad qubity lze popisovat pomocí unitárních operací. Jejich aplikaci si tak lze obvykle představovat jako rotace. Protějšek k těmto operacím pak tvoří kvantové měření qubitů.

Měření qubitů[editovat | editovat zdroj]

Hodnotu qubitu můžeme zjišťovat měřením, ale vždy dostaneme buď hodnotu  \scriptstyle |0\rang nebo  \scriptstyle |1\rang. Žádným měřením není možno zjistit čísla  \scriptstyle \alpha a  \scriptstyle \beta ve výrazu  \scriptstyle \alpha |0\rang + \beta |1\rang. Není-li qubit přesně v jednom ze základních stavů  \scriptstyle |0\rangle či  \scriptstyle |1\rangle, vybere se výsledná hodnota náhodně, přičemž pravděpodobnost jednotlivých výsledků určují amplitudy  \scriptstyle \alpha a  \scriptstyle \beta. Pravděpodobnost naměření stavu  \scriptstyle |0\rang je  \scriptstyle |\alpha|^2, pravděpodobnost naměření stavu  \scriptstyle |1\rang je  \scriptstyle |\beta|^2. Součet těchto dvou pravděpodobností musí dávat 1, neboť jde o pravděpodobnost jistého jevu. Jsou-li obě amplitudy stejně velké, tedy  \scriptstyle |\alpha|=|\beta|, pak je pravděpodobnost nalezení kteréhokoli ze stavů rovna 1/2 a výsledek měření je tedy zcela náhodný.

Podstatným důsledkem kvantové mechaniky je, že stav qubitu, na němž provedeme měření, se zákonitě změní na ten stav, který byl výsledkem měření. Jinými slovy, měření ničí stav superpozice. Jde o případ obecnějšího jevu, kterému se říká kolaps vlnové funkce. Kolaps vlnové funkce při kvantovém měření odpovídá projekci na osu odpovídající některému z bázových stavů.

Je obtížné si tento specifický pojem z kvantové mechaniky nějak přirozeně představit. Kvantový systém v superponovaném stavu (stav "superpozice") není ani ve stavu  \scriptstyle |0\rang či  \scriptstyle |1\rang ale ani "někde mezi". Spíše lze říci, že systém je v obou stavech  \scriptstyle |0\rang a  \scriptstyle |1\rang zároveň. Tato kvantová vlastnost se využívá v některých kvantově mechanických algoritmech, neboť jim to umožňuje provést jednu operaci s velkým počtem hodnot zároveň. Tomuto jevu se říká kvantový paralelizmus.

CNOT[editovat | editovat zdroj]

Uvažujme systém dvou qubitů. Odpovídající ortonormální bázi volíme tvaru vyobrazeného výše

 \{ |0\rang_K \otimes |0\rang_C, |0\rang_K \otimes |1\rang_C , |1\rang_K \otimes |0\rang_C, |1\rang_K \otimes |1\rang_C \},

kde je indexy  \scriptstyle K, C zdůrazněno, že první složka složeného vektoru působí na systému prvního qubitu, který si označíme K, a druhá složka působí na systému qubitu druhého, jenž si podobně označíme jako C.

Jednou z velmi často užívaných operací, logických hradel, nad dvěma qubity je CNOT operace (z anglického controlled NOT - kontrolované NOT), jejíž funkci lze popsat následovně:


\begin{align}
|0\rang_K \otimes |0\rang_C & \quad \to \quad & |0\rang_K \otimes |0\rang_C \\
|0\rang_K \otimes |1\rang_C & \quad \to \quad & |0\rang_K \otimes |1\rang_C \\
|1\rang_K \otimes |0\rang_C & \quad \to \quad & |1\rang_K \otimes |1\rang_C \\
|1\rang_K \otimes |1\rang_C & \quad \to \quad & |1\rang_K \otimes |0\rang_C
\end{align}

Qubit pod označením K se nazývá kontrolní (angl. control qubit) a qubit označený jako C se nazývá cílový (angl. target qubit). Slovy lze tedy působení CNOT operace formulovat takto: pokud je kontrolní qubit ve stavu  \scriptstyle |1\rang, tak proveď u cílového qubitu záměnu  \scriptstyle |0\rang \leftrightarrow |1\rang , jinak nedělej nic. Formálně je tedy CNOT totožné s operací XOR. Lze ji kompaktně popsat jako

 |A\rang_K \otimes |B\rang_C \quad \to \quad |A\rang_K \otimes |A \oplus B \rang_C,

kde  \scriptstyle \oplus značí sčítání modulo dvěma. Působení CNOT na libovolný pár qubitů pak vyplývá z bilinearity tohoto zobrazení, tj.

 |\psi\rang = \alpha_{00} |0\rang_K \otimes |0\rang_C + \alpha_{01} |0\rang_K \otimes |1\rang_C + \alpha_{10} |1\rang_K \otimes |0\rang_C + \alpha_{11} |1\rang_K \otimes |1\rang_C
\quad \to
\to \quad |\psi\rang_\text{CNOT} = \alpha_{00} |0\rang_K \otimes |0\rang_C + \alpha_{01} |0\rang_K \otimes |1\rang_C + \alpha_{10} |1\rang_K \otimes |1\rang_C + \alpha_{11} |1\rang_K \otimes |0\rang_C

V maticové reprezentaci v námi zvolené bázi můžeme CNOT operaci zapsat jako unitární matici

 U_\text{CNOT} =
\begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 \\
0 & 0 & 1 & 0 \\
\end{pmatrix}

Její působení tak vypadá následovně

 
|\psi\rang =
\begin{pmatrix}
\alpha_{00} \\
\alpha_{01} \\
\alpha_{10} \\
\alpha_{11}
\end{pmatrix}
\quad \to \quad U_\text{CNOT} |\psi\rang =
\begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 \\
0 & 0 & 1 & 0 \\
\end{pmatrix}
\begin{pmatrix}
\alpha_{00} \\
\alpha_{01} \\
\alpha_{10} \\
\alpha_{11}
\end{pmatrix}
=
\begin{pmatrix}
\alpha_{00} \\
\alpha_{01} \\
\alpha_{11} \\
\alpha_{10}
\end{pmatrix}

Stejně jako všechny unitární operace je i CNOT reverzibilní logické hradlo, tzn. z výsledku jsme schopni jednoznačně rekonstruovat vstupní hodnoty qubitů. To obecně u klasických hradel neplatí, viz např. AND, kdy se část informace o vstupech ztrácí, neboť jednomu výstupu obecně odpovídá více vstupních hodnot. Přímé kvantové zobecnění podobných ireverzibilních hradel tak není možné. Význam CNOT operace tkví v následujícím důležitém faktu:

Každé vícequbitové logické hradlo lze vyjádřit pomocí CNOT hradla a jednoqubitových hradel.

Rozšíření do více dimenzí[editovat | editovat zdroj]

Qubit je kvantový systém s dvourozměrným Hilbertovým stavovým prostorem. Uvažujeme-li vícerozměrné stavové prostory, hovoříme o quditu. Používají se i konkrétní názvy pro konkrétní dimenzi, např. pro dimenzi rovnou třem se užívá termínu qutrit. V tomto případě uvažujeme Hilbertův prostor  \scriptstyle \mathcal{H}_3 s  \scriptstyle \dim \mathcal{H}_3 = 3 a ortonormální bází  \scriptstyle \{ |0\rangle, |1\rangle, |2\rangle \} . Qutrit  \scriptstyle |\psi_3 \rangle \in \mathcal{H}_3 má tedy tvar

 |\psi_3 \rangle = \alpha |0\rangle + \beta |1\rangle + \gamma |2\rangle,

kde  \scriptstyle \alpha, \beta, \gamma \in \mathbb{C} splňují normalizační podmínku  \scriptstyle |\alpha|^2 + |\beta|^2 + |\gamma|^2 = 1. Daleko nejpoužívanějším objektem v teorii kvantové informace však zatím stále zůstává qubit.

Literatura[editovat | editovat zdroj]