Entanglement af Qubits i Octave

Mine Blogs om anvendelsen af qubits til kvanteberegninger og målinger er baseret på en bog med titlen Quantum Computing for Everyone. Forfatteren opfatter begrebet Everyone, som en person med kendskab til anvendelsen af en lommeregner med de sædvanlige operatorer +, -, / og × på flydende tal, samt funktioner som sin, cos og sqrt. Men jeg må anvende transponering af en søjlevektor for at kunne angive den i en Blog. Det hele ville være meget simplere, hvis jeg kunne anvende programmet Octave til både at beregne den lineære algebras vektorer, matricer og tensorprodukter (knyttet til operatoren ⊗). Transponering angives med tegnet “‘”. Et tensorprodukt kaldes også et kroneckerprodukt opkaldt efter Leopold Kronecker (1823-1891). Den binære operator ⊕ er i Octave funktionen kron(v,w). Funktionen kron gør mere end at finde tensorproduktet vw af to vektorer i vektorrummet ℜ². Husk: To 2×2 matricer V og W i ℜ² er 2-dimensionale rækker af 2-dimensionale vektorer. Funktionen kron afbilder V⊗W fra ℜ²⊗ℜ² til en 4×4 matrix i ℜ4. Hvis V og W er ortogonale matricer, vil kron(V,W) også være en ortogonal matrix i ℜ4.

Jeg minder om, at den ordnede ortonormale basis for målingen af en qubit i retningen θ er givet ved:
B(θ) = ([cos(θ/2),-sin(θ/2)]’,[sin(θ/2),cos(θ/2)]’).
Det er således meget let at frembringe ortonormale baser for målinger i forskellige retninger. Den eneste forskel er, at vinkler skal angives i enheder af π i stedet for i “°”. Jeg tvivler på, at personer, som ønsker at forstå kvanteberegninger med qubits ikke kan finde ud af at bruge programmet Octave.

Jeg viste i forrige Blog, at Alice og Bob kan foretage fælles målinger af to bits for to forskellige qubits ved anvendelsen af tensorproduktet for deres to forskellige ordnede ortonormale baser: (a0>,|a1>) og (b0>,|b1>). Ethvert tensorprodukt af to vektorer |v> og |w> kan udtrykkes som en linearkombination af de 4 tensorprodukter:
(|a0>⊗|b0>, |a0>⊗|b1>, |a1>⊗|b0>, |a1>⊗|b1>). Et tensorprodukt kan generelt skrives som
T = r|a0>⊗|b0> + s|a0>⊗|b1> + t|a1>⊗|b0> + u|a1>⊗|b1>

Man siger, at der er entanglement mellem Alices målinger af (a0>,|a1>) og Bobs målinger af (b0>,|b1>), hvis der findes en korrelation mellem de målte bitværdier. Alice og Bob kan ikke alene ud fra de målte bitkorrelationer udlede en årsagssammenhæng. Entanglement kan gøres tydelig ved specielle valg af r, s, t og u. Jeg antager i det følgende: r=u og s=t=0:
T = (|a0>⊗|b0> + |a1>⊗|b1>)/√2.
Entanglement er særlig tydelig ved dette valg, idet begge parter måler bitkombinationerne 00 og 11 med lige stor sandsynlighed.

Jeg vil nu introducere den samtidige måling af 3 ordnede bits, som fremkommer ved ordnede målinger med 3 ortonormale baser, som hver er drejet med 1/3 omgang i lighed med en vekselstrømsmotor. De 3 ordnede ortonormale baser er derfor givet ved (i = 0,1,2):
B(i) = B(2πi/3) = ([cos(πi/3),-sin(πi/3)]’,[sin(πi/3),cos(πi/3)]’).
Jeg vil anvende disse 3 drejede baser i en kommende Blog.

B(0) = ([1,0]’,[0,1]’) er standardbasis for ℜ². Den ordnede standardbasis for ℜ²⊗ℜ² er givet ved: ([1,0]’⊗[1,0]’, [1,0]’⊗[0,1]’, [0,1]’⊗[1,0]’, [0,1]’⊗[0,1]’).
kron([1,0]’, [1,0]’)’ = [1,0,0,0].
kron([1,0]’, [0,1]’)’ = [0,1,0,0].
kron([0,1]’, [1,0]’)’ = [0,0,1,0].
kron([0,1]’, [0,1]’)’ = [0,0,0,1].
Dette er den ordnede basis for ℜ4 angivet som rækkevektorer. Jeg har fundet dem ved kald af kron i Octave.

Entanglement med CNOT gate

Den ordnede standardbasis for det 4-dimensionale rum ℜ4 er:
([1,0,0,0]’,[0,1,0,0]’,[0,0,1,0]’,[0,0,0,1]’)
CNOT fremkommer ved ombytning af de sidste to søjlevektorer
CNOT = [[1,0,0,0]’,[0,1,0,0]’,[0,0,0,1]’,[0,0,1,0]’]
Denne gate virker på et qubit-par. CNOT-matricen virker på 4-dimensionale vektorer, så tensorprodukter af qubits må omskrives ved anvendelse af kron. Vi starter med tensorproduktet [1,1]’⊗[1,0]’:
kron([1,1]’,[1,0]’)’ = [1,0,1,0] (jeg har udeladt norneringsfaktoren).
(CNOT*kron([1,1]’,[1,0]’))’ = [1,0,0,1].

Den sidste ligning svarer til den normerede vektor:
([1,0]’⊗[1,0]’ + [0,1]’⊗[0,1]’)/√2
Hvis Alice og Bob udfører målinger i standardbasen, vil de begge få [1,0]’ svarende til bit-0, eller de vil begge få [0,1]’ svarende til bit-1. De to tilfælde er lige sandsynlige.