Wyklad-8 - usz.edu.pl

advertisement
Wykład 8
Operacje dwukubitowe
Pokażemy, że jedno-kubitowe i CNOT bramki są uniwersalne, ponieważ mogą być
wykorzystane do zbudowania dowolnych dwupoziomych bramek omówionych wyżej.
Podstawowa idea jest prosta. Przekształcamy przestrzeń Hilberta tak aby dwa relewantne
stany bazowe stały stanami bazowymi jednego kubitu, wykonujemy na tym kubicie potrzebną
operacje i wykonujemy przekształcenie z powrotem do pierwotnej bazy. Baza przetasowania
może być otrzymana za pomocą operacji kontrol-NOT wyższego rzędu, które po kolei można
sprowadzić do prostych operacji CNOT.
Rozważmy przykład trzech kubitów: jak wykonać dwu-poziomą operację U dla
stanów ABC  000 i 111 ? Najpierw zastosujemy bramkę Toffoli do trzech argumentów
NOT A , NOT B i C (przypomnijmy, że bramka Toffoli jest trójkubitową bramką):  ( 3)
(NOT A , NOT B, C ). Pierwsze dwa kubity są kubitami kontrolnymi, które w tym przypadku
muszą być 0, ostatni kubit jest celowy. Ta operacja wymienia 000 z 001 i pozostawia
pozostałe kubity bez zmian. Teraz zastosujemy  ( 3) (NOT A, C , B ). To wymienia 001 z
011 . Kolejny efekt wymieni 000 z 011 . Potem możemy zastosować C 2U wykonując
operację U na kubicie A , przy założeniu, że jak B , tak C są równe 1. Na koniec stany
bazowe mogą być przegrupowane do ich oryginalnego porządku.
Podobne przegrupowania można zawsze wykonać za pomocą sekwencji stanów
bazowych kubitów (albo binarnych liczb reprezentujących stany) dwóch kolejnych członów,
które różnią się tylko jednym położeniem. (Taka sekwencja jest wiadoma jako kod Gray’a).
Jasne, że ta droga konstruowania dowolnych kwantowych bramek nie zawsze jest
najefektywną (z punktu widzenia najmniejszej liczby możliwych operacji). Jednak, to nie jest
poważnym problemem, ponieważ istnieją, w każdym przypadku, unitarne n - kubitowe
operacje które potrzebują O(e n ) bramek a zatem są wewnętrzne nieefektywne.
Aproksymacja jedno-kubitowych bramek
Udowodnimy, że bramki Hadamarda, fazowa i
 / 8 są (w przybliżeniu)
uniwersalnymi jedno-kubitowymi bramkami. Przypomnijmy, że bardziej ogólną jednokubitową bramką jest obrót sfery Blocha na dowolny kąt dookoła dowolnej osi
1
(kombinowany z trywialnym mnożnikiem fazowym). Załóżmy, że musimy dokonać obrotu

około osi n o kąt  , który jest irracjonalnym mnożnikiem 2 . Dzięki irracjonalności, kąty
n
mod 2
(n  0,1,2,)
(8.1)

są gęste (dense) w 0,2 , a zatem dowolna rotacja około n może być aproksymowana
dowolną precesją powtarzających  rotacji
Rn    Rn    O  .

(8.2)
Jeżeli wykonamy dwie takich irracjonalnych rotacji około wzajemnie prostopadłych osi, to
możemy zrealizować dowolną rotację dzięki Z-Y-Z dekompozycji. Z fundamentalnych reguł
mnożenia macierzy Pauli’jego
X 2  Y 2  Z 2  1,
XY  iZ  YX
itd.
(8.3)
i z określenia bramki Hadamarda
H
1
2
X  Z 
(8.4)
otrzymujemy
HXH  Z ,
HZH  X .
(8.5)

Dalej wróćmy do rotacji sfery Blocha dookoła jednostkowego wektora n o kąt 
   
 
   
exp   i n     cos   1  i sin  n   ,
 2

2
 2
(8.6)


(    X , Y , Z   2S /  ) i bramki  / 8
 i 8

T  e 8 e
 0

i




1
0   e i 8 e i 8 Z  Z 4

i 
e 8 
i

 HTH  e 8 e

i X
8
1
X4 .
(8.7)
Wtedy
Z

