Qubit v kvantových výpočtech
Stejně jako bity jsou základním objektem informací v klasickém computingu, qubity (kvantové bity ) jsou základním objektem informací v kvantovém computingu. Abyste pochopili tuto korespondenci, tento článek popisuje nejjednodušší příklad: jeden qubit.
Reprezentace qubitu
Zatímco bit nebo binární číslice může mít hodnotu $0 nebo $1$, qubit může mít hodnotu, která je $buď 0$$, $1$ nebo kvantová superpozice $0$ a $1$.
Stav jednoho qubitu může být popsán dvojrozměrným vektorem sloupce jednotkové normy, tj. velikost velikostí kvadrasti jeho položek musí sečíst na $1$. Tento vektor označovaný jako kvantový stavový vektor obsahuje všechny informace potřebné k popisu kvantového systému s jedním qubitem stejně jako jeden bit obsahuje všechny informace potřebné k popisu stavu binární proměnné. Základní informace o vektorech a maticích v kvantových výpočtech najdete v tématu Vektorové a matice.
Jakýkoli dvojrozměrný vektor sloupce skutečných nebo komplexních čísel s normou $1$ představuje možný kvantový stav uchovávaný qubitem. Představuje $\begin{bmatrix}\alpha\\\beta\end{bmatrix}$ tedy stav qubitu, pokud $\alpha$ jsou $\beta$ komplexní čísla vyhovující $|\alpha|^2 + |\beta|^2 = 1.$ Mezi příklady platných kvantových stavových vektorů představujících qubity patří:
$$\begin{bmatrix}1 \\ 0 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \end{bmatrix},\frac{\\\end{bmatrix}\frac{{1}{\sqrt{2}}{1}{\sqrt{2}}\begin{bmatrix} , ,\frac{1}{\sqrt{\begin{bmatrix}{2}}\end{bmatrix}\\\text{\frac{{-1}{\sqrt{2}} a\\\frac{\frac{1}{\sqrt{{2}}}\begin{bmatrix} i.}{\sqrt{2}}\end{bmatrix}$$
Vektory $\begin{bmatrix} kvantového stavu 1 \\ 0 \end{bmatrix}$ a $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$ mají zvláštní roli. Tyto dva vektory tvoří základ pro vektorový prostor, který popisuje stav qubitu. To znamená, že jakýkoli kvantový stavový vektor může být napsán jako součet těchto základních vektorů. Konkrétně lze vektor x y zapsat jako $x \begin{bmatrix} 1 \\ 0 \end{bmatrix} + y \begin{bmatrix} 0 \\ 1 \end{bmatrix}$.\end{bmatrix}$ \\ $\begin{bmatrix} I když by jakákoli rotace těchto vektorů sloužila jako dokonale platný základ pro qubit, tento konkrétní vektor je zvolen voláním výpočetního základu.
Tyto dva kvantové stavy jsou převzaty tak, aby odpovídaly dvěma stavům klasického bitu, konkrétně $0$ a $1$. Standardní konvence je zvolit
$$0\equiv\begin{bmatrix} 1 \\ 0 \end{bmatrix}, \qquad 1 \equiv\begin{bmatrix} 0 \\ 1 \end{bmatrix},$$
i když opačná volba by mohla být stejně dobře přijata. Z nekonečného počtu možných kvantových stavových vektorů s jedním qubitem tedy odpovídají pouze dvěma stavům klasických bitů; všechny ostatní kvantové stavy ne.
Měření qubitu
Jak znázorňovat vysvětlení qubitu, můžete získat určitou citlivost pro to, co tyto stavy představují, a to tím, že probereme koncept měření. Měření odpovídá neformální myšlence "pohled" na qubit, který okamžitě sbalí kvantový stav na jeden ze dvou klasických stavů $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$ nebo $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$. Při měření qubitu vektorem kvantového stavu $\begin{bmatrix}\alpha\\\end{bmatrix}$\betase získá výsledek $0$ s pravděpodobností $|\alpha|^2$ a výsledkem $1$ s pravděpodobností $|\beta|^2.$ Na výsledku $0$ je $\begin{bmatrix} nový stav qubitu 1 \\ 0 \end{bmatrix}$; ve výsledku $1$ je $\begin{bmatrix} jeho stav 0 \\ 1 \end{bmatrix}$. Všimněte si, že tyto pravděpodobnosti sečtou až $1 z důvodu normalizační podmínky $|\alpha|^2 + |\beta|^2 = 1$$.
Vlastnosti měření také znamenají, že celkové znaménko vektoru kvantového stavu je irelevantní. Negating vektoru je ekvivalentem $\alpha\rightšipky\alpha$ a $\beta\rightšipky .\beta$ Vzhledem k tomu, že pravděpodobnost měření $0$ a $1$ závisí na velikosti mocniny termínů, vložení takových znaků nezmění pravděpodobnosti vůbec. Takové fáze se běžně nazývají "global phases" a obecněji může být ve tvaru $e^{i \phi}$ spíše než jen $\pm 1$.
Poslední důležitou vlastností měření je, že nemusí nutně poškodit všechny kvantové stavové vektory. Pokud jeden začíná qubitem ve stavu $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$, který odpovídá klasickému stavu $0$, bude měření tohoto stavu vždy poskytovat výsledek $0$ a ponechat kvantový stav beze změny. V tomto smyslu platí, že pokud existují pouze klasické bity (například qubity, které jsou buď $\begin{bmatrix}1 \\ 0 nebo $\begin{bmatrix}0 \end{bmatrix}$ \\ 1\end{bmatrix}$), pak měření nepoškodí systém. To znamená, že člověk může replikovat klasická data a manipulovat s nimi na kvantovém počítači stejně jako v klasickém počítači. Schopnost ukládat informace do obou stavů najednou je to, co zvyšuje kvantové výpočty nad rámec toho, co je možné klasicky a dále okrádá kvantové počítače schopnost kopírovat kvantová data nerozlišeně, viz také teorém bez klonování.
Vizualizace qubitů a transformací pomocí Bloch sphere
Qubity mohou být také znázorněny ve $formátu 3$D pomocí reprezentace Bloch sphere. Blochová sféra poskytuje způsob popisu kvantového stavu s jedním qubitem (což je dvojrozměrný komplexní vektor) jako trojrozměrný vektor reálné hodnoty. To je důležité, protože nám umožňuje vizualizovat stavy s jedním qubitem a tím vyvinout důvod, který může být neocenitelný při pochopení stavů více qubitů (kde se bohužel reprezentace Bloch sphere rozpadne). Bloch sphere lze vizualizovat takto:
Šipky v tomto diagramu znázorňují směr, ve kterém kvantový stavový vektor ukazuje, a každá transformace šipky může být považována za otočení o jedné z kardinalních os. Při úvahách o kvantovém výpočtu jako sekvenci rotací je výkonná intuence, je obtížné tuto intuitivní funkci použít k návrhu a popisu algoritmů. Q# tento problém zmírní poskytnutím jazyka pro popis těchto obměny.
Operace s jedním qubitem
Kvantové počítače zpracovávají data pomocí univerzální sady kvantových bran, které mohou emulovat jakoukoli rotaci vektoru kvantového stavu. Tento pojem univerzálnosti je podobný pojmu universality pro tradiční (například klasické) výpočty, kde je brána sada považována za univerzální, pokud je možné provést každou transformaci vstupních bitů pomocí konečné délky obvodu. V kvantových výpočtech jsou platné transformace, které můžeme s qubitem provádět, unitární transformace a měření. Operace adjointu nebo složitá konjugovaná transponace je pro kvantové výpočty velmi důležitá, protože je potřeba invertovat kvantové transformace.
Operace s jedním qubitem nebo kvantové brány s jedním qubitem je možné klasifikovat do dvou kategorií: Cliffordová brána a ne Cliffordová brána. Brány non-Clifford se skládají pouze z $T-brány$ (označované také jako $\pi/8$ brána).
$$T=\begin{bmatrix} 1 amp; 0 \\ 0 & e^{i\pi/4}\end{bmatrix}.& $$
Standardní sada jedno qubitových cliffordových bran zahrnutých ve výchozím nastavení Q#, včetně
$$H=\frac{{1}{\sqrt{{2}}\begin{bmatrix} 1 & 1 \\ 1 &-1 \end{bmatrix} , \qquad S =\begin{bmatrix} 1 & 0 \\ 0 & i \end{bmatrix}= T^2, \qquad X=\begin{bmatrix} 0 & 1 1 \\& 0 \end{bmatrix}= HT^4H,$$
$$ Y =\begin{bmatrix} 0 & -i \\ & 0 \end{bmatrix}=T^2HT^4 HT^6, \qquad Z=\begin{bmatrix}1& 0\\ 0&-1 \end{bmatrix}=T^4. $$
Zde se operace $X$, $Y$ a $Z$ používají zejména často a jsou pojmenovány Pauli operátory po jejich tvůrci Wolfgang Pauli. Společně s bránou non-Clifford ( $brána T-gate$) se tyto operace dají skládat, aby se přibližné všechny jednotné transformace na jednom qubitu.
I když předchozí představuje nejoblíbenější primitivní brány pro popis operací na logické úrovni zásobníku (představte si logickou úroveň jako úroveň kvantového algoritmu), je často vhodné zvážit méně základní operace na úrovni algoritmu, například operace blíže k úrovni popisu funkce. Q# Naštěstí má také k dispozici metody pro implementaci jednotek vyšší úrovně, které zase umožňují implementovat algoritmy vysoké úrovně, aniž by explicitně rozložily všechno až na Clifford a $T-gates$.
Nejjednodušším takovým primitivem je obměnování jednoho qubitu. Obvykle se považují tři obměny s jedním qubitem: $R_x$, $R_y$ a $R_z$. Pokud chcete vizualizovat akci otočení $R_x(\theta),$ představte si například, že nasměrujete pravý palec podél osy $x$ blochové koule a otočíte vektor rukou úhlem $\theta/2$ radiánů. Tento matoucí faktor $2$ vychází ze skutečnosti, že orthogonální vektory jsou $180^\circ$ apart při vykreslení na Bloch sphere, ale jsou ve skutečnosti $90^\circ$ stupňů od sebe geometricky. Odpovídající jednotkové matice jsou:
\begin{zarovnat*}& R_z(\theta) = e^{-i\theta Z/2}=\begin{bmatrix} e^{-i\theta/2&}amp; 0 0\\& amp; e^{i\theta/2\end{bmatrix}}, \\& R_x(\theta) e^{-i\theta X/2=} HR_z(\theta)H =\begin{bmatrix} \cos(\theta/2) & -i\sin(\theta/2)\\ -i\sin(\theta/2) & \cos(\theta/2) \end{bmatrix}, \\& = R_y(\theta) e^-i\theta Y/2}= SHR_z(\theta)HS^\begin{bmatrix}=\dagger \cos(\theta/2) & -\sin(\theta/2)\\ \sin(\theta/2) & \cos(\theta/2) \end{bmatrix}.{= \end{zarovnat*}
Stejně jako všechny tři rotace lze kombinovat a provádět libovolnou rotaci ve třech dimenzích, lze ji vidět z reprezentace Bloch sphere, že každá jednotková matice může být zapsána jako posloupnost tří otočení. Konkrétně pro každou jednotkovou matici $U$ existuje $\alpha,\beta,\gamma tak,\delta$ aby $U= e^{i\alpha} R_x(\beta)R_z(\gamma)R_x(\delta)$. Proto $R_z(\theta)$ a $H$ také tvoří univerzální bránovou sadu, i když to není diskrétní sada, protože $\theta$ může vzít libovolnou hodnotu. Z tohoto důvodu a vzhledem k aplikacím v kvantové simulaci jsou takové souvislé brány zásadní pro kvantové výpočty, zejména na úrovni návrhu kvantového algoritmu. Aby bylo možné dosáhnout implementace hardwaru odolného proti chybám, budou nakonec zkompilovány do diskrétních sekvencí bran, které přesně tyto rotace přibližují.