Qubit v kvantových výpočtech

Stejně jako jsou bity základním objektem informací v klasickém computingu, qubity (kvantové bity) jsou základním objektem informací v kvantových výpočtech. Abychom této korespondenci porozuměli, podívejte se v tomto článku na 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 lze popsat dvojrozměrným sloupcovým vektorem jednotkové normy, to znamená, že velikost jeho položek musí být $součet 1$. Tento vektor, označovaný jako vektor kvantového stavu, 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ématech Lineární algebra pro kvantové výpočty a Vektory a matice.

Libovolný dvourozměrný sloupcový vektor reálných nebo komplexních čísel s normou $1$ představuje možný kvantový stav qubitu. Představuje tak $\begin{bmatrix}\alpha\beta\\\end{bmatrix}$ stav qubitu, pokud $\alpha$ a $\beta$ jsou komplexní čísla vyhovující $|\alpha|^2 + |\beta|^2 = 1.$ Mezi příklady platných vektorů kvantového stavu představujících qubity patří:

$$\begin{bmatrix}1 \\ 0 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \end{bmatrix},\frac{\\\end{bmatrix}{1}{\sqrt{2}}\begin{bmatrix}\frac{{1}{\sqrt{2}} ,\frac{1}{\sqrt{\begin{bmatrix}{2}}\end{bmatrix}\\{-1}{\sqrt{2}}\frac{\text{ a i\end{bmatrix}}{\sqrt{2}}}\begin{bmatrix}\frac{1}{\sqrt{{2}}\\\frac{$$

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 vektorového prostoru, který popisuje stav qubitu. To znamená, že jakýkoli vektor kvantového stavu může být zapsán jako součet těchto vektorů základu. 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} Zatímco jakékoli otočení těchto vektorů by sloužilo jako dokonale platný základ pro qubit, tento konkrétní vektor je vybrán tak, že ho nazývá výpočetní základ.

Tyto dva kvantové stavy odpovídají dvěma stavům klasického bitu, konkrétně $0$ a $1$. Standardní konvencí je zvolit

$$0\equiv\begin{bmatrix} 1 \\ 0 \end{bmatrix}, \qquad 1 \equiv\begin{bmatrix} 0 \\ 1 \end{bmatrix},$$

i když by stejně dobře bylo možné zvolit opačnou volbu. Z nekonečného počtu možných jedno qubitových vektorů kvantového stavu tedy pouze dva odpovídají stavům klasických bitů; všechny ostatní kvantové stavy ne.

Měření qubitu

Vysvětlením qubitu, který představuje qubit, můžete získat určitou intuii pro to, co tyto stavy představují, tím, že probereme koncept měření. Měření odpovídá neformální myšlence "pohledu" na qubit, který okamžitě sbalí kvantový stav do jednoho ze dvou klasických stavů $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$ nebo $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$. Při měření qubitu pomocí kvantového vektoru $\begin{bmatrix}\alpha\\\end{bmatrix}$\betastavu se výsledek $0$ získá s pravděpodobností $|\alpha|^2$ a výsledek $1$ s pravděpodobností $|\beta|^2.$ V případě výsledku 0 je nový stav qubitu 1 \\ 0\end{bmatrix}$; ve výsledku $1$ je $\begin{bmatrix} jeho stav 0 \\ 1 \end{bmatrix}$.$\begin{bmatrix}$$ Všimněte si, že tyto pravděpodobnosti se sčítají 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í. Negování vektoru je ekvivalentem $\alpha\rightšipky a $\beta\alpha$\rightšipky.\beta$ Vzhledem k tomu, že pravděpodobnost měření $hodnot 0$ a $1$ závisí na velikosti kvadratu termínů, vložení takových znaménka pravděpodobnosti nijak nezmění. Takové fáze se běžně nazývají "global phases" a obecněji mohou mít formu $e^{i \phi}$ , nikoli jen $\pm 1$.

Poslední důležitou vlastností měření je, že nemusí nutně poškodit všechny vektory kvantového stavu. Pokud začnete qubitem ve stavu $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$, který odpovídá klasickému stavu $0$, změření tohoto stavu vždy přinese výsledek $0$ a ponechá kvantový stav beze změny. V tomto smyslu platí, že pokud existují pouze klasické bity (například qubity, které mají hodnotu $\begin{bmatrix}1 \\ 0 \end{bmatrix}$ nebo $\begin{bmatrix}0 \\ 1 \end{bmatrix}$), pak měření systém nepoškodí. To znamená, že můžete replikovat klasická data a manipulovat s nimi na kvantovém počítači stejně jako na klasickém počítači. Schopnost ukládat informace v obou stavech najednou je však to, co povyšuje kvantové výpočty nad rámec toho, co je možné klasicky, a dále kvantovým počítačům okrádá schopnost bez rozdílu kopírovat kvantová data, viz také teorém bez klonování.

Vizualizace qubitů a transformací pomocí blochové koule

Qubity mohou být také znázorněny ve $3D$pomocí zobrazení Bloch sphere . Blochová koule poskytuje způsob, jak popsat kvantový stav s jedním qubitem (což je dvojrozměrný komplexní vektor) jako trojrozměrný vektor s reálnou hodnotou. To je důležité, protože nám umožňuje vizualizovat stavy s jedním qubitem a vyvinout tak úvahy, které mohou být neocenitelné při pochopení stavů s více qubity (kde se bohužel rozpadá reprezentace Blochové koule). Blochovou kouli lze vizualizovat takto:

Bloch sphere

Šipky v tomto diagramu znázorňují směr, kterým ukazuje vektor kvantového stavu, a každou transformaci šipky si lze představit jako otočení jedné ze základních os. I když je pomyšlení na kvantové výpočty jako na sekvenci rotací silnou intuií, je obtížné tuto intuici použít k návrhu a popisu algoritmů. Q# tento problém zmírňuje tím, že poskytuje jazyk pro popis těchto obměny.

Operace s jedním qubitem

Kvantové počítače zpracovávají data použitím univerzální sady kvantových bran, které mohou emulovat jakoukoli rotaci kvantového vektoru stavu. Tento pojem univerzálnosti se podobá pojmu univerzálnosti pro tradiční (například klasické) výpočty, kde se sada bran považuje za univerzální, pokud lze každou transformaci vstupních bitů provést pomocí obvodu s konečnou délkou. Platné transformace, které můžeme v qubitu provádět, jsou v kvantových výpočtech unitární transformace a měření. Adjoint operace nebo komplexní konjugovaná transpozice mají pro kvantové výpočty zásadní význam, protože jsou potřebné k obrácení kvantových transformací.

Operace s jedním qubitem nebo jedno qubitové kvantové brány lze rozdělit do dvou kategorií: cliffordovské brány a jiné než cliffordovské brány. Jiné brány než Clifford se skládají pouze z $brány T$ (označované také jako $brána \pi/8$ ).

$$T=\begin{bmatrix} 1 amp; 0 \\ 0 & e^{i\pi/4}\end{bmatrix}.& $$

Standardní sada jedno qubitových cliffordových bran, která je ve výchozím nastavení Q#součástí , zahrnuje

$$ H=\frac{{1}{\sqrt{{2}}\begin{bmatrix} 1 & 1 \\ amp &;-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 \\ 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í obzvláště často a jsou pojmenovány Pauli operátory po jejich tvůrci Wolfgang Pauli. Společně s cliffordovou bránou ( $T-gate$) lze tyto operace sestavit tak, aby odhadly jakoukoli jednotkovou transformaci na jednom qubitu.

Zatímco předchozí představují nejoblíbenější primitivní brány pro popis operací na logické úrovni zásobníku (logickou úroveň si představte jako úroveň kvantového algoritmu), je často vhodné zvážit méně základní operace na algoritmické úrovni, například operace blíže k úrovni popisu funkce. Naštěstí Q# jsou k dispozici také metody pro implementaci jednotek vyšší úrovně, které zase umožňují implementovat algoritmy vysoké úrovně, aniž by se vše explicitně rozložily na Clifford a $T-gate$.

Nejjednodušší taková primitiva je jednoduchá rotace qubitů. Obvykle se uvažuje o třech obměnách s jedním qubitem: $R_x$, $R_y$ a $R_z$. Chcete-li vizualizovat akci otáčení $R_x(\theta),$ představte si například, že namíříte pravým palcem podél směru $osy x$ Blochové koule a otočíte vektor rukou úhlem $\teta/2$ radiánů. Tento matoucí faktor $2$ vychází ze skutečnosti, že orthogonální vektory jsou od sebe 180^\circ$, když jsou $vykresleny na Blochově kouli, a přesto jsou ve skutečnosti geometricky od sebe vzdáleny $90^\circ$ stupňů. Odpovídající unitární matice jsou:

\begin{zarovnat*}&a; R_z(\theta) = e^{-i\theta Z/2}=\begin{bmatrix} e^{-i\theta/2}& 0\\ 0& 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) &&\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 je možné zkombinovat libovolnou rotaci ve třech rozměrech, je z vyjádření Blochové koule patrné, že každá jednotná matice může být zapsána jako posloupnost tří otočení. Konkrétně pro každou jednotkovou matici $U$ existuje $\alpha,\beta,\gamma,\delta$ například $U= e^{i\alpha} R_x(\beta)R_z(\gamma)R_x(\delta)$. Proto $R_z(\theta)$ a $H$ také tvoří univerzální sadu bran, i když se nejedná o diskrétní množinu, protože $\teta$ může převzít libovolnou hodnotu. Z tohoto důvodu a vzhledem k aplikacím v kvantové simulaci jsou takové spojité 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 kompilovány do diskrétních sekvencí hradel, které přesně odpovídají těmto rotacím.

Další kroky