1
4
X
1
4
  
      
  
  cos 1  i sin   Z  cos 1  i sin   X  
 8    8 
8 
 8
 
     
 
  
 cos 2  1  i sin   cos  X  sin  Y  cos  Z  
8
 8   8 
8
8 
 
  
 cos 2  1  i sin  q   ,
8
8
2
(8.8)
gdzie
   
 
  
q   cos , sin  , cos   .
8
 8 
 8
(8.9)
  
Dla n  q / q możemy (8.8) przepisać w postaci
Z

1
4
1
 
X 4  cos 1  i sin n   ,
(8.10)
gdzie
1 
  1 
cos   cos 2    1 
.
2
 8  2
(8.11)
Korzystając z niektórych twierdzeń z algebry i teorii liczb można udowodnić, że  jest
irracjonalnym mnożnikiem 2 .
To jest pierwsza z dwóch potrzebnych rotacji. Druga jest
H

1
2

1
2
Z

1
4
1
4
1
2
X H ,
(8.12)
gdzie
H

e
i

4
2
1  iH  .
(8.13)
Teraz można udowodnić, że
H

1
2
1
2
XH 

1
1
H 2 YH 2 
H

1
2
1
2


1
X  Z  2Y .
2
1
2

X  Z  .
(8.14)
(8.15)

1
X  Z  2Y .
2
(8.16)
 
   
X 4 H 2  cos 2  1  i sin  m   ,
8
8
(8.17)
ZH 
i ostatecznie
H

1
2
Z

1
4
1
1
gdzie
  1
 
  1
  
m   
sin  , 2 cos ,
sin    ,
2 8
 8  2  8 

3
(8.18)
 


skąd widać, że m 2  q 2 i m  q  0 . To jest znów rotacja o ten sam kąt  , jak wyżej, około

osi prostopadłej do poprzedniej osi n
1
1
1
1
1
1
W literaturze byłe zaproponowane też rotacje X 4 Z 4 i HX 4 Z 4 H  Z 4 X 4 , które
podobne do tych co rozważaliśmy wyżej. Jednak w tym przypadku osi rotacji nie są
ortogonalnymi, a tworzą kąt 32,650 . Oprócz tego, w tym przypadku prosta Z-Y-Z
dekompozycja dowolnej rotacji na trzy mnożniki nie jest możliwa, ale dekompozycja na
większą niż trzy mnożnika jest możliwa.
Symulacje fizyczne za pomocą komputera. Wkład Feynmana
W 1982 i 1985 roku Richard Feynman opublikował dwa artykuły, z których powstała
dziedzina informatyki kwantowej. Oba artykuły to są referaty zaproszone na konferencjach, a
interes Feynmana był inicjowany przedstawieniem przez Fredkina, Bennetta i Toffoli
rewersyjnych obliczeń. W pierwszym ze swoich artykułów Feynman rozważał metody
symulacji różnych układów fizycznych za pomocą komputerów. Symulacje deterministyczne
układów kwantowych na komputerze kwantowym napotykają się na problemy, ponieważ
potrzebne resursy rosną eksponencjalnie ze zwiększeniem rozmiarów układu. Nawet dla kilku
cząstek o spinie 1/2 bez jakiś innych stopni swobody rozmiar przestrzeni Hilberta jest nie do
zrealizowania. Sytuacja znacznie pogarsza się jeżeli musimy uwzględnić dodatkowe (ciągłe)
stopni swobody cząstek. Z drugiej strony, klasyczna (deterministyczna) dynamika jest
znaczniej prostsza dla symulacji ponieważ ona jest lokalna, przyczynowa i odwracalna.
Oczywiście taka symulacja zawsze zawiera niektóry rodzaj dyskretyzacji dla możliwych
wartości zmiennych ciągłych takich jak czas, współrzędne, wartości polowe itd. Na przykład
ruch N oddziałujących klasycznych punktowych cząstek w trzech wymiarach opisują 3N
równań ruchu. Liczba różniczkowych równań proporcjonalna do liczby cząstek. Zwykły
numeryczny algorytm dla rozwiązania tych równań ruchu musi zawierać dyskretyzację czasu
i przybliżeń dla różniczek. To daje możliwość przekształcić układ równań różniczkowych do
układu równań algebraicznych. Resurs potrzebny do rozwiązania tego układu równań
algebraicznych będzie rósł jako potęga od liczby cząstek, ale nie jak eksponenta. To oznacza,
że klasyczna deterministyczna dynamika może być efektywnie symulowana za pomocą
komputera.
To już nie jest tak dla klasycznej probabilistycznej dynamiki; nawet jeżeli
deterministyczne symulacje wykonujemy. Dla zrozumienia tego, rozważmy jako przykład
klasyczne równanie dyfuzji
4
p
 D 2 p
