Hvad er superposition i kvantecomputing?
I den klassiske verden kan rigtige genstande som katten og kassen kun være i én tilstand ad gangen. Men i kvanteverdenen kan partikler eksistere i en superposition af alle deres mulige tilstande.
Desværre er der ingen kvantecomputere, der bruger katte til at udføre beregninger. I stedet bruger egentlige kvantecomputere qubits, en forkortelse for kvantebits. Ligesom en bit er den grundlæggende informationsenhed i klassisk databehandling, er en qubit den grundlæggende informationsenhed i kvantecomputere. Og ligesom hvordan bits kan tage en af to mulige værdier, 0 og 1, har en qubit også en værdi på 0 eller 1, når vi måler den.
Der er mange fysiske repræsentationer af qubits. For eksempel kan polarisationen af en foton eller spinet af en elektron begge bruges som qubits, fordi fotoner har to forskellige polarisationstilstande, og elektroner har to forskellige spintilstande, når vi måler dem. Vi kan repræsentere en af disse tilstande som 0 og den anden tilstand som 1, og qubitten vil altid give 0 eller 1, når vi måler den.
Men hvordan repræsenterer vi superposition i en qubit? Og hvad er sandsynligheden for, at vi finder en qubit i en bestemt tilstand, når vi foretager en måling?
Bloch-kuglerepræsentation af superposition for enkelte qubits
En qubit er en kvantepartikel, der er i en af to mulige tilstande, når vi måler qubitten. Uanset qubittens fysiske karakter mærker vi de to tilstande som 0 og 1. En qubit kan være i tilstanden 0, i tilstanden 1 eller i et uendeligt antal superpositioner af både 0- og 1-tilstandene. Hvordan repræsenterer vi disse superpositioner i kvantecomputere?
En nyttig geometrisk repræsentation af superpositionstilstanden for en enkelt qubit er Bloch-sfæren.
Forestil dig, at du tegner en cirkel med en enhedsradius (radiuslængde lig med 1). Tegn derefter en lodret og vandret akse, så de to akser skærer hinanden i midten af cirklen. Lad os nu definere 0-tilstanden til at være, hvor den lodrette akse møder toppen af cirklen, og 1-tilstanden til at være, hvor den lodrette akse møder bunden af cirklen. På denne cirkel er 0- og 1-tilstandene $180^\circ$, eller $\pi$ radianer, fra hinanden.
Hvordan relaterer denne repræsentation til tilstanden af en qubit? Vi kan repræsentere qubittens tilstand med en pil (eller vektor) med enhedslængde, der trækkes fra midten af cirklen til kanten af cirklen. Når vektoren peger lodret op, er qubitten i tilstanden 0, og når vektoren peger lodret ned, er qubitten i tilstanden 1. I denne repræsentation ville en klassisk bit være en vektor, der altid peger lige op eller lige ned, men aldrig i nogen anden retning.
For en qubit kan vektoren pege hvor som helst på cirklen. Hver placering på cirklen, bortset fra lige op eller lige ned, repræsenterer en superpositionstilstand. For eksempel kalder vi den vinkel, som vektoren laver med 0-tilstanden for $\alpha$, og den vinkel, som vektoren laver med 1-tilstanden $\beta$. Derefter repræsenterer vi qubittens superpositionstilstand som $\alpha 0 + \beta 1$.
I lighed med eksemplet med katten og kassen er superpositionstilstanden for en qubit summen af de enkelte tilstande, 0 og 1, vægtet med tallene $\alpha$ og $\beta$. I cat-and-box-systemet er vægtene imidlertid reelle tal, men i qubit-systemet er vægtene $\alpha$ og $\beta$ komplekse tal.
Fordi amplituderne $\alpha$ og $\beta$ er komplekse tal, har vi brug for en anden cirkel i vores diagram, der er i et plan vinkelret på den første cirkel for virkelig at repræsentere enhver superpositionstilstand af qubitten. Disse to cirkler eksisterer i tre dimensioner for at producere Bloch-sfæren.
Denne Bloch-kugle er en nøjagtig geometrisk repræsentation af alle mulige superpositionstilstande for en enkelt qubit. Qubit-tilstanden er repræsenteret af den placering på kuglens overflade, som vektoren peger på. Så nyttig som Bloch-sfæren er, kan den desværre ikke udvides til systemer med flere qubits.
Drikkepenge
Bloch-kuglen er et kraftfuldt værktøj, fordi de operationer, vi udfører på en qubit under kvanteberegning, er repræsenteret som rotationer omkring en af Bloch-kuglens kardinalakser. Denne geometriske repræsentation hjælper med at opbygge intuition om, hvordan operationer fungerer i kvantecomputere, men det er udfordrende at bruge denne intuition til at designe og beskrive algoritmer. Q# hjælper ved at give et sprog til at beskrive sådanne rotationer.
Hvad er sandsynligheden for at finde en qubit i en bestemt tilstand?
I cat-and-box-systemet fra den foregående enhed er vægtene for hver tilstand reelle tal, der direkte svarer til sandsynligheden for, at vi finder systemet i hver tilstand. I qubit-systemet er tallene $\alpha$ og $\beta$ generelt komplekse tal, der ikke direkte giver sandsynligheden for at finde qubitten i tilstandene 0 og 1. I stedet kaldes disse tal sandsynlighedsamplituder (eller bare amplituder).
De faktiske sandsynligheder beregnes ud fra kvadraterne af størrelsen af sandsynlighedsamplituderne. Sandsynligheden for, at en måling finder qubitten i tilstanden 0, er $|\alpha|^2$, og sandsynligheden for, at en måling finder qubitten i tilstanden 1, er $|\beta|^2$. Generelt summerer $\alpha + \beta$ ikke til 100%, men $|\alpha|^2 + |\beta|^2$ gør det altid. Begrænsningen om, at $|\alpha|^2 + |\beta|^2 = 1$ kaldes normaliseringsbetingelsen, og alle gyldige kvantetilstande skal opfylde denne betingelse.