Éra kvantového počítání se blíží a tento příspěvek se snaží poodhalit, jak kvantová mechanika zobecňuje klasický bit na kvantový qubit, základní stavební kámen kvantových algoritmů a kvantového počítání.
V tomto delším příspěvku si klademe dva cíle. Chceme čtenáře seznámit se základním objektem kvantového počítání, kvantovým analogem bitu, qubitem. K tomu potřebujeme vyložit alespoň základy kvantové mechaniky. Ukážeme si, že matematický model podpírající kvantovou mechaniku je Lineární algebra. Druhým cílem tohoto příspěvku proto je čtenáři *ukázat*, jak kvantová mechanika používá známé objekty Lineární algebry.
Z Lineární algebry budeme využívat znalosti vektorového prostoru, lineárního operátoru, skalárního součinu, ortonormálních bází a Fourierova rozvoje. Dále budeme potřebovat koncept projektoru a tenzorového součinu dvou vektorových prostorů. S těmito pojmy se v základních kurzech Lineární algebry většinou nesetkáte. Proto si je zde v několika odstavcích ve zjednodušené formě zavedeme.
V celém textu budeme využívat značení známé z Lineární algebry. Úmyslně nebudeme využívat Diracovu bra-ketovou notaci, která se v kvantové mechanice obvykle používá. Tato notace je velmi užitečná a efektivní při popisu kvantového světa, ale pro čtenáře nepolíbeného kurzem kvantové mechaniky může být matoucí. Lze říci, že pro náš výklad Diracova notace není důležitá. Skutečně jde pouze o způsob jak šikovně zapisovat lineárně algebraické objekty. Tento příspěvek se snaží tyto pojmy vypíchnout, ne je schovávat za speciální notaci.
Klasický bit je nejmenší jednotkou informace. Z praktického úhlu pohledu se jedná o fyzikální systém, který se může nacházet právě v jednom ze dvou stavů. Tyto stavy se standardně označují jako $0$ a $1$.
Konkrétními příklady realizace nosičů bitů jsou
Množina všech možných stavů ve kterých se bit může nacházet (tzv. stavový prostor bitu) je jednoduše dvouprvková množina \begin{equation}\label{eq-klasicke-stavy} S_c = \{0, 1\}. \end{equation}
Hodnotu bitu můžeme bez omezení číst (měřit) aniž bychom stav bitu změnili. Pokud chceme, můžeme hodnotu bitu samozřejmě i měnit na předepsanou hodnotu.
V kvantovém světě je analogem klasického bitu tzv. qubit (*quantum bit*). Jeden z postulátů kvantové mechaniky říká, že každému kvantovému systému přísluší Hilbertův prostor $\mathcal{H}$ a stav tohoto systému je pak popsán normalizovaným vektorem (tj. vektorem délky jedna) z tohoto prostoru.
V případě qubitu je tímto Hilbertovým prostorem dvourozměrný komplexní vektorový prostor $\mathcal{H} = \mathbb{C}^2$ se skalárním součinem $$ \langle x,y \rangle = \overline{x_1} y_1 + \overline{x_2} y_2, $$ kde $x = (x_1, x_2) \in \mathbb{C}^2$ a $y = (y_1, y_2) \in \mathbb{C}^2$. Podle výše uvedeného postulátu je stavovým prostorem qubitu, tedy množinou všech jeho možných stavů, množina \begin{equation}\label{eq-kvantove-stavy} S_q = \Big\{ \psi \in \mathbb{C}^2 \,\Big|\, \lVert\psi\rVert = 1 \Big\}, \end{equation} kde $\lVert\psi\rVert$ označuje délku vektoru $\psi = (\psi_1,\psi_2)$, tedy $$ \lVert\psi\rVert = \sqrt{\langle \psi, \psi \rangle} = \sqrt{|\psi_1|^2 + |\psi_2|^2}. $$
Na první pohled je zde patrný podstatný rozdíl mezi bitem a qubitem. Bit se může nacházet právě v jednom ze dvou stavů z množiny $S_c$, kdežto qubit může být v libovolném z nekonečně mnoha stavů z množiny $S_q$.
Nyní asi není jasné, proč se na takto zavedený qubit díváme jako na kvantové zobecnění bitu. Prostor $\mathbb{C}^2$ má dimenzi $2$ a proto v něm můžeme zvolit dvouprvkovou ortonormální bázi $\{b_1, b_2\}$. Libovolný stav qubitu, tj. vektor $\psi$ z $S_q$, lze pak vyjádřit jako lineární kombinaci (superpozici) \begin{equation}\label{eq-superpozice} \psi = \alpha b_1 + \beta b_2. \end{equation} Pokud na jednotkové bázové vektory $b_1$ a $b_2$ hledíme jako na klasické bitové stavy 0 a 1, pak se qubit může nacházet i v nekonečně mnoha lineárních kombinacích těchto dvou stavů!
Koeficienty $\alpha, \beta \in \mathbb{C}$ v rovnici \eqref{eq-superpozice} nemohou být úplně libovolné. Z požadavku normalizace vektoru $\psi$ totiž plyne \begin{align*} 1 &= \langle \psi, \psi \rangle = \langle \alpha b_1 + \beta b_2, \alpha b_1 + \beta b_2 \rangle = \\ &= |\alpha|^2 \langle b_1, b_1 \rangle + \overline{\alpha} \beta \langle b_1, b_2 \rangle + \alpha \overline{\beta} \langle b_1, b_2 \rangle + |\beta|^2 \langle b_2, b_2 \rangle = |\alpha|^2 + |\beta|^2. \end{align*}
K významu koeficientů $\alpha$ a $\beta$, resp. interpretaci hodnot $|\alpha|^2$ a $|\beta|^2$ se dostaneme níže.
Nyní se zaměřme na to, jak se v kvantové mechanice modelují pozorovatelné veličiny. Pod "pozorovatelnou veličinou" zde máme na mysli jistou vlastnost systému, kterou můžeme v principu měřit. Například váha člověka, rychlost auta, teplota procesoru, atp.
V klasickém případě každé pozorovatelné veličině odpovídá funkce $f$, která stavu systému přiřadí reálné číslo. Všechny možné výsledky měření takovéto pozorovatelné veličiny jsou pak reálná čísla z oboru hodnot této funkce. Nejjednodušším příkladem takovéto pozorovatelné veličiny v případě klasického bitu je jeho stav. Tomu odpovídá identita $f: S_c \to \mathbb{R}$, (tj. $f(0) := 0$, $f(1) := 1$; oborem hodnot této funkce je množina $\{0,1\}$). V tomto případě také často mluvíme o "čtení hodnoty bitu". Pojďme se nyní podívat jak se pozorování popisuje v kvantovém světě.
Další z postulátů kvantové mechaniky tvrdí: každé pozorovatelné veličině $a$ odpovídá samosdružený lineární operátor $A$ na Hilbertově prostoru $\mathcal{H}$ příslušného systému. Všechny možné výsledky měření veličiny $a$ jsou prvky spektra operátoru $A$.
Koncept lineárního zobrazení je jistě čtenáři dobře znám z Lineární algebry. Samosdruženost operátoru $A$ lze (v případě prostoru konečné dimenze) vyjádřit dvěma ekvivalentními způsoby:
Připomeňme čtenáři definici spektra operátoru $A$, s kterou v našem případě vektorových prostorů konečných dimenzí vystačíme. Jde o množinu všech vlastních čísel operátoru $A$, tedy komplexních čísel $\lambda$ pro něž existuje nenulový vektor $u$ splňující $Au = \lambda u$. Spektrum operátoru $A$ značíme symbolem $\sigma(A)$.
Pro spektrum samosdruženého operátoru $A$ platí inkluze $\sigma(A) \subset \mathbb{R}$. Dále víme, že vlastní vektory samosdruženému operátoru $A$ příslušející různým vlastním číslům jsou vzájemně kolmé (ortogonální).
Všechny možné výsledky měření pozorovatelné veličiny $a$ jsou tedy reálná čísla ze spektra odpovídajícího operátoru $A$.
Než se pustíme do popisu problému měření v kvantovém světě, musíme si zavést pojem projektoru.
Mějme vektorový prostor $V$ konečné dimenze $n$ a jeho $k$-dimenzionální podprostor $U$. Sestavme bázi $\{b_1,\ldots,b_n\}$ prostoru $V$ takovou, že vektory $\{b_1,\ldots,b_k\}$ navíc tvoří bázi podprostoru $U$.
Vezměme libovolný vektor $x \in V$. Pak existují konstanty $c_1,\ldots,c_n \in \mathbb{C}$ splňující \begin{equation}\label{eq-rozvoj} x = \sum_{j=1}^n c_j b_j. \end{equation} Nyní položme $$ P_U x := \sum_{j=1}^k c_j b_j. $$ (Všimněte si změny horní meze sumy!)
Takto definované zobrazení $P_U: V \to V$ tedy každému vektoru $x \in V$ přiřadí vektor z podprostoru $U$, který vznikne odstraněním "části vektoru" $x$ v rozvoji \eqref{eq-rozvoj} nepatřící do podprostoru $U$. Není těžké si rozmyslet, že takovéto zobrazení $P_U$ je lineární operátor na $V$ a jeho konstrukce nezávisí na volbě báze prostoru $V$, resp. $U$. Toto zobrazení z očividných důvodů nazýváme projektorem na podprostor $U$.
Pracujeme-li navíc v prostoru se skalárním součinem (to je náš případ) a předpokládáme-li ortonormálnost báze $\{b_1,\ldots,b_n\}$, pak z Lineární algebry víme (nebo velmi jednoduchým výpočtem ověříme), že koeficienty $c_j$ v rovnici \eqref{eq-rozvoj} lze počítat pomocí skalárního součinu $$ c_j = \langle b_j, x \rangle. $$ Tudíž, $$ P_U x = \sum_{j=1}^k \langle b_j, x \rangle b_j. $$
Speciálně pro jednodimenzionální podprostor $U = \langle u \rangle$, kde $\lVert u \rVert = 1$, platí $$ P_U x = \langle u, x \rangle u. $$
Nyní se dostáváme k podstatné vlastnosti kvantové mechaniky a to vlivu měření na stav systému, v našem případě qubitu. Pokud byl klasický bit v nějakém stavu z množiny $S_c$, tak po přečtení (měření) jeho hodnoty bude stále ve stejném stavu. U qubitu je situace podstatně odlišná a měření může ovlivnit stav systému!
Příslušný postulát kvantové mechaniky proces měření popisuje takto: je-li výsledkem měření veličiny $a$ na systému ve stavu $\psi$ hodnota $\lambda\in\sigma(A)$, pak se stav systému změní na stav ($\ker(A - \lambda)$ značí vlastní podprostor operátoru $A$ příslušející vlastnímu číslu $\lambda$) \begin{equation}\label{eq-mereni} \frac{1}{\lVert P_{\ker(A - \lambda)} \psi \rVert} P_{\ker(A - \lambda)} \psi. \end{equation} Pokud stav $\psi$ opakovaně připravujeme a měříme na něm veličinu $a$, pak střední hodnota tohoto měření je \begin{equation}\label{eq-stredni-hodnota} \langle a \rangle_\psi := \langle \psi, A \psi \rangle. \end{equation}
Popsaná změna stavu při měření se často nazývá *kolaps vlnové funkce*. V případě složitějších kvantových systémů jsou totiž stavy popsány pomocí funkcí, ne vektorů z $\mathbb{C}^2$ jako v případě qubitu.
Podívejme se nyní na konkrétní případ qubitu. Představme si, že máme pozorovatelnou veličinu, která na stavu $0$ má hodnotu $\lambda_1$ a na stavu $1$ pak hodnotu $\lambda_2 \neq \lambda_1$ (mohli bychom vzít třeba případ čtení stavu bitu, tj. $\lambda_1 = 0$ a $\lambda_2 = 1$). Té odpovídá samosdružený operátor $A$ se spektrem $\sigma(A) = \{\lambda_1, \lambda_2\}$. Označme odpovídající normalizované a vzájemně ortogonální vlastní vektory $b_1$ a $b_2$. Jinak řečeno, množina $\{b_1, b_2\}$ je ortonormální báze prostoru $\mathbb{C}^2$ a platí $$ A b_1 = \lambda_1 b_1 \quad \text{a} \quad A b_2 = \lambda_2 b_2. $$
Nyní si připravme stav qubitu ve tvaru superpozice bazických vektorů \begin{equation}\label{eq-superpozice-psi0} \psi_0 = \alpha b_1 + \beta b_2, \end{equation} kde, jak už víme, $|\alpha|^2 + |\beta|^2 = 1$.
Co se se stavem $\psi_0$ stane, když naměříme hodnotu $\lambda_1$ pozorovatelné $a$? Stav qubitu se změní (zkolabuje) na nový stav $$ \psi_1 = \frac{\alpha}{|\alpha|} b_1, $$ tedy jistý vlastní vektor operátoru $A$ s vlastním číslem $\lambda_1$. Tento fakt plyne z výše uvedeného postulátu (viz rovnici \eqref{eq-mereni}) a jednoduchého pozorování $$ P_{\langle b_1 \rangle} \psi_1 = \alpha b_1 \quad \text{a} \quad \lVert P_{\langle b_1 \rangle} \psi_1 \rVert = \lVert \alpha b_1 \rVert = |\alpha|. $$
Jak je to se střední hodnotou měření veličiny $a$ na stavu $\psi_0$ qubitu? Dle rovnice \eqref{eq-stredni-hodnota} je tato střední hodnota rovna $$ \langle a \rangle_{\psi_0} = \langle \psi_0, A \psi_0 \rangle = \langle \psi_0, \alpha \lambda_1 b_1 + \beta \lambda_2 b_2 \rangle = \lambda_1 |\alpha|^2 + \lambda_2 |\beta|^2. $$ Z této rovnosti a vztahu $|\alpha|^2 + |\beta|^2 = 1$ ihned plyne interpretace koeficientů $\alpha$ a $\beta$ v lineární kombinaci \eqref{eq-superpozice-psi0}! Hodnota $|\alpha|^2$ (resp. $|\beta|^2$) představuje pravděpodobnost, že je qubit ve stavu $b_1$ (resp. $b_2$). Často se o $\alpha$ a $\beta$ mluví jako o *amplitudách pravděpodobnosti*.
Druhým pojmem, který budeme z Lineární algebry ještě potřebovat, a který se většinou v základních kurzech Lineární algebry neprobírá, je tenzorový součin dvou vektorových prostorů. V plné obecnosti ho nebudeme zavádět, pouze se pokusíme tento koncept neformálně vysvětlit na příkladu tenzorového součinu dvou qubitů. Naše konstrukce je velmi blízká neformální konstrukci komplexních čísel (vyjde se z formálních výrazů $a+i\,b$, $a,b\in\mathbb{R}$, a zavede se sčítání a násobení na těchto výrazech).
Uvažme prostor $\mathbb{C}^2$ s ortonormální bází $\{b_1, b_2\}$, tedy Hilbertův prostor odpovídající jednomu qubitu. Nyní uvažme množinu $$ \mathbb{C}^2 \otimes \mathbb{C}^2 := \big\{ \alpha\, b_1 \otimes b_1 + \beta\, b_1 \otimes b_2 + \gamma\, b_2 \otimes b_1 + \delta\, b_2 \otimes b_2 \,\big\vert\, \alpha,\beta,\gamma,\delta \in \mathbb{C} \big\}. $$ Výrazy $b_i \otimes b_j$, $i,j=1,2$, chápeme pouze formálně. Na těchto výrazech zavedeme strukturu vektorového prostoru přirozeným způsobem: \begin{align*} \big(\alpha_1\, b_1 \otimes b_1 &+ \beta_1\, b_1 \otimes b_2 + \gamma_1\, b_2 \otimes b_1 + \delta_1\, b_2 \otimes b_2\big) + \\ &+ \big(\alpha_2\, b_1 \otimes b_1 + \beta_2\, b_1 \otimes b_2 + \gamma_2\, b_2 \otimes b_1 + \delta_2\, b_2 \otimes b_2\big) := \\ &:= (\alpha_1 + \alpha_2)\, b_1 \otimes b_1 + (\beta_1 + \beta_2)\, b_1 \otimes b_2 + (\gamma_1 + \gamma_2)\, b_2 \otimes b_1 + (\delta_1 + \delta_2)\, b_2 \otimes b_2, \\ \xi \big(\alpha_1\, b_1 \otimes b_1 &+ \beta_1\, b_1 \otimes b_2 + \gamma_1\, b_2 \otimes b_1 + \delta_1\, b_2 \otimes b_2\big) := \\ &:= \big(\xi\alpha_1\, b_1 \otimes b_1 + \xi\beta_1\, b_1 \otimes b_2 + \xi\gamma_1\, b_2 \otimes b_1 + \xi\delta_1\, b_2 \otimes b_2\big), \end{align*} pro všechna $\xi,\alpha_i,\beta_i,\gamma_i,\delta_i \in \mathbb{C}$, $i=1,2$. Množina $\{b_1\otimes b_1, b_1 \otimes b_2, b_2 \otimes b_1, b_2 \otimes b_2\}$ je báze tohoto prostoru $\mathbb{C}^2 \otimes \mathbb{C}^2$ (podobně, jako $\{1,i\}$ je báze prostoru $\mathbb{C}$, chápeme-li ho jako vektorový prostor nad $\mathbb{R}$).
Dále pro libovolná $u = \alpha b_1 + \beta b_2$ a $v = \gamma b_1 + \delta b_2$ klademe $$ u \otimes v := \alpha\gamma\, b_1 \otimes b_1 + \alpha\delta\, b_1 \otimes b_2 + \beta\gamma\, b_2 \otimes b_1 + \beta\delta\, b_2 \otimes b_2 \in \mathbb{C}^2 \otimes \mathbb{C}^2. $$ Konečně na $\mathbb{C}^2\otimes\mathbb{C}^2$ rozšíříme skalární součin předpisem $$ \langle u_1 \otimes v_1, u_2 \otimes v_2 \rangle := \langle u_1, u_2 \rangle \cdot \langle v_1, v_2 \rangle $$ a dále pomocí antilinearity (v prvním) a linearity (v druhém) argumentu na součty a násobky vektorů tvaru $u \otimes v$.
Například tedy platí \begin{equation}\label{eq-kronecker} \langle b_i \otimes b_j, b_k \otimes b_\ell \rangle = \delta_{ik} \delta_{j\ell}, \quad i,j,k,\ell = 1,2, \end{equation} kde $\delta_{ij}$ je Kroneckerův symbol.
Mějme kvantový systém s dvěma qubity. Takovémuto systému odpovídá právě Hilbertův prostor $\mathcal{H} = \mathbb{C}^2 \otimes \mathbb{C}^2$ zavedený v předchozí sekci. Zvolme opět ortonormální bázi $\{b_1, b_2\}$ prostoru $\mathbb{C}^2$, kde podobně jako výše $b_1$ odpovídá klasickému stavu $0$ a $b_2$ klasickému stavu $1$.
Připravme nyní tento systém ve speciálním stavu \begin{equation}\label{eq-psi0} \psi_0 = \frac{1}{\sqrt{2}}\big(b_1 \otimes b_1 + b_2 \otimes b_2\big). \end{equation} Toto je jistě stav, normalizovaný vektor: \begin{align*} \langle \psi, \psi \rangle &= \frac{1}{2} \big\langle b_1 \otimes b_1 + b_2 \otimes b_2, b_1 \otimes b_1 + b_2 \otimes b_2 \big\rangle = \\ &= \frac{1}{2} (1 + 0 + 0 + 1) = 1. \end{align*} Ve výpočtu jsme použili výsledku z rovnice \eqref{eq-kronecker}.
Měření hodnoty čistě prvního qubitu odpovídá operátor zadaný na bazických vektorech následovně \begin{align*}\label{eq-a1} A_1 b_1 \otimes b_1 &:= \lambda_0 \cdot b_1 \otimes b_1 \\ A_1 b_1 \otimes b_2 &:= \lambda_0 \cdot b_1 \otimes b_2 \\ A_1 b_2 \otimes b_1 &:= \lambda_1 \cdot b_2 \otimes b_1, \\ A_1 b_2 \otimes b_2 &:= \lambda_1 \cdot b_2 \otimes b_2, \end{align*} kde $\lambda_0 = 0$ a $\lambda_1 = 1$. Jinak řečeno, spektrum operátoru $A_1$ je množina $\{0,1\}$. Každý z vlastních podprostorů operátoru $A_1$ má dimenzi $2$. Vlastní podprostor příslušející vlastnímu číslu $\lambda_0 = 0$ je lineární obal množiny $\{ b_1 \otimes b_1, b_1 \otimes b_2 \}$ (první qubit je ve stavu $0$) a vlastní podprostor příslušející vlastnímu číslu $\lambda_1 = 1$ je lineární obal množiny $\{ b_2 \otimes b_1, b_2 \otimes b_2 \}$ (první qubit je ve stavu $1$).
Zcela analogicky zavedeme operátor $A_2$ odpovídající měření hodnoty druhého qubitu.
Jaká je střední hodnota měření hodnoty prvního qubitu ve stavu $\psi_0$ definovaném v \eqref{eq-psi0}? Přímočarým výpočtem zjistíme, že \begin{align*} \langle a_1 \rangle_{\psi_0} &= \langle \psi_0, A_1 \psi_0 \rangle = \frac{1}{2} \big\langle b_1 \otimes b_1 + b_2 \otimes b_2, A_1(b_1 \otimes b_1 + b_2 \otimes b_2) \big\rangle = \\ &= \frac{1}{2} \big\langle b_1 \otimes b_1 + b_2 \otimes b_2, b_2 \otimes b_2) \big\rangle = \frac{1}{2} (0 + 1) = \frac{1}{2}. \end{align*} Podobně bychom spočetli $$ \langle a_2 \rangle_{\psi_0} = \frac{1}{2}. $$ Pokud tedy na systému ve stavu $\psi_0$ měříme hodnotu prvního qubitu (pozorovatelná $a_1$) nebo druhého qubitu (pozorovatelná $a_2$) máme v obou případech $50\%$ šanci naměřit $0$ nebo $1$.
Nyní zkusme náš experiment lehce zkomplikovat. Nejprve na stavu $\psi_0$ naměřme hodnotu prvního qubitu a poté na měřením změněném stavu (viz sekci o měření) změřme hodnotu druhého qubitu.
Pokud je výsledkem prvního měření hodnota $0$, pak systém přejde do stavu $$ \psi_1 := \frac{1}{\lVert P_{\ker(A_1 - 0)} \psi_0 \rVert} P_{\ker(A_1 - 0)} \psi_0 = b_1 \otimes b_1 $$ Na tomto stavu však vždy naměříme hodnotu $0$ i pro druhý qubit (jde o vlastní vektor $A_2$ s vlastním číslem $0$)!
Pokud by výsledkem prvního měření byla hodnota $1$, pak systém přejde do stavu $$ \psi_2 := \frac{1}{\lVert P_{\ker(A_1 - 1)} \psi_0 \rVert} P_{\ker(A_1 - 1)} \psi_0 = b_2 \otimes b_2 $$ na kterém ovšem vždy naměříme hodnotu $1$ i pro druhý qubit (jde o vlastní vektor $A_2$ s vlastním číslem $1$)!
Tento efekt se nazývá kvantové propletení (*quantum entaglement*). Systém dvou qubitů připravený ve stavu $\psi_0$ (viz rovnici \eqref{eq-psi0}) se chová jako kdyby oba qubity byly magicky svázané.
Příběh, který se většinou při popisu kvantového provázání uvádí, je následující: nejprve naše dva qubity převedeme do provázaného stavu $\psi_0$ a poté jeden pošleme jednomu pozorovateli a druhý druhému (jak toto konkrétně provést závisí na fyzikální realizaci qubitů; experimentálně lze použít fotony). Jakmile jeden z pozorovatelů provede měření hodnoty svého qubitu (což je náhodná veličina), druhý z pozorovatelů poté naměří stejnou hodnotu. Jinak řečeno, ať už měří jako první kdokoliv, oba naměří stejný výsledek, který není pevně daný *až do okamžiku prvního měření*. A to vše bez jakékoliv vzájemné komunikace!
Tento článek byl vznikl v rámci řešení projektu Institucionální podpora Českého vysokého učení technického v Praze (CZ.02.2.69/0.0/0.0/16_015/0002382).