t
(8.19)

(gdzie D - współczynnik dyfuzji). pr , t  - gęstość prawdopodobieństwa znalezienia jednej
cząstki, która wykonuje ruch Browna. Dla symulacji różniczkowego równania, musimy
dyskretyzować czas i przestrzeń oraz dynamika musi być aproksymowana zbiorem reguł
przejścia określających ile wynosi prawdopodobieństwo „skoku” do przodu i do tyłu między
sąsiednimi punktami w przestrzeni w każdym czasowym kroku. A zatem ciągła funkcja

p(r , t ) zamienia się na szereg liczb p ik , prawdopodobieństw znalezienia dyfundującą cząstkę

w punkcie przestrzeni ri w chwili t k . Symulacje zachowują ciąg wszystkich tych liczb,
startując z określonej początkowej konfiguracji pi 0 i kończąc w określonej końcowej

konfiguracji piT , gdzie i zawsze przebiega od 1 do S , liczby punktów sieci w której r były
dyskretyzowane. Trudności zaczynają się przy zwiększeniu liczby dyfundujących cząstek.

 
 
Dla dwóch cząstek p(r , t ) musimy zamienić przez p(r1 , r2 , t ) , gdzie r1 i r2 są współrzędne
dwóch cząstek. To doprowadzi do powstawania dyskretyzowanego zespołu liczb p i , j , k , gdzie
 
 
ri i r j są możliwe dyskretne wartości współrzędnych r1 i r2 odpowiednio. Teraz symulacje
muszą na każdy krok czasowy zachowywać ciąg z S 2 liczb. W przypadku N cząstek mamy
S N liczb na jeden krok czasowy, co szybko przerasta pojemności dowolnego komputera
klasycznego. Oczywiście istnieją sytuacje w których nie musimy wychodzić za granicy opisu
w przybliżeniu współrzędnych indywidualnej cząstki, na przykład jeżeli cząstki nie
oddziałują między sobą.
Symulacje probabilistyczne
Symulowanie deterministyczne dynamiki probabilistycznej wymaga zachowania ciągu
wszystkich możliwych (dyskretyzowanych) konfiguracji układu, jak ważnych tak i mających
małe prawdopodobieństwo. Cel symulacji probabilistycznej obejść nie potrzebne straty
resursu przy obliczeniach komputerowych wszystkich możliwych konfiguracji. Symulacje
probabilistyczne konstruują się w taki sposób, żeby przyjść do dowolnego końcowego wyniku
(albo konfiguracji) z takim samym prawdopodobieństwem jak w procesie naturalnym. To
można wykonać bez eksponencjalnego wzrostu resursu przy zwiększeniu liczby cząstek.
Oczywiście dla symulacji probabilistycznych potrzebne jest powtórzenie symulacyjnych
ruchów (plus zastosowania niektórych statystyk dla generacji błędów dla wyników).
5
Faktycznie probabilistyczne symulacje takiego rodzaju wykorzystują każdy dzień w swojej
prace naukowcy i inżynierze w różnych dziedzinach.
Jednak okazuje się, że probabilistyczne symulowanie układów kwantowych na
komputerach kwantowych nie jest możliwe. Fundamentalne przyczyny tego są związane z
naturą korelacji w układach kwantowych. Możliwość probabilistycznej symulacji układów
kwantowych musi zakładać istnienie niektórych „skrytych” klasycznych zmiennych, które nie
dostępne są do obserwatora i uśredniają się przy otrzymaniu rezultatu fizycznego. Jednak jak
omawialiśmy wcześniej istnienie takich zmiennych, jak wskazują nierówności Bella i CHSH,
ograniczają wartości korelacji systemy. Te nierówności nie zgadzają się z kwantową teorią i
jak udowodniono w wielu eksperymentach kwantowych one nie są słuszne. A zatem
konsekwentna symulacja probabilistyczna układów kwantowych na komputerze kwantowym
jest niemożliwa i po raz pierwszy wskazał Feynman. Właśnie ta niemożliwość doprowadziła
Feynmana do sugestii zbadania możliwości symulacji kwantowych za pomocą komputerów
kwantowych.
Komputery kwantowo-mechaniczne. Proste bramki
Drugi artykuł Feynmana zawierał dowolnie detaliczną propozycję kwantowej
realizacji klasycznych obliczeniowych zadań. Z artykułu wynika też, że Feynman dobrze
rozumiał problem czułości układów kwantowych ku małym zaburzeniom; jednak on
powiedział: „To badanie jest badaniem zasad; naszym celem jest pokazać, że istnieją niektóre
Hamiltoniany dla układów, które można rozważać jako kandydaci na komputery. Nie
rozważamy, czy istnieją najefektywniejsze układy, nie jak można ich zrealizować”.
Rys.8.1. Lewa część: prosta bramka CNOT. Prawa część: bramka CCNOT (Toffoli)
Już wiemy niektóre odwracalne bramki na poziomie 1-, 2- i 3-bitów:
NOT
maps x 1  x ,
6
(8.20)
CNOT
maps
x, y   x, xXORy  
 x, y  if

