Share via


De qubit in kwantumcomputing

Net zoals bits het fundamentele object van informatie zijn in klassieke computing, zijn qubits (kwantumbits ) het fundamentele object van informatie in kwantumcomputing. Om deze correspondentie te begrijpen, bekijkt dit artikel het eenvoudigste voorbeeld: één qubit.

Een qubit vertegenwoordigen

Hoewel een bit, of binair cijfer, een waarde $van 0$ of $1$ kan hebben, kan een qubit een waarde hebben die 0$, $1$ of een kwantumsuperpositie van $0$ en $1$ is$.

De toestand van één qubit kan worden beschreven door een tweedimensionale kolomvector van eenheidsnorm, dat wil doen dat de grootte in het kwadraat van de vermeldingen moet worden opgeteld op $1$. Deze vector, de kwantumtoestandvector genoemd, bevat alle informatie die nodig is om het kwantumsysteem met één qubit te beschrijven, net zoals een enkele bit alle informatie bevat die nodig is om de status van een binaire variabele te beschrijven. Zie Lineaire algebra voor kwantumcomputing en Vector en matrices voor de basisbeginselen van vectoren en matrices in kwantumcomputing.

Elke tweedimensionale kolomvector van reële of complexe getallen met norm $1$ vertegenwoordigt een mogelijke kwantumtoestand die wordt vastgehouden door een qubit. Vertegenwoordigt dus $\begin{bmatrix}\beta\end{bmatrix}$\\\alphaeen qubitstatus als $\alpha$ en $\beta$ complexe getallen zijn die voldoen aan $|\alpha|^2 + |\beta|^2 = 1.$ Enkele voorbeelden van geldige kwantumtoestandsvectoren die qubits vertegenwoordigen, zijn

