A qubit a kvantum-számítástechnikában
Ahogyan a klasszikus számítástechnikában a bitek az információ alapvető objektumai, a qubitek (kvantumbitek) a kvantum-számítástechnika alapvető információobjektumai. A levelezés megértéséhez ez a cikk a legegyszerűbb példát vizsgálja: egyetlen qubitet.
Qubitet ábrázoló
Míg egy bit vagy bináris számjegy értéke 0 vagy 1 lehet, $a qubitek értéke $lehet 0$, 1$ vagy $0$ és $1$ kvantum szuperpozíció$.$$$
Egy qubit állapotát az egységnormák kétdimenziós oszlopvektorával lehet leírni, azaz a bejegyzések négyzetének négyzetének 1-re$ kell összegeznie$. Ez a kvantumállapot-vektornak nevezett vektor az egy qubites kvantumrendszer leírásához szükséges összes információt ugyanúgy tárolja, mint egyetlen bit a bináris változó állapotának leírásához szükséges összes információt. A vektorok és mátrixok kvantum-számítástechnikában való alapjait lásd: Vektor és mátrixok.
Az 1$. normával $rendelkező valós vagy összetett számok kétdimenziós oszlopvektorai egy qubit által tartott lehetséges kvantumállapotot jelölnek. Így $\begin{bmatrix}\alpha\\\beta\end{bmatrix}$ egy qubit-állapotot jelöl, ha $\alpha$ a $\beta$ (z) $|\alpha|^2 + |\beta|^2 = 1$ függvénynek megfelelő összetett számok.
A qubiteket jelképező érvényes kvantumállapot-vektorokra néhány példa $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$ és $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$. Ez a két vektor képezi a qubit állapotát leíró vektortér alapját. Ez azt jelenti, hogy bármely kvantumállapot-vektor ezen alapvektorok összegeként írható. Pontosabban az x $\begin{bmatrix} y \\ vektor \end{bmatrix}$ x $ 1 \begin{bmatrix} 0 \\ + y \end{bmatrix} 0 \begin{bmatrix} 1 \\formátumban \end{bmatrix}$írható. Bár a vektorok bármilyen forgása tökéletesen érvényes alapként szolgálna a qubithez, ezt a konkrétat választja ki a számítási alapnak nevezve.
Ez a két kvantumállapot egy klasszikus bit két állapotának felel meg, nevezetesen $a 0$ és $az 1$ állapotnak. A standard konvenció az, hogy
$$0\equiv\begin{bmatrix} 1 \\ 0 \end{bmatrix}$$$$1 \equiv\begin{bmatrix} 0 \\ 1 \end{bmatrix},$$
bár az ellenkező választást is ugyanilyen jól meg lehet hozni. Így a lehetséges egy qubites kvantumállapot-vektorok végtelen számából csak kettő felel meg a klasszikus bitek állapotának; minden más kvantumállapot nem.
Qubit mérése
A magyarázott qubitek ábrázolásának módjával némi intuíciót nyerhetünk a mérés fogalmának megvitatásával, amit ezek az állapotok képviselnek. A mérés megfelel a qubit "nézésének" informális gondolatának, amely azonnal összecsukja a kvantumállapotot a két klasszikus állapot $\begin{bmatrix} egyikével 1 \\ 0 \end{bmatrix}$ vagy $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$. A kvantumállapot-vektor $\begin{bmatrix}\alpha\\\beta\end{bmatrix}$által megadott qubit mérésekor a 0$ eredményt $^2$|\alpha| valószínűség$, az eredmény $1$ pedig ^2$|\beta| valószínűségű $lesz. A 0. kimenetben $a qubit új állapota $ 1 $\begin{bmatrix} 0 \\; az 1\end{bmatrix}$. eredményen $annak állapota $ 0 $\begin{bmatrix} 1 \\.\end{bmatrix}$ Vegye figyelembe, hogy ezek a valószínűségek a(z) ^2 + $^2 $ 1$|\alpha| normalizációs feltétel |\beta|miatt legfeljebb =1-et összegznek$.
A mérés tulajdonságai azt is jelentik, hogy a kvantumállapot-vektor általános jele irreleváns. A vektorok eltolása egyenértékű a nyíllal és$\alpha\right\alpha$a $\beta\rightnyíllal.\beta$ Mivel a 0$ és $az 1$ mérésének $valószínűsége a kifejezések négyzetes nagyságától függ, az ilyen jelek beszúrása nem változtatja meg a valószínűségeket. Ezeket a fázisokat gyakran idézőnek nevezik&;globális fázisok&idézőjele; és általában az e^$i { formátumú \phi}$lehet, nem pedig csak $\pm 1$.
A mérés végső fontos tulajdonsága, hogy nem feltétlenül károsítja az összes kvantumállapot-vektort. Ha az egyik az 1 0 állapotú $\begin{bmatrix} qubittel kezdődik , amely a klasszikus 0\\\end{bmatrix}$ állapotnak $felel meg, az állapot mérése mindig 0$ eredményt $ad, és a kvantumállapot változatlan marad.$ Ebben az értelemben, ha csak a klasszikus bitek (például qubitek, amelyek vagy $\begin{bmatrix}1 \\ 0 \end{bmatrix}$ vagy $\begin{bmatrix}0 \\ 1 \end{bmatrix}$), akkor a mérés nem károsítja a rendszert. Ez azt jelenti, hogy a klasszikus adatokat ugyanúgy replikálhatja és módosíthatja egy kvantumszámítógépen, mint egy klasszikus számítógépen. Az a képesség azonban, hogy egyszerre tárolja az információkat mindkét állapotban, az emeli a kvantum-számítástechnikát a klasszikusan lehetségesnél, és tovább rabolja a kvantumszámítógépeket a kvantumadatok válogatás nélküli másolásának képességétől, lásd még a klónozás nélküli tételt is.
Qubitek és átalakítások vizualizációja a Bloch-gömb használatával
A qubitek 3 D-ben $is ábrázolhatók a $ ábrázolása segítségével. A Bloch-gömb egy egy qubites kvantumállapot (amely egy kétdimenziós komplex vektor) háromdimenziós, valós értékű vektorként való leírására szolgál. Ez azért fontos, mert lehetővé teszi, hogy vizualizáljuk az egy qubites állapotokat, és ezáltal olyan érvelést alakítsunk ki, amely felbecsülhetetlen értékű lehet a több qubites állapotok megértésében (ahol sajnos a Bloch-gömbábrázolás lebomlik). A Bloch-gömb a következőképpen jeleníthető meg:
Az ábrán látható nyilak azt az irányt mutatják, amelyben a kvantumállapot-vektor mutat, és a nyíl minden egyes transzformációja az egyik kardinális tengely forgatásának tekinthető. Bár a kvantumszámítások forgássorozatként való gondolkodása hatékony intuíció, az algoritmusok tervezéséhez és leírásához nehéz ezt az intuíciót használni. Q# az ilyen rotációk leírására szolgáló nyelv biztosításával enyhíti ezt a problémát.
Egy qubites műveletek
A kvantumszámítógépek olyan univerzális kvantumkapuk alkalmazásával dolgozzák fel az adatokat, amelyek képesek a kvantumállapot-vektor bármilyen forgását emulálni. Az egyetemesség ezen fogalma hasonló a hagyományos (például klasszikus) számítástechnika egyetemességének fogalmához, ahol a kapukészletek univerzálisnak tekinthetők, ha a bemeneti bitek minden átalakítása véges hosszúságú áramkör használatával végezhető el. A kvantum-számítástechnikában a qubiten elvégezhető érvényes átalakítások egységes átalakítások és mérések. A szomszédos művelet vagy az összetett konjugált transzponálás döntő fontosságú a kvantum-számítástechnika szempontjából, mivel a kvantumátalakítások invertálásához szükséges.
Az egy qubites műveletek vagy az egy qubites kvantumkapuk két kategóriába sorolhatók: Clifford-kapuk és nem Clifford-kapuk. A nem Clifford kapuk csak $T-kapuból$ (más néven $\pi/8$ kapuból) állnak.
$$ T=\begin{bmatrix} 1 & 0 \ 0 & e^{i\pi/4}\end{bmatrix}. $$
Az egy qubites Clifford-kapuk standard készlete, amely alapértelmezés szerint tartalmazza a Q#következőket:
$$ 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 \ i & 0 \end{bmatrix}=T^2HT^4 HT^6, \qquad Z=\begin{bmatrix}1& 0\ 0&-1 \end{bmatrix}=T^4. $$
Itt az X$, $Y$ és $Z$ műveleteket $különösen gyakran használják, és pauli operátoroknak nevezik őket létrehozójuk, Wolfgang Pauli után. A nem Clifford-kapuval (a $T-kapuval$) együtt ezek a műveletek úgy állíthatók össze, hogy egyetlen qubiten bármilyen egységes átalakítást megközelítsen.
Míg az előző a legnépszerűbb primitív kapuk a verem logikai szintjén végzett műveletek leírásához (a logikai szintet a kvantum-algoritmus szintjeként tekintve), az algoritmikus szinten gyakran érdemes megfontolni a kevésbé alapműveleteket, például a függvény leírási szintjéhez közelebbi műveleteket. Szerencsére Q# a magasabb szintű unitáriusok implementálásához is rendelkezésre állnak módszerek, amelyek lehetővé teszik a magas szintű algoritmusok implementálását anélkül, hogy mindent explicit módon le kellene bontani Cliffordra és $T-gatesre$.
A legegyszerűbb ilyen primitív az egyetlen qubit-rotáció. Általában három egy qubites rotációt kell figyelembe venni: $R_x$, $R_y$ és $R_z$. A forgatási $R_x(\theta)$ műveletének vizualizálásához például képzelje el, hogy a jobb hüvelykujját a Bloch-gömb x$ tengelyének $iránya mentén mutogatja, és a vektort a kezével a \theta/2$ radián szögén $keresztül elforgatja. Ez a zavaró tényező $a 2$ abból a tényből ered, hogy ortogonális vektorok $180^\circ$ egymástól ábrázolva a Bloch gömb, de valójában $90^\circ$ fokok egymástól geometriailag. A megfelelő unitárius mátrixok a következők:
$$ \begin{igazítás*}& 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) & \cos(\theta/2) \end{bmatrix}, \\& R_y(\theta) = e^{-i\theta Y/2}= SHR_z(\theta)HS^\dagger=\begin{bmatrix} \cos(\theta/2) & -\sin(\theta/2)\\ \sin(\theta/2) & \cos(\theta/2) \end{bmatrix}. \end{igazítás*}$$
Ahogy a három forgatás kombinálható egy tetszőleges forgás három dimenzióban történő végrehajtásához, a Bloch-gömb ábrázolásából is látható, hogy az egységmátrixok három forgatás sorozataként is írhatók. Pontosabban az U egységmátrixok $esetében létezik $,$\alpha,\beta,\gamma ilyen \delta$például az U$ e^=i{ R_x(\alpha})R_z(\beta)R_x(\gamma)\delta.$ Így $R_z(\theta)$ és $H$ is létrehoz egy univerzális kapukészletet, bár ez nem különálló készlet, mert $\theta$ bármilyen értéket vehet fel. Ezért, és a kvantumszimulációs alkalmazásoknak köszönhetően az ilyen folyamatos kapuk kulcsfontosságúak a kvantumszámításhoz, különösen a kvantum-algoritmusok tervezési szintjén. A hibatűrő hardveres implementáció elérése érdekében végül különálló kapuütemezésekre lesznek lefordítva, amelyek szorosan megközelítik ezeket a rotációkat.