x,1  y  if
x0
x 1
,
(8.21)
i bramka Toffoli, kontrolna-kontrolna NOT albo  ( 3) bramka:
C CNOT
maps
x, y, z   x, y, xyXORz  
x, y,1  z  iff

 x, y, z 
x  y 1
otherwise
, (8.22)
gdzie „iff” jest jak zwykle skrótem dla „ jeżeli i tylko jeżeli”. Dwie ostatnie bramki są
pokazane na rys.8.1.
Zwróćmy uwagę, że symbol  symbolizuje XOR albo ekwiwalentnie sumę (addition)
modulo 2. Ponieważ dla wszystkich trzech bramek chociaż jeden bit „flipuje”, wszystkie trzy
bramki są odwracalne, co jak zobaczymy dalej jest ważnym. Rozważając ich jako operatory
kwantowo-mechaniczne, możemy powiedzieć, że są one oczywiście unitarne.
Obwody sumujące
Z tych elementów możemy skonstruować sumator (dokładniej, pół-sumator), który
zawiera dwa wejściowe bity a i b oraz bit przenoszenia (carry bit) c , który na początku był
zerowy (rys.8.2). CCNOT zmienia bit przeniesienia na 1, jeżeli i tylko jeżeli obaj a i b są
równe 1. Wyjściowy bit na średniej linii jest równy 1 jeżeli a  1 i b  0 albo a  0 i b  1
oraz równy zero w innych przypadkach, a zatem otrzymujemy a  b .
Rys.8.2. Obwód sumujący (pół-sumujący)
Kolejnym obwodem (tym obwodem dla którego będziemy konstruować Hamiltonian)
jest pełny sumator (rys.8.3). On zawiera dwa bity danych a i b oraz bit przenoszenia c z
poprzedniej bramki i oblicza a  b  c , plus bit przenoszenia, który jest równy 1, jeżeli dwa
albo więcej a, b, c są równe 1.
7
Co się dzieje się wzdłuż trzech górnych linii jest zupełnie jasne, „trikowym bitem” jest
bit przenoszenia d , osobiście działanie drugiej CCNOT bramki. Zauważmy, że jeżeli
a  b  1, to d  1 poprzez pierwszą CCNOT bramkę.
Rys.8.3. Pełny sumujący obwód
Wtedy kontrolny bit a  b  0 drugiej bramki CCNOT jest równy zero, tak że d nie
powraca z powrotem do 0 w niezależności od wartości c . Istnieje tylko jeden przypadek,
kiedy d zmienia się od 0 do 1 - a  b  1 i c  1 , wtedy istotnie d  1 , jeżeli a  b  c  2 .
Kubitowe operatory podwyższające i obniżające
Przejdźmy teraz od klasyki do kwantów. W tym celu zmapujemy bity na kubity, które
wykorzystują tylko stany bitowe 0   i 1   , ponieważ (obecnie) nas nie interesują
specjalne własności kwantowe związane z zasada superpozycji. Przetłumaczymy bramki i
obwody rozważane wyżej na operatory kwantowo-mechaniczny. Już wiemy, jak odwrócić
(flip) kubit za pomocą operatorów podwyższających i obniżających
S a 
a
S a 
 ;
