Kvante-gates

Kvante-gates er en naturlig udvidelse af klassiske, reversible gates. De er desuden en anden måde at betragte matematikken bag overførslen af qubits fra Alice til Bob. Jeg skrev i den forrige Blog, at valg af en retning ved måling af en qubit svarede til valg af en ortogonal matrix svarende til en ordnet ortonormal basis. Jeg vil i denne Blog anvende en fast ordnet ortonormal basis og lade den ortogonale matrix svarer til en reversibel gate, som qubits passerer før målingen. Jeg vil starte med at introducere nogle nye betegnelser.

Qubits

Vi vil kun anvende én ordnet basis til både at afsende og modtage qubits. Det er naturligt at vælge standard basen ([1,0]’,[0,1]’). Tegnet “‘” betyder transponering. Vi tildeler den første søjlevektor den målte bitværdi 0 og den anden vektor den målte bitværdi 1. Det er derfor naturligt at lade |0> betyde [1,0]’ og |1> betyde [0,1]’. En qubit har derfor formen a0|0>+a1|1>, hvor a0²+a1²=1. Kvantetilstanden springer til |0> med sandsynligheden a0² eller til |1> med sandsynligheden a1².

Et kvantesystem bestående af n qubits består af 2n tensorprodukter. Den ordnede basis for et kvantesystem bestående af 2 qubits er
(|0>⊗|0>,|0>⊗|1>,|1>⊗|0>,|1>⊗|1>).
Man fjerner ofte symbolet ⊗, da et tensorprodukt er underforstået i denne sammenhæng: (|0>|0>,|0>|1>,|1>|0>,|1>|1>).
Man kan indføre den kortfattede konvention, at |ab> betyder |a>|b>.
Den ordnede basis for et kvantesystem bestående af 2 qubits får derfor denne korte form: (|00>,|01>,|10>,|11>).

The CNOT Gate

Det klassiske CNOT Gate har 2 input og 2 output; den er defineret ved:
CNOT(x,y) = (x,x+y), hvor ⊕ betyder + modulus 2; den er på tabelform:
CNOT: [0,0,1,1]’,[0,1,0,1]’ ⇒ [0,0,1,1]’,[0,1,1,0]’
Vi udvider denne tabel til at gælde for qubits på den naturlige måde – ved at erstatte 0 med |0> og 1 med |1>. Tabellen er derfor givet ved:
CNOT: [|0>,|0>,|1>,|1>]’,[|0>,|1>,|0>,|1>]’ ⇒
[|0>,|0>,|1>,|1>]’,[|0>,|1>,|1>,|0>]’
Dette kan skrives mere kortfattet ved anvendelse af den kompakte notation for tensorprodukter:
CNOT: [|00>,|01>,|10>,|11>]’ ⇒ [|00>,|01>,|11>,|10>]’
Tebellen fortæller os, hvad der sker med basisvektorer ved passage af CNOT, men hvad sker der med en linearkombination af basisvektorer?
CNOT(r|00>+s|01>+t|10>+u|11>) = r|00>+s|01>+u|10>+t|11>
Det bytter om på sandsynlighedsapplituderne for |10> og |11>.

Vi må være forsigtige med, hvordan vi fortolker dette gates virkning på en kvantetilstand  for et qubitpar. For klassiske bit gælder, at en bit, som går ind i  den øverste ledning, forlater den øverste ledning i uændret form. Dette er stadig tilfældet for en qubit, hvis den øverste qubit er enten |0> eller |1>. Vi har hermed sikret os, at et kvante-gate for basisvektorer er identisk med det tilsvarende klassiske, reversible gate. Men dette er ikke tilfældet for andre qubits.

Jeg vælger eksemplet, hvor den øverste qubit er (|0>+|1>)/√2 og den nederste er |0>. Dette bliver til (|00>+|10>)/√2 i den kompakte notation. Output fremkommer ved ombytning af amplituderne for |10> og |11>:
CNOT((|00>+|10>)/√2) = (|00>+|11>)/√2

Resultatet er et klart eksemper på entanglement. Ledningerne repræsenterer elektroner eller fotoner, som kan befinde sig langt fra hinanden. Men entanglement betyder, at en måling af den ene påvirker den andens tilstand. Dette gate kan anvendes til at frembringe entanglement. Tensorprodukter kan anvendes til at tildele den første basisvektor til Alice og den anden til Bob. Det vigtigste resultat er, at de klassiske, reversible gates er specialtilfælde af kvante-gates. Klassiske, reversible beregninger er derfor et specialtilfælde af kvanteberegninger.

Quantum Gates

CNOT permuterer basisvektorerne. Permutation af vektorerne i en ordnet ortonormal basis frembringer en anden ordnet ortonormal basis, som fremkommer ved multiplikation med en ortogonal matrix. CNOT svarer til en ortogonal matrix. Alle de klassiske reversible gates permuterer basisvektorer. De svarer alle til ortogonale matricer. Kvante-gates er blot operationer, som kan beskrives ved ortogonale matricer.

Quantum gates for én qubit

I klassiske, reversible beregninger findes kun to mulige boolske operatorer, som virker på én bit: Identiteten, som efterlader bitværdien uændret, og NOT, som skifter mellem værdierne 0 og 1. Der findes derimod uendeligt mange gates for qubits.

Jeg vil først se på de 2 kvante-gates, som svarer til den klassiske identitet, og som begge efterlader |0> og |1> uændrede. Jeg vil dernæst se på de 2 kvante-gates, som svarer til ombytning af |0> og |1>. Disse 4 gates er opkaldt efter Wolfgang Pauli, og de kaldes Pauli transformationer.