$$\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}\\\text{\frac{{-1}{\sqrt{2}} en\\\frac{\frac{1}{\sqrt{{2}}}\begin{bmatrix} i.}{\sqrt{2}}\end{bmatrix}$$

De kwantumtoestandsvectoren $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$ en $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$ spelen een speciale rol. Deze twee vectoren vormen een basis voor de vectorruimte die de toestand van de qubit beschrijft. Dit betekent dat elke kwantumtoestandvector kan worden geschreven als een som van deze basisvectoren. De vector x y kan worden geschreven als $x \begin{bmatrix} 1 \\ 0 \end{bmatrix} + y \begin{bmatrix} 0 \\ 1 \end{bmatrix}$.\end{bmatrix}$\\$\begin{bmatrix} Hoewel elke rotatie van deze vectoren zou fungeren als een perfect geldige basis voor de qubit, wordt deze specifieke gekozen door deze de rekenkundige basis te noemen.

Deze twee kwantumtoestanden komen overeen met de twee toestanden van een klassieke bit, namelijk $0$ en $1$. De standaardconventie is om te kiezen

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

hoewel de tegenovergestelde keuze even goed kan worden genomen. Dus van het oneindige aantal mogelijke kwantumtoestandsvectoren met één qubit komen er slechts twee overeen met toestanden van klassieke bits; alle andere kwantumstatussen niet.

Een qubit meten

Hoe u een qubit kunt vertegenwoordigen die wordt uitgelegd, kunt u enige intuïtie krijgen voor wat deze toestanden vertegenwoordigen door het concept van meting te bespreken. Een meting komt overeen met het informele idee van 'kijken' naar een qubit, waardoor de kwantumstatus onmiddellijk wordt samengevouwen tot een van de twee klassieke toestanden $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$ of $\begin{bmatrix} 0 \\ 1 \end{bmatrix}$. Wanneer een qubit die is opgegeven door de kwantumtoestandsvector $\begin{bmatrix}\beta\alpha\\\end{bmatrix}$ wordt gemeten, wordt het resultaat $0$ verkregen met kans $|\alpha|^2$ en het resultaat $1$ met kans $|\beta|^2.$ Op resultaat $0$ is $\begin{bmatrix} de nieuwe status van de qubit 1 \\ 0 \end{bmatrix}$; op resultaat $1$ is $\begin{bmatrix} de status 0 \\ 1 \end{bmatrix}$. Houd er rekening mee dat deze waarschijnlijkheden samen 1$ zijn $vanwege de normalisatievoorwaarde $|\alpha|^2 + |\beta|^2 = 1$.

De eigenschappen van de meting betekenen ook dat het algemene teken van de kwantumtoestandsvector niet relevant is. Het ontkenn van een vector is gelijk aan $\alpha\rightpijl -\alpha$ en $\beta\rightpijl -\beta$. Omdat de waarschijnlijkheid van het meten $van 0$ en $1$ afhankelijk is van de grootte van de termen, verandert het invoegen van dergelijke tekens niets aan de waarschijnlijkheid. Dergelijke fasen worden gewoonlijk quot genoemd &;globale fasen" en meer in het algemeen kunnen de vorm $e^{i \phi}$ hebben in plaats van alleen $\pm 1$.

Een laatste belangrijke eigenschap van de meting is dat het niet noodzakelijkerwijs alle kwantumtoestandsvectoren beschaadt. Als men begint met een qubit in de toestand $\begin{bmatrix} 1 \\ 0 \end{bmatrix}$, wat overeenkomt met de klassieke toestand $0$, levert het meten van deze toestand altijd het resultaat $0$ op en blijft de kwantumstatus ongewijzigd. Als er in die zin alleen klassieke bits zijn (bijvoorbeeld qubits die 1 \\ 0 \end{bmatrix}$ of $\begin{bmatrix}0 \\ 1 \end{bmatrix}$zijn$\begin{bmatrix}), is de meting niet schadelijk voor het systeem. Dit betekent dat klassieke gegevens kunnen worden gerepliceerd en bewerkt op een kwantumcomputer, net zoals op een klassieke computer. De mogelijkheid om informatie in beide staten tegelijk op te slaan, is echter wat kwantumcomputing verheft boven wat klassiek mogelijk is en kwantumcomputers verder beroven van de mogelijkheid om kwantumgegevens zonder onderscheid te kopiëren. Zie ook de stelling zonder klonen.

Qubits en transformaties visualiseren met behulp van de bloch-bol

Qubits kunnen ook in $3D$worden afgebeeld met behulp van de weergave van de Bloch-bol . De Bloch-bol geeft een manier om een kwantumtoestand met één qubit (een tweedimensionale complexe vector) te beschrijven als een driedimensionale reële vector. Dit is belangrijk omdat het ons in staat stelt om toestanden met één qubit te visualiseren en daardoor redeneringen te ontwikkelen die van onschatbare waarde kunnen zijn bij het begrijpen van toestanden van meerdere qubits (waar helaas de weergave van de Bloch-bol afbreekt). De Bloch bol kan als volgt worden gevisualiseerd:

Bol van Bloch

De pijlen in dit diagram geven de richting aan waarin de kwantumtoestandsvector wijst en elke transformatie van de pijl kan worden beschouwd als een draaiing rond een van de hoofdassen. Hoewel het denken over een kwantumberekening als een reeks rotaties een krachtige intuïtie is, is het een uitdaging om deze intuïtie te gebruiken om algoritmen te ontwerpen en te beschrijven. Q# vermindert dit probleem door een taal te bieden voor het beschrijven van dergelijke rotaties.

Bewerkingen met één qubit

Kwantumcomputers verwerken gegevens door een universele set kwantumpoorten toe te passen die elke rotatie van de kwantumtoestandsvector kunnen emuleren. Dit begrip van universaliteit is vergelijkbaar met het begrip universaliteit voor traditionele (bijvoorbeeld klassieke) computing, waarbij een gateset als universeel wordt beschouwd als elke transformatie van de invoerbits kan worden uitgevoerd met behulp van een eindige lengtekring. In kwantumcomputing zijn de geldige transformaties die we op een qubit mogen uitvoeren, unitaire transformaties en -metingen. De aangrenzende bewerking of de complexe conjugaattransponeren is van cruciaal belang voor kwantumcomputing, omdat deze nodig is om kwantumtransformaties om te keren.

Bewerkingen met één qubit of kwantumpoorten met één qubit kunnen worden ingedeeld in twee categorieën: Clifford-poorten en de niet-Clifford-poorten. Niet-Clifford-poorten bestaan alleen uit $T-poort$ (ook wel bekend als de $\pi/8-poort$ ).

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

De standaardset clifford-poorten met één qubit, standaard opgenomen in Q#,

$$ 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 amp &; 0 \end{bmatrix}=T^2HT^4 HT^6, \qquad Z=\begin{bmatrix}1& 0\\ 0&-1 \end{bmatrix}=T^4. $$

Hier worden de bewerkingen $X$, $Y$ en $Z$ vooral vaak gebruikt en worden pauli operators genoemd naar hun maker Wolfgang Pauli. Samen met de niet-Clifford-poort (de $T-poort$) kunnen deze bewerkingen worden samengesteld om elke eenheidstransformatie op één qubit te benaderen.

Hoewel de vorige de populairste primitieve poorten vormen voor het beschrijven van bewerkingen op het logische niveau van de stack (denk aan het logische niveau als het niveau van het kwantumalgoritme), is het vaak handig om minder eenvoudige bewerkingen op algoritmeniveau te overwegen, bijvoorbeeld bewerkingen dichter bij een functiebeschrijvingsniveau. Gelukkig Q# zijn er ook methoden beschikbaar voor het implementeren van eenheidsbestanden op een hoger niveau, waardoor algoritmen op hoog niveau kunnen worden geïmplementeerd zonder dat alles expliciet wordt opgesplitst tot Clifford en $T-gates$.

De eenvoudigste dergelijke primitieve is de enkele qubit-rotatie. Drie rotaties met één qubit worden doorgaans overwogen: $R_x$, $R_y$ en $R_z$. Als u bijvoorbeeld de actie van de rotatie $R_x(\theta)$ wilt visualiseren, stelt u zich voor dat u uw rechterduim in de richting van de $x-as$ van de Bloch-bol wijst en de vector met uw hand door een hoek van $\theta/2$ radialen draait. Deze verwarrende factor van $2$ komt voort uit het feit dat orthogonale vectoren 180^\kring$ uit elkaar liggen $wanneer ze zijn uitgezet op de Bloch-bol, maar in feite $90^\kringgraden$ geometrisch uit elkaar liggen. De bijbehorende unitaire matrices zijn:

\begin{uitlijnen*}& 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^\begin{bmatrix}=\dagger \cos(\theta/2) & -\sin(\theta/2)\\ \sin(\theta/2) & \cos(\theta/2) \end{bmatrix}.{= \end{Uitlijnen*}

Net zoals elke drie rotaties samen kunnen worden gecombineerd om een willekeurige rotatie in drie dimensies uit te voeren, is het te zien aan de weergave van de Bloch-bol dat elke eenheidsmatrix ook kan worden geschreven als een reeks van drie rotaties. Specifiek voor $\alphaelke eenheidsmatrix $bestaat$ er ,\beta,\gamma,\delta$ zodanig dat $U= e^{i\alpha} R_x(\beta)R_z(\gamma)R_x(\delta).$ Zo $vormen R_z(\theta)$ en $H$ ook een universele poortset, hoewel het geen discrete set is, omdat $\theta$ elke waarde kan aannemen. Daarom, en vanwege toepassingen in kwantumsimulatie, zijn dergelijke continue poorten cruciaal voor kwantumberekeningen, met name op het ontwerpniveau van het kwantumalgoritmen. Om fouttolerante hardwareimplementatie te bereiken, worden ze uiteindelijk gecompileerd in discrete poortsequenties die deze rotaties nauwkeurig benaderen.

Volgende stappen