a
a

a
.
(8.23)
Indeks a prosto wskazuje nam, że mamy do czynienia z kubitem a . Dla kolejnego
rozważania dogodniej
jest
wykorzystywanie trochę innego oznaczenia i
Interpretujemy bazowe stany 0
a
i 1
a
języka.
jak brak albo istnienie cząstki w kubicie a ,
odpowiednio. Ilość cząstek w kubicie a może być albo zero albo 1 i ta liczba może być
zmieniona za pomocą kreacji albo anihilacji „cząstki a -typu”. Te działania wykonują
operator kreacji a  i jego sprzężony operator – operator anihilacji a
a 0
a
 1 a;
a1 a  0
8
a
.
(8.24)
Porównując (8.24) i (8.23) widzimy, że a  odpowiada S a i a odpowiada S a . Podkreślimy,
że będziemy wykorzystywać język operatorów kreacji i anihilacji jako dogodny sposób
rozważać stany kubitów; nie będziemy stosować całej formalnej maszynerii „przedstawienia
liczb obsadzenia”, która wiadoma jest jako „kwantowanie wtórne”.
Przypominając relację S x 



1
X  S   S  , możemy wyrazić operację NOT na
2
2
kubicie a w terminach a -cząsteczkowych operatorów kreacji i anihilacji


NOT (a)  a  a  .
(8.25)
Ponieważ kubit a może być wykorzystany jako kontrolny kubit w CNOT albo CCNOT
bramce, musimy stworzyć operator nie zmieniające stanu a . W nowym języku to oznacza, że
,musi być „licznik liczby a -cząstek” i to można zrealizować za pomocą operatora liczby
cząstek a  a , który jak łatwo sprawdzić spełnia tożsamość
aa x
a
xx
a
x  0,1 .
(8.26)
Dla tego, żeby uwzględnić inne kubity b, c itd., wprowadźmy cząstki b -typu, c typu itd., z odpowiednimi operatorami kreacji i anihilacji b  i b , c  i c itd. Wtedy łatwo
zapisać operator obniżający odpowiadający bramce CNOT z a jako bit kontrolny. Zakłada
się, że ten operator odwraca b jeżeli a  1 i nic nie zmienia jeżeli a  0



 

CNOT (a, b)  b  b  a  a  1b 1a  a  a  b  b   1b a  a  1b1a .
(8.27)
Dla tego, żeby ominąć zbój znaku, zakładamy, że operatory różnych kubitów (albo różnych
miejsc, jeżeli kubity lokalizowane w różnych punktach przestrzeni) komutują. To jest
właściwość cząstek Bose (bozonów), w tym czasie komutacyjna relacja dla cząstki w tym
samym miejscu
a  a  aa   1a ,
(8.28)
jest typową dla cząstek Fermi’jego (fermionów). A zatem cząstki, które wykorzystujemy tu są
nie bozonami, nie fermionami, co doprowadza do niektórych komplikacji jeżeli chcemy
stosować standardową wielo-cząsteczkową technikę obliczeń. Jednak, jak podkreśliliśmy
wyżej, nie chcemy robić tego. Dla kontynuacji budowy „Hamiltonianu, który sumuje”
potrzebne jest stworzenie operatora bramki Toffoli’jego  ( 3) albo CCNOT, który jest
podobny do CNOT
9
 (3) a, b, c   1a1b1c  c   c  1c a  ab  b .
(8.29)
Operator pełnego sumatora może być zapisany korzystając z diagramu przedstawionego na
rys.8.3, zaczynając z lewej strony i zapisując elementarne operatory od początku ku stronie
prawej
CNOT (b, c) (3) b, c, d CNOT a, b  (3) a, b, d  a, b, c,0 
(8.30)
 Ht 
: A4 A3 A2 A1 a, b, c,0  exp   i  a, b, c,0
 

(z oczywistymi określeniami operatorów A1  A4 ). Czy istnieje Hamiltonian H oraz czas t ,
które obaj spełniają to równanie? Oczywiście to nie jest proste pytanie, ponieważ
2
3
1  Ht 
 Ht 
 Ht  1  Ht 