I og Z matricer

I er blot identitetsmatricen [[1,0]’,[0,1]’]. Jeg vil vise, hvordan I virker på en vilkårlig qubit a0|0>+a1|1>:
I(a0|0>+a1|1>) = [[1,0]’,[0,1]’][a0,a1]’ = a0|0>+a1|1>.
I efterlader en qubit totalt uændret.
Z er defineret som matricen [[1,0]’,[0,-1]’]. Lad os se, hvordan Z virker på en vilkårlig qubit a0|0>+a1|1>:
Z(a0|0>+a1|1>) = [[1,0]’,[0,-1]’][a0,a1]’ = a0|0>-a1|1>
Z efterlader amplituden for |0> uændret, men fortegnet ændres på amplituden for |1>. Der gælder altså Z(|0>)=|0> og Z(|1>)=-|1>.
Men husk, det er kun de reelle sandsynligheder, som har en fysisk betydning. Sandsynlighederne er givet ved amplitudernes kvadrater, så kvantetilstandene -|1> og |1> er ækvivalente. Z bevarer altså begge basisvektorer, selvom Z ikke er identitetsmatricen. Z anvendt på den specielle qubit (|0>+|1>)/√2 giver (|0>-|1>)/√2, som ikke er identisk med (|0>+|1>)/√2. Selvom Z-transformationen bevarer begge basisvektorer, vil den ændre enhver anden qubit! Man siger, at den ændrer den relative fase for en qubit.

Z og Y matricer

De svarer begge til NOT, idet de ombytter |0> og |1>. X ombytter blot, hvorimod Y ombytter og ændrer den relative fase:
X = [[0,1]’,[1,0]’] og Y = [[0,-1]’,[1,0]’]. Tegnet “‘” betyder transponering.

Hadamard matricen

Det sidste og vigtigste gate, som som virker på én bit, er defineret ved Hadamard matricen H:
H = [[1,1]’,[1,-1]’]/√2.
Dette gate anvendes ofte til at kombinere basisvektorer:
H(|0>) = (|0>+|1>)/√2 og H(|1>) = (|0>-|1>)/√2.

Jeg har omtalt 5 kvante-gates, som virker på kun én qubit. Der findes imidlertid uendeligt mange ortogonale matricer, som virker på én qubit. Enhver rotation frembringer en ortogonal matrix, og der findes uendeligt mange af disse, som alle kan definere gates.

No cloning teoremet

Klassiske kredsløb er baseret på muligheden af at lave en kopi af et elektrisk signal ved at opsplitte en elektrisk ledning i to ledninger, den såkaldte fan-out operation. Klassiske, reversible gates er et specialtilfælde af et kvante-gate, som lader qubits passere. Klassiske, reversible beregninger er derfor inkluderet i kvanteberegninger med qubits. Kan man lave en kopi af en qubit? Hvordan laver man kopier af basisvektorerne|0> og |1>? Dette er en nødvendighed for klassiske beregninger.

Dette kan gøres ved anvendelse af en hjælpebit – ved altid at sætte det andet input til 0 ved anvendelsen af CNOT:
CNOT(|00>) = |00> og CNOT(|10>) = |11>, så CNOT(|x0>) = |xx>, såfremt |x> er enten |0> eller |1>. Vi ender uheldigvis ikke med to kopier i det generelle tilfælde. Resultatet er entanglement, ikke to kopier af en qubit. Vi kan anvende CNOT til at kopiere klassiske bits, ikke generelle qubits.

Begrebet fan-out anvendes kun i forbindelse med klassiske beregninger. Man anvender ordet cloning for den analoge idé i forbindelse med kvanteberegninger. Vi ønsker at lave kopier af qubits. Vi ønsker et gate G med en generel qubit |x> som første input og |0> som fast andet input. G har som output to kopier af |x>. Kan et sådant gate eksistere uden modstrid? Jeg starter med at nedskrive de krævede betingelser:
1. G(|0>⊗|0>) = |0>⊗|0> = |00>
2. G(|1>⊗|0>) = |1>⊗|1>  = |11>
3. G((|0>+|1>)⊗|0>/√2) = (|0>+|1>)⊗(|0>+|1>)/2

G((|00>+|10>)/√2) = (|00>+|o1>+|10>+|11>)/2
Bemærk: |0> anvendes ikke ved beregningen af tensorproduktet på højresiden.

G må som enhver matrix være lineær; dette medfører:
G(|00>+|10>) = G(|00>) + G(|10>) = |00>+ |11>
Det sidste lighedstegn følger fra (1) og (2). Jeg får ved division med √2:
G((|00>+|10>)/√2) = (|00>+ |11>)/√2, men (3) medførte:
G((|00>+|10>)/√2) = (|00>+|o1>+|10>+|11>)/2.
Dette er en modsigelse. Den eneste mulige konklusion er, at det er umuligt at konstruere et gate, som kan clone generelle qubits.

Kvante- og klassiske beregninger

At en kvante-computer ikke er i stand til at kopiere en qubit kunne forekomme at være en alvorlig begrænsning. En klassisk computer kopierer hele tiden data frem og tilbage mellem registre og lagerenheder. Hvordan skulle man kunne undvære denne mulighed? Hvis vi kun sender de to basisvektorer |0> og |1> gennem et CNOT-gate bliver resultatet identisk med at sende de to klassiske bit 0 og 1 gennem CNOT. En kvante-computer kan derfor udføre reversible klassiske beregninger. At man ikke kan clone en qubit er i virkeligheden en stor fordel, idet teoremet tillader en sikker transmission af data.