exp   i   1    i     i     i    ,
 
  2
 
6
 


(8.31)
a zatem prawa strona powyższego równania na pełny sumator musi być superpozycją stanów,
na które H działa dowolną liczbę raz, od zera do nieskończoności. Jednak okazuje się, że to
jest możliwe, czyli:

jest możliwość budowy H , takiego żeby pożądany końcowy stan był przedstawiony
(spośród innych) i

jest możliwość rozróżnić pożądany stan od innych stanów.
Trik tu polega na zachowaniu tego, co operatory działy już na wejściowy stan. To
notowanie wykonuje się za pomocą pomocniczych (albo „rabskich”) cząstek. Załóżmy, że
chcemy obliczyć
 f  Ak Ak 1  A1  i
(8.32)
(w naszym przykładzie k  4 ) dla n - kubitowego stanu  i ( n  4 w naszym przykładzie).
Wprowadźmy „szereg” k  1 nowych „programowych kontrolnych kubitów” oznaczonych
indeksem i  0k z odpowiednimi operatorami kreacji i anihilacji q i , q i .
Hamiltonian sumatora
Poszukiwany Hamiltonian wtedy ma postać
k 1


k 1


k 1


H   qi1 qi Ai 1  h.c.   qi1 qi Ai 1  Ai1 qi qi 1   qi1 qi  qi qi 1 Ai 1 .
i 0
i 0
i 0
10
(8.33)
Tu „h.c.” oznacza sprzężenie Hermitowskie (które działa H ) operatorem hermitowskim.
Wykorzystaliśmy fakt, że operatory A są operatorami hermitowskimi, a operatory q
zakładamy komutują między sobą i ze wszystkimi bramkowymi operatorami Ai . Zauważmy,
że liczba „ q cząstek”

k
i 0
qi qi jest stała; będziemy interesować się wyłącznie przypadkiem
jednej cząstki. Działanie Hamiltonianu jest przedstawiono na rys.8.4.
Rys.8.4. Hamiltonian z operatorami rejestru Ai
Gdy „program liczenia cząstek” rusza od położenia i ku położeniu i  1 albo odwrotnie
operator Ai 1 działa na kubity rejestru, gdzie wykonują się obliczenia. Obliczenia startują z
kubitów rejestru w stanie wejściowym  i
i pojedynczy zlicza cząstkę w położeniu 0. A
zatem działanie H  daje
H  1000  0  i  H  1 0100  0 A1  i 

 H   2  0010  0 A2 A1  i  1000  0 A1 A1  i


1

,

 


(8.34)
gdzie wykorzystaliśmy to, że bramki A pokrywają się z ich odwrotnymi bramkami.
Widzimy, że jeżeli program liczenia znajduje się w miejscu l , ostatnim operatorem, które jest
aktywnym jest Al
0
1 0 Al   i .



(8.35)
l
Wtedy kolejne zastosowanie H doprowadza do dwóch możliwości:

l  l  1; Al będzie w drugiej potędze (a zatem będzie skasowany ponieważ on jest
równy swojemu operatorowi odwrotnemu)

l  l  1; Al 1 będzie przedstawiony jako szereg operatorów A .
11
(Ten argument może być oczywiście być transformowany w ścisły dowód za pomocą
indukcji.) Otrzymujemy, że jeżeli nasz stan końcowy zawiera składową z liczoną cząstką w
miejscu k kończymy proces obliczeniowy. Pożądaną składową na wyjściu mamy kiedy


 00 01  f  q k q k exp   i
Ht 
 100 0  i ,
 
(8.36)
gdzie  mnożnik normujący, rozmiar którego może być ważny w praktyce.
Feynman w swoim artykule po skonstruowaniu Hamiltonianu pełnego sumatora
przeszedł ku rozważaniu wpływu niedokładności (na przykład nie dokładnie równe „siły
wiązania” w programowym szeregu sumowania kubitów), uproszczeniu realizacji i bolej
skomplikowanych zadań podobnych realizacji pętli, które wykonują część kodu określonej
długości czasu. Rekomendujemy przeczytać oryginalny artykuł dla zapoznania się z detalami.
12
Download