wstęp do informatyki kwantowej
DESCRIPTION
Witold Jacak Instytut Fizyki Politechnika Wrocławska. Wstęp do informatyki kwantowej. Informacja klasyczna. Informacja klasyczna: nośnik: makroskopowa wielkość fizyczna dostępna jest poprzez klasyczne pomiary: - PowerPoint PPT PresentationTRANSCRIPT
Witold JacakInstytut FizykiPolitechnika Wrocławska
1
2
Informacja klasyczna:
nośnik: makroskopowa wielkość fizyczna dostępna jest poprzez klasyczne pomiary: np. natężenia prądu elektrycznego, napięcia, pojemności kondensatora (typowe klasyczne nośniki informacji), ale też np. długości stołu itp. Pomiar klasyczny jest•Nieniszczący•Powtarzalny •Nie wyróżnia obserwatora Najmniejsza porcja informacji klasycznej jest klasyczny bit
Informacja klasyczna może podlegać zaburzeniom otoczenia – ale w ramach klasycznej termodynamiki – stąd w odniesieniu do informacji klasycznej można wprowadzić pojęcie entropii Shannona.
Własności entropii informatycznej ujmowane są w twierdzeniach Shannona (przepustowości kanału informacyjnego). Ewolucja informacji klasycznej (czy układu klasycznego) przebiega wg klasycznej dynamiki (klasycznej mechaniki, klasycznej elektrodynamiki, termodynamiki) Podstawową własnością klasycznej ewolucji jest determinizm (związany z trajektorią wynikającą z rozwiązania równania dynamiki Newtona)
Ten determinizm stoi u podstaw klasycznej algorytmiki
i
iii ppSp ln,
3
Informacja kwantowa:
nośnik: mikroskopowa wielkość fizyczna dostępna jest poprzez pomiar układu kwantowego, np. stanu pojedynczego elektronu, atomu czy fotonu Pomiar kwantowy jest•Niszczący •Niepowtarzalny•Wyróżnia obserwatora Najmniejsza porcja informacji kwantowej jest tzw. qubit (odpowiednik klasycznego bitu)
Informacja kwantowa też podlega zaburzeniom otoczenia, ale wtedy ginie nieodwracalnie (jest to zjawisko dekoherencji – układ kwantowy „zapomina” informację – informacja wypływa do otoczenia i jest tracona) Informacja kwantowa zachowuje się w czasie wg mechaniki kwantowej, ma też inny charakter niż klasyczna - dopasowany do kwantowego opisu. Także można tutaj mówić o determinizm – trajektoria w przestrzeni Hilberta algorytmika
4
1. Funkcja falowa opisująca układ kwantowy należy do przestrzeni Hilberta
Przestrzeń Hilberta – zupełna przestrzeń metryczna z metryką zadaną przez iloczyn skalarny
00,0
**
*
H jest zupełna wg. normy
5
3. Żeby funkcja falowa należała do przestrzeni Hilberta to powinna być unormowana
tylko operacje unitarne
zachowują normę (w przestrzeni Hilberta zadaną przez iloczyn skalarny)
1
,1, UUUUU
,,,, UUUUUU
UUU
2. Stan układu kwantowego podlega ewolucji zgodnie z równaniem Schrodingera
Ht
i ˆ
6
4. Pomiar kwantowy – rzutowanie von Neumanna
•Obserwable muszą być operatorami hermitowskimi, bo tylko takie mają wartości własne rzeczywiste (możliwe do zinterpretowania)
równanie Schrodingera
Ht
i ˆ
operator Hamiltona (z liniowości i z zachowania normy wynika, że jest hermitowski):
0
0
1
tt
t
HH
HH
HH
Hi
Hi
ˆˆ
0ˆˆ
0ˆˆ
0ˆˆ
7
Jeżeli hamiltonian H nie zależy jawnie od czasu 0ˆˆ
tHi
etdtHd
i
Dowolny operator Aieˆ
jest unitarny gdy AA ˆˆ
1, 0ˆˆˆˆˆˆˆ
eeeeeeeUeU AiAiAiAiAiAiAi
Więc tHi
eˆ
unitarny – czyli ewolucja unitarna
Jeżeli hamiltonian H zależy jawnie od czasu to też ewolucja unitarna
tdttUtdttHi
dtt
ttdtt
,ˆ1
z dokładnością do członów liniowych w dt 1ˆ11ˆ1ˆ1 2
2
dttHdttH
idttH
i
rozpatruje się człony liniowe ponieważ chodzi o określenie różniczki 0ˆ,ˆ
21 tHtH
jeżeli by całkować różniczki to postać operatora nie byłaby postaci eksponenty tylko T-eksponenty
8
W ogólności każda rozpatrywana ewolucja zamkniętego układu kwantowego jest unitarna
•zdeterminowana w przestrzeni Hilberta przez trajektorię •w przestrzeni fazowej dalej nie ma trajektorii
Na podstawie hamiltonianu można określić przeszłość i przyszłość układu – więc określić jego zachowanie, czyli zaprogramować
Taka ewolucja zaprogramowanego układu kwantowego jest realizacją pewnych założonych procedur czyli jest programem komputera kwantowego
DETERMINIZM (kwantowo - trajektoria w przestrzeni Hilberta, klasycznie trajektoria wyznaczona przez równanie Newtona)
9
Rzutowanie von Neumana
iiiA ˆ ),(),( trctr ii
i
ewolucja unitarnadalsza ewolucja unitarna
pomiar – redukcja f. falowej
),( tr
i
i
równanie własne operatora A
rozłożenie dowolnego stanu w danej chwili t w bazie wektorów własnych operatora A
10
Rzutowanie von Neumana
W wyniku pomiaru, przypadkowo ale z prawdopodobieństwem |ci|2 wychodzi wynik i a stan (r,t) zamieniany jest w odpowiednią funkcję własną i. Funkcja ta nie ma związku przyczynowego z mierzonym stanem. Od niej kontynuowana jest dalsza ewolucja.
Jest to: •proces nieodwracalny – ponieważ do któregokolwiek stanu końcowego można było być zrzutowanym z bardzo wielu stanów wejściowych i nie wiadomo do którego należałoby wrócić •proces niszczący – niszczona jest pełna informacja zawarta w mierzonym stanie•proces wyróżniający obserwatora
),(),( trctr ii
i
iiiA ˆ
11
Dla operatorów hermitowskich spełnione jest tw. Spektralne
nnnn
nn PPA ˆ,ˆˆ
Operator Pn jest operatorem rzutu na podprzestrzeń własną odpowiadającej n-tej wartości własnej. Operator rzutowania posiada własność:•nilpotentności
•hermitowskości
mmnnnnmmn
nm
PPP
,ˆˆˆ
nnnnnnnn PP ,ˆˆ
W wyniku pomiaru następuje redukcja funkcji falowej do przestrzeni rzutowej -- tzw. kolaps von Neumanna operatora rzutu (podprzestrzeni, na którą następuje rzutowanie) jest zupełnie przypadkowy ale jest określone prawdopodobieństwo tego wyboru:
nnnnn PPPPp ˆˆˆˆ 2
W wyniku pomiaru uzyskuje się wartość
a funkcja kolapsuje do
n
n
n
n
P
P
P
P
ˆ
ˆ
ˆ
ˆ
2
n
12
Macierze gęstości
Jeśli układ A jest w stanie czystym , to można wprowadzić operator rzutowania na ten stan i nazwać go macierzą gęstości:
Dla dowolnej obserwabli M w układzie A mamy wtedy:
MTrMM
i
iAiATr
Dla MA
i i i
MMiiiMiiMiMTr
Zapis stanu czystego w postaci operatora rzutu na ten stan, czyli w postaci macierzy gęstości, i w postaci funkcji falowej, są zatem w pełni ekwiwalentne (dają te same średnie dla dowolnych obserwabli).
13
Macierz gęstości można jednak wprowadzić ogólniej, tzn. nie tylko dla stanów czystych układu A, wtedy nie będzie ona operatorem rzutu na jakiś stan (bo układ A nie jest wtedy w określonym stanie czystym).
Taką sytuację mamy gdy układ A oddziałuje z układem B i razem tworzą zamknięty układ A+B, który jako całość jest już w stanie czystym,
Wspólna macierz gęstości układu A+B dla tego stanu jest równa:
BAABHH
ABABAB
BAri
irABria
,
W przestrzeniach Hilberta układów A i B wybieramy bazy: A
i B
r
Jeśli z macierzy gęstości dla pełnego układu A+B (będącego w stanie czystym) wziąć teraz ślad po układzie B, to otrzymamy macierz gęstości dla układu A oddziałującego z B (i przez to nie będącego w stanie czystym).
.*,
,,,
,,,,
*,, jiaajirspraarrTr
AArjrji
riAABBBspjir
BsjpiBABr
BABBA
14
Mamy zatem dwie sytuacje odnośnie macierzy gęstości stanu A. Dla stanu czystego układu A
jiccAAj
jiiAAA
*
,
i dla stanu układu A będącego częścią złożonego układu A+B (nie jest to stan czysty układu A) .*
,,,
, jiaaTrAArj
rjiriABBA
Różnica polega tu na dodatkowym indeksie r i sumowaniu po nim w przypadku stanu układu będącego częścią układu A+B. W pierwszym przypadku macierz gęstości jest operatorem rzutowania, w drugim nie.
W obu przypadkach macierz gęstości posiada jednak trzy własności:
•jest operatorem hermitowskim,•jest operatorem dodatnio określonym,•ślad macierzy gęstości jest równy 1.
15
5. Iloczyn tensorowy – splątanie kwantowe
dwa podukłady nie oddziałują:
BAB
AAA
BAAB
Ht
i
Ht
i
HHH
ˆ
ˆ
ˆˆˆ
dwa podukłady oddziałują:
stany nieseparowalne
jiBjAiijAB
BAAB
BAAB
BAAB
c
VHHH
,
ˆˆˆˆ
BBAA
BAAB
,
stany separowalne
Iloczyn tensorowy to przestrzeń par i ich liniowych kombinacji
BA
BA
,
221221112121 aaa
Przestrzeń będąca iloczynem tensorowym dwóch podprzestrzeni ma określony następująco iloczyn skalarny:
BABA 21212211 ,,,
16
Qubit – najmniejsza porcja informacji kwantowej
Dowolny stan qubitu należy do dwu-wymiarowej przestrzeni Hilberta, i może być przedstawiony jako superpozycja dwóch stanów ortonormalnych
Przestrzeń Hilberta qubitu może być rozpięta np. na tzw. bazie obliczeniowej:
Wtedy dowolny stan qubitu ma postać
Ale można przyjąć, że jest rzeczywiste (pominąć fazę funkcji falowej)
0 , 1
0 1 2 21 C ,
x 21ie x Rx , 1,0x 0,2
cos2
x
21 sin2
x
2 2sin cos 12 2
0 1
cos 0 sin 12 2
ie
17
0 1 cos 0 sin 12 2
ie
Czyli można zapisać dowolny stan qubitu jako stan z dwoma parametrami będącymi kątami
x
z
y
Wtedy wektor n odpowiada powyższemu opisowi qubitu
ˆ cos sin ,sin sin ,cosn
jest wektorem jednostkowym sfery (Blocha). Sfera Blocha – stan |0> jest opisany wektorem [0,0,1] a stan |1> wektorem [0,0,-1].
ˆ ˆcos sin , 1xn n n
ˆ ˆsin sin , 1yn n n
ˆ ˆcos , 1zn n n
18
Stany splątane dwóch qubitów to stany z przestrzeni Hilberta 4-wymiarowej, która jest iloczynem dwóch przestrzeni qubitów (2-wymiarowych), takie że nie można ich separować na prosty iloczyn tensorowy stanów obu qubitów. W 4-wymiarowej przestrzeni Hilberta pary qubitów można wybrać bazę złożoną z samych stanów splątanych. Standardowa baza tej przestrzeni składa się ze stanów niesplątanych:
BA11
BA12
BA21
BA22
Stany te tworzą bazę ON w BA HH
Bazę tę można jednak zmienić na dowolną inną bazę (przy pomocy unitarnej transformacji), w szczególności na bazę złożoną z maksymalnie splątanych stanów (tj. odpowiadających maksymalnie zmieszanemu stanowi zarówno układu A jak i B – wszystkie stany splątane odpowiadają temu samemu stanowi zmieszanemu podukładu A i B )
19
)1221(2
1BABAAB
)1221(2
1BABAAB
)2211(2
1BABAAB
)2211(2
1BABAAB
Wektory te nazywane są stanami Bella, a baza – bazą Bella. Łatwo zauważyć, że baza Bella ma specjalną własność – stany qubitu A wchodzą do wszystkich wektorów Bella w taki sam sposób. Oznacza to, że można uzyskać wszystkie wektory Bella z jednego z nich (np. pierwszego) manipulując tylko stanami qubitu B, a więc przy pomocy tylko lokalnych operacji na układzie B.
Ta własność jest ściśle kwantowa (wynika ze splątania kwantowego – czyli w zasadzie z prostych własności algebraicznych 4-wymiarowej przestrzeni liniowej) i nie ma swojego odpowiednika klasycznego. Ten fakt nosi nazwę supergęstego kodowania.
20
Z postaci stanów Bella wynika, że następujące operacje lokalne na qubicie B pozwalają otrzymać wszystkie stany Bella z jednego, np.
ABABBBBBowatozsamoscioperacja )(22,11
ABABBBBBoobrot )(22,11
ABABBBBBzamiana )(12,21
ABABBBBBoobrotizamiana )(12,21
Oznacza to zdwojenie możliwości kodowania informacji w stosunku do klasycznej pary bitów: 00, 01, 10, 11. W tym klasycznym przypadku, aby otrzymać wszystkie cztery stany pary bitów, należy kodować obydwa bity. Zauważmy, że podobną własność ma także baza standardowa przestrzeni , tj. baza:
(także należy kodować na obu qubitach).
BA11
BA12
BA21
BA22
21
Innym przykładem prostego wykorzystania splątania kwantowego jest zjawisko teleportacji kwantowej.
Jeśli mamy stan cząstki A (qubitu A) w postaci:
AAAcc 21 21 1|||| 2
22
1 cc
i chcemy przesłać (teleportować) ten stan na cząstkę B (qubit B), odległą od cząstki A, to możemy posłużyć się cząstką pomocniczą C (qubitem C), w taki sposób, że przygotowujemy parę cząstek CB w stanie splątanym. Najlepiej w jednym z maksymalnie splątanych stanów Bella – np. w stanie
)1221(2
1BCBCCB
22
Można to zrobić posługując się przyrządem pomiarowym realizującym pomiar na parze cząstek (w tym przypadku CB), tak zorganizowanym, że jego operator hermitowski ma przedstawienie spektralne w postaci operatorów rzutowania na cztery stany Bella qubitów C i B. Taki pomiar – ortogonalne rzutowanie na stany Bella – prowadzi do oddziaływania cząstek (qubitów) C i B, w wyniku którego powstaje jeden ze stanów Bella. Nie wiadomo który – może powstać każdy z jednakowym prawdopodobieństwem, ale z pewnością któryś powstanie. Taki pomiar na parze nieoddziaływujących cząstek prowadzi zatem do ich splątania, czyli jest ich oddziaływaniem.Zakładając zatem, że przygotowaliśmy parę qubitów C i B w stanie
)1221(2
1BCBCCB
cały układ ABC jest w stanie czystym CBAABC
23
CBAABC
)1221(2
1)21( 21 BCBCBA
cc
)}12(
)12(
21(
)21({2
1
21
21
21
21
CCAB
CCAB
CCAB
CCAB
cc
cc
cc
cc ta równość jest oczywistym tożsamościowym związkiem wynikającym z możliwości zapisu tego samego wektora w przestrzeni liniowej (w tym przypadku ośmiowymiarowej) w rozłożeniu na inne wektory (jest to zmiana bazy)
CBA HHH
CBAABC
może być przedstawiony w bazie:
CAB0
CAB0
CAB0
CAB0
CAB1
CAB1
CAB1
CAB1
24
Oczywiście wtedy współczynniki c1 i c2 znajdą się przy qubicie (cząstce C), ale w wielu rożnych kombinacjach. Można powiedzieć, że w tym sensie (nadmiarowo) te współczynniki są od razu przy cząstce C (chociaż wprowadziliśmy je z cząstką A) – tak samo jak przy dowolnej innej cząstce – wynika to z możliwości zmiany bazy w przestrzeniach Hilberta wielo-cząstkowych (wielo-qubitowych) układów.
Jeśli uważać, że nie ma żadnego oddziaływania między cząstkami A, B, i C, ani też oddziaływania otoczenia na te trzy cząstki, to można oddalić cząstkę B (nawet znacznie) od cząstki C, pozostawiając je jednak dalej w stanie splątanym,
)1221(2
1BCBCCB
Następnie można zbliżyć do siebie cząstki A i C i dokonać na tej parze ortogonalnego pomiaru stanów Bella, tzn. wprowadzić ich oddziaływanie za pośrednictwem tego pomiaru. W wyniku tego pomiaru zostanie wybrany (z równym prawdopodobieństwem) któryś z czterech możliwych stanów Bella pary AC, ale równocześnie, wobec powyższego przedstawienia, zostanie wtedy wybrany stan czysty cząstki B.
25
Na przykład gdy po rzutowaniu na stany Bella pary AC znajdzie się ona w stanie
AC
cząstka B będzie wtedy z pewnością w stanie BBcc 12 21
wystarczy wtedy lokalnie na cząstce B (odległej) wykonać zamianę stanów
B1
B2
by otrzymać ten sam stan, jaki na początku miała cząstka A. Z góry nie wiadomo było jednak, który z wyników rzutowania na stany Bella się zrealizuje (tu założyliśmy dla przykładu, że czwarty) i dopiero po jego zrealizowaniu wiadomo co zrobić lokalnie na qubicie B (odległym), żeby otrzymać pożądany stan, taki jak wyjściowy na qubicie A. Tę informację, który ze stanów Bella zrealizował się w pomiarze (zupełnie losowo – zgodnie z ansatzem von Neumanna), należy przesłać do obserwatora przy qubicie B (Bob), za pomocą klasycznych kanałów łączności (informacje te wyśle obserwator qubitu A, który dokonał pomiaru stanów Bella na parze AC - Alice).
26
Fakt konieczności przesłania dodatkowej informacji klasycznej powoduje
•ograniczenie prędkości teleportacji kwantowej przez prędkość światła (w kanale klasycznym), chociaż kwantowa informacja znalazła się na cząstce B natychmiastowo, ale w nieczytelny dla Boba sposób,•układ z informacją klasyczną oznacza co innego, niż układ bez tej informacji klasycznej,•konieczność uczestnictwa obserwatora (Boba) i obserwatora (Alice) w całym procesie teleportacji. Pomiar dokonany przez Alice na parze AC powoduje splątanie cząstek A i C, ale równocześnie rozplątanie cząstek C i B – po tym pomiarze cząstka B jest już w stanie czystym. Natomiast cząstka A jest wtedy w stanie splątanym z C (i para AC nie ma już żadnej informacji o współczynnikach i – ta informacja jest już w całości na B – jest to wynik rzutowania von Neumanna). Jest tu spełniona zasada no-cloning – stan czysty znika z cząstki A i pojawia się na cząstce C, nie ma wiec kopiowania stanu kwantowego, ale jego przesyłanie (teleportacja).
27
źródło EPRsplątane stany
stany Bella
operacje lokalne
A (Alice)
B (Bob)
1
2
3
informacja klasyczna
Schematyczne przedstawienie procesu teleportacji kwantowej: do cząstki 2, splątanej kwantowo z cząstką 3, doplątuje się, przez pomiar na parze 1-2, cząstkę 1, wtedy cząstka 3 odplątuje się, a stan z cząstki 1 może być przeniesiony na cząstkę 3, pod warunkiem wykonania odpowiedniego pomiaru na tej cząstce (skorelowanego z wcześniej nie znanym wynikiem pomiaru na parze 1-2).
Twierdzenia No-cloning Nieznany stan kwantowy nie może zostać
skopiowanyTwierdzenie No-broadcasting Nieznany stan kwantowy nie może zostać
rozgłoszony (konsekwencja tw. No-cloning)Twierdzenie No-deleting Nieznany stan kwantowy nie może zostać
usunięty (względem swojej kopii – odwrócone tw. No-cloning)
28
29
Nieznany stan kwantowy nie może być skopiowany [Wootters W. K., Żurek W. H., Nature 299 802-803 (1982)].
Należy tutaj wyjaśnić, co oznacza „nieznany stan kwantowy”. Rozważmy pojedynczy qubit. Jest to stan rozpięty na bazie dwu-wektorowej. W ogólnym przypadku baza ta jest dowolna, ale jej wektory uważane są za stany „znane”, natomiast qubit z dowolnymi współczynnikami występującymi w kombinacji liniowej wektorów bazowych wybranej bazy nazywany jest stanem „nieznanym”. Nieznany stan odpowiada nieznanym wartościom współczynników definiujących qubit – w przypadku gdy wartości te wynoszą (0,1) lub (1,0) to stan qubitu odpowiada stanom bazy i uważany jest za „znany”.
To twierdzenie można łatwo udowodnić. Wystarczy zauważyć, że gdyby twierdzenie No-cloning nie było prawdziwe to istniałaby możliwość pomiaru niekomutujących wielkości na kopiach stanu, a to przeczyłoby schematowi von Neumanna kwantowego kolapsu na skutek pomiaru.
30
Załóżmy nie wprost, że istnieje operator kopiowania A, zdefiniowany następująco
A s
ˆ ( 1 2 ) ( 1 2 ) ( 1 2 )A s 2 21 1 1 2 2 1 2 2
Okazuje się, że ten operator jest nieliniowy i tym samym narusza warunek liniowości nakładany przez zasadę superpozycji. W konsekwencji taki operator nie może istnieć w ramach liniowej mechaniki kwantowej. Jeżeli jednak założyć jego liniowość, to
ˆ ˆ ˆ( 1 2 ) 1 2 1 1 2 2A s A s A s
co stoi w sprzeczności z poprzednim równaniem. Oba równania można ze sobą uzgodnić tylko w przypadku gdy = 0, = 1, lub = 0, = 1, co oznacza, że kopiowany jest stan znany (wektor z bazy). To kończy dowód.
Załóżmy nie wprost, że kopiowanie jest możliwe. Jako wejście można rozważyć nieznany stan jako wyjście ten sam stan, który zastąpi wcześniejszy stan czysty aparatury kopiującej. Więc początkowy stan aparatury kopiującej oraz kopiowanego stanu można zapisać w następującej formie:
s
Załóżmy dodatkowo, że proces kopiowania jest pewną operacją unitarną aparatury kopiującej, czyli
Us U s
Można rozważyć kopiowanie dwóch stanów czystych
U s
U s
31
32
Można rozważyć iloczyn skalarny obu wcześniejszych równań
, ,U s U s
1
, ,L U s U s s U U s
1
, , , ,s s s s
2, , , ,P
22, ,L P
2
2 0 1x x x x
Stąd stany albo są identyczne albo prostopadłe. Zatem operacja U nie dopuszcza kopiowania dowolnych nieznanych stanów. To kończy dowód.
33
Konsekwencje dla QIP (kwantowego przetwarzania informacji)
•brak możliwości tworzenia kopii kwantowych rejestrów•bezużyteczność klasycznych metod korekcji błędów (bazujących na zwielokrotnieniu kopii informacji)•umożliwienie całkowicie bezpiecznej komunikacji kwantowej (bezpieczeństwo przed atakami hakerów)•umożliwienie natychmiastowej identyfikacji dowolnej formy ataków hakerskich•potwierdzenie zasady nieoznaczoności•potwierdzenie destruktywnego charakteru pomiaru kwantowego•w przypadku gdyby możliwe było kopiowanie wtedy dopuszczalna byłaby natychmiastowa komunikacja (co naruszałoby ograniczenia relatywistyczne) zgodnie z poniższym schematem:
• przygotowanie pary splątanych fotonów – para EPR (związek nazwy ze znanym paradoksem Einsteina-Podolskiego-Rosena)
• na jednej z cząstek dokonywany jest pomiar w wybranej bazie - załóżmy, że jest to pomiar polaryzacji
• druga cząstka posiadać będzie identyczną polaryzację, na skutek splątania – zgodnie z argumentacją paradoksu EPR
• następnie kopiowany jest drugi foton i dokonywany jest pomiar kopii• w ten sposób można określić, w której bazie został zmierzony pierwszy foton
•czyli natychmiastowa komunikacja byłaby możliwa
W informatyce kwantowej można także wprowadzić twierdzenie o braku możliwości rozprzestrzeniania (No-Broadcasting) informacji kwantowej, które wynika z twierdzenia Żurka No-Cloning.
Wykluczenie możliwości kopiowania informacji skutkuje silnym ograniczeniem narzuconym na kantową komunikację.
Kwantowa komunikacja musi przebiegać w trybie jeden-do-jednego, w odróżnieniu od klasycznych systemów np. trasminisji telewizyjnej, druku książek, czy kopiowania lub transmitowania dokumentów elektronicznych.
34
35
Zagadnienia dotyczące usuwania (kasowania) informacji są silnie związane z bezpieczeństwem informacji. W przypadku klasycznego przetwarzania informacji mamy do czynienia z dwoma możliwymi schematami kasowania informacji. Proces kasowania odbywający się przy zachowaniu kopii (ten proces jest odwracalny). Drugi schemat to proces nieodwracalnego wymazania informacji. Taki nieodwracalny proces musi odbywać się zgodnie z prawami fizyki statystycznej – potrzebuje energii – związane z tym rozważania doprowadziły do sformułowania zasady Landauera. W przypadku kwantowego przetwarzania informacji nieodwracalne wymazanie stanu pojedynczego qubitu może zostać wykonane np. poprzez dekoherencję spowodowaną otoczeniem. Proces kasowania przy zachowaniu kopii – odwracalne wymazywanie jest procesem odwrotnym do procesu kopiowania nieznanego stanu – więc także nie jest możliwe. Załóżmy, że dysponujemy pewną liczbą kopii nieznanej informacji. W przypadku klasycznym możliwe jest skasowanie jednej kopii przy zachowaniu drugiej, po czym odtworzenie informacji następuje przy wykorzystaniu pozostałej kopii. W przypadku kwantowym sytuacja jest zupełnie inna. Są tu dwie możliwe sytuacje:•Wymazanie informacji – posiadana jest tylko jedno kopia stanu i ten stan może być zniszczony (przez pomiar, dekoherencje) w sposób nieodwracalny (informacje zostaje całkowicie utracona)•Skasowanie z zachowaniem kopii – w przypadku posiadania przynajmniej dwóch kopii tego samego stanu. Ta sytuacja nie jest jednak możliwa w kwantowym przypadku, ponieważ jest to odwrotny proces do procesu kopiowania.
36
Rozważmy dwu-qubitowy układ oraz pewne otoczenie. Stany dwóch qubitów należą odpowiednio do przestrzeni H1, H2 natomiast stan otoczenia do przestrzeni H3. Czyli stan całego układu należy do przestrzeni będącej iloczynem tensorowym przestrzeni poszczególnych podukładów. Załóżmy, że oba qubity znajdują się w tym samym nieznanym stanie kwantowym |> natomiast otoczenie znajduje się w pewnym stanie |A>. Załóżmy, że transformacja usuwająca informację względem jej kopii jest transformacją liniową L,
321321: L
L
A A
gdzie |> jest stanem „pustym” (dowolnie wybranym), stan |A> jest pomocniczym stanem otoczenia, zależnym od stanu |>. Ogólnie, rozpatrywana transformacja zdefiniowana jest na układzie trzech niesplątanych stanów i zamienia stan |> wobec jego kopii w stan |>.
37
Dla ortogonalnych stanów bazy qubitu mamy
00 0 0A A
11 1 1A A
Należy zwrócić uwagę na to, że jawna postać transformacji dotyczy wyłącznie dwóch identycznych kopii. W przypadku, gdy stany poszczególnych qubitów są różne, transformacja pozostaje niezdefiniowana (dla dwóch różnych stanów nie możemy mówić o odwróceniu w czasie transformacji kopiowania).
2 20 1 , , , 1C
0 1 0 1 0 1L
A A
2 20 0 1 1 0 1 1 0A A A A
0 1L
A
38
Czyli, przyjmując X X XX
2 200 11 01 10A A A
0 1L
A
Jak wspomniane zostało wcześniej, rozpatrywana transformacja L nie posiada jawnej postaci dla różnych stanów, dlatego można założyć dla stanu mieszanego, że,
101 10
2
L
A
01 10 2L
A
2 20 10 1 2A A
0 1 A
39
Wiadomo, z postaci |>, że nie występuje tam zależność od współczynników i .
Aby wcześniejsze było spełnione dla dowolnych i stan |A> musi od nich liniowo zależeć. Stąd to równanie ma rozwiązanie jedynie gdy
1 00 1
2
A A
0 1A A A
Z warunku normalizacji uzyskuje się:
0 1 0 10 1 , 0 1 1A A A A Zgodnie z definicją iloczynu skalarnego,
0 1 0 10 1 , 0 1A A A A
0 1 , 0 1 , 0 1 0 1,A A A A 1
40
, 1
2 20 1 , 0 1 1
0 1 0 1,A A A A 2 2 * *
0 0 1 1 0 1 1 0, , , , 1A A A A A A A A
2 2 * *0 0 1 1 1 0 0 1 1A A A A A A A A
2 2 * *0 0 1 1 1 0 0 1
1
A A A A A A A A
* *0 1 1 0 0A A A A
Z powyższego wynika, że aby ostatnia równość była spełniona dla dowolnych i , to stany A0 i A1 muszą być ortogonalne. Ortogonalność i unormowanie stanów i oznacza, że stan |A> = |A0> + |A1> zawiera tyle samo informacji co stan . Czyli informacja nie została usunięta a jedynie przesunięta, co kończy dowód.
41
Rozważmy liniowy operator A, zdefiniowany następująco
A
Dla dowolnego stanu 0 1
ˆ 0 1 0 1 0 1A
ˆ 0 1 0 1A
2 2ˆ ˆ ˆ0 0 1 1 0 1 1 0A A A
0
1
ˆ 0 0 0
ˆ 1 1 1
ˆ 0 1 1 0
A
A
A
2 2
0 10 1
42
2 20 10 1 0 1
Uzyskujemy równość
Jeśli |> jest niezależne od i , to dla dowolnych i , to stan |> musi być liniową funkcją tych parametrów. Rozwiązanie tego równania przyjmuje zatem postać:
1 00 1 0 1
0 10 1
0 1 0 10 1 , 0 1 1
0 1 0 10 1 , 0 1 , 1
43
2 2 * *0 0 1 1 1 0 0 1
1
1
* *1 0 0 1 0
2 2
0 1 0 1
1
, 1
To prowadzi do warunku 1 0 0 1 0
0 1 Więc jest tym samym co 0 1 koniec dowodu
Konsekwencje
•Bezpieczeństwo kwantowej informacji•Informacja kwantowa jest odporna na różne metody jej usuwania przy zachowaniu kopii
44
Macierze Pauliego , ,X Y Z
0 1
1 0x X
0
0y
iY
i
1 0
0 1z Z
Własności macierzy Pauliego:
det 1i
0iTr
2i I
, 2i j ijk ki
45
Działanie dla stanów z bazy obliczeniowej
0 1
1 0X
0 1 1 00 1
1 0 0 1X
0 1 0 11 0
1 0 1 0X
Działanie dla dowolnego stanu
0 10 1 0 1
1 0X
2X IBramka samoodwracalna
46
Bramka samoodwracalna
Działanie dla stanów z bazy obliczeniowej
Działanie dla dowolnego stanu
0
0
iY
i
0 1 00 1
0 0Yi
ii i
0 0
1 00 1 0
Yi ii
i
00 1 0 1
0Yi i
i ii i
2Y I
47
Bramka samoodwracalna
Działanie dla stanów z bazy obliczeniowej
Działanie dla dowolnego stanu
1 0
0 1Z
1 0 1 10 0
0 1 0 0Z
1 0 0 01 1
0 1 1 1Z
1 00 1 0 1
0 1Z
2Z I
XXX
T
*
01
10
01
10
Yi
iY
i
iY
T
*
0
0
0
0
ZZZ
T
*
10
01
10
01
IXXXX
01
10
01
10
Ii
i
i
iYYYY
0
0
0
0
IZZZZ
10
01
10
01
Macierze Pauliego są unitarne Macierze Pauliego są hermitowskie
48
49
Bramka Hadamarda jest hermitowska i unitarna
Działanie dla stanów z bazy obliczeniowej
Działanie dla dowolnego stanu
1 11
1 12H
1 1 1 11 1 1
0 0 11 1 0 12 2 2
H
1 1 0 11 1 11 0 1
1 1 1 12 2 2H
1 11 10 1 0 1
1 12 2 2 2H
1 11
1 12H H
1 1 1 1 2 0 1 01 1
1 1 1 1 0 2 0 12 2H H I HH
HXH ZHYH YHZH X
Bramka hermitowska i unitarna
Działanie dla stanów z bazy obliczeniowej
Działanie dla dowolnego stanu
1 0
0S
i
1 0 1 10 0
0 0 0S
i
1 0 0 01 1
0 1S i
i i
1 00 1 0 1
0S i
i i
Sii
S
T
0
01
0
01*
Iii
SS
0
01
0
01I
iiSS
0
01
0
01
50
Bramka hermitowska i unitarna
Działanie dla stanów z bazy obliczeniowej
Działanie dla dowolnego stanu
4
1 0
0i
Te
88
8
0
0
ii
i
eT e
e
4
1 0 1 10 0
0 00
T
ie
4
4 4
1 0 001 1
10
iT
i ie
e e
4
4 4
1 00 1 0 1
0
iT
i ie
e e
*
4 4 4
1 0 1 0 1 0
0 0 0
T T
i i iT T
e e e
4 4 4 4
1 0 1 0 1 0 1 0
0 10 0 0i i i i
T T Ie e e
4 4 4 4
1 0 1 0 1 0 1 0
0 10 0 0i i i i
TT Ie e e
51
Działanie dla stanów z bazy obliczeniowej
Działanie dla dowolnego stanu
0
0
i
i
e
e
1 100 0
0 00
ii
i
ee
e
0 001 1
1 10
ii
i
ee
e
00 1 0 1 0 1
0
i ii i i i
i i
e ee e e e
e e
Ta bramka posiada parametr , dlatego powyższą definicję należy traktować, jako definicję całej rodziny takich bramek.
52
Qubit 0 1 2 2
1
x 21ie x
cos2
x
21 sin2
x
cos 0 sin 12 2
ie
Ta reprezentacja kątowa odpowiada współrzędnym sferycznym jednostkowego wektora na sferze Blocha.
ˆ cos sin ,sin sin ,cosn
0 0,0,1 1 0,0, 1
ˆ ˆcos sin , 1xn n n ˆ ˆsin sin , 1yn n n ˆ ˆcos , 1zn n n 53
54
Można zapisać postaci operatory obrotów względem osi x, y, z, o kąt
2i X
xR e
2i Y
yR e
2i Z
zR e
X, Y, Z są macierzami Pauliego (z ich hermitowskości wynika hermitowskość operatorów obrotu)
Funkcje od operatorów zazwyczaj definiuje się poprzez rozwinięcie w szereg potęgowy. W ogólnym przypadku można wykorzystać rozwinięcie Taylora
1 20 00 0 01! 2!
f x f xf x f x x x x x
55
2 3
11 2! 3!
A A A Ae
2i X
xR e
0 1
1 02 2
i iA X
2 2 22 0 1 0 1 1 0
1 0 1 0 0 14 4 4A I
2 3 33 2 0 1 0 1
1 0 1 04 2 8 8
i i iA A A I A
IA k 2
AA k 12
0
1
! 2
nn
xn
iR X
n
2 2 11 1
2 ! 2 2 1 ! 2
k k
k N k N
i iI X
k k
Rozwinięcie w szereg operacji:
56
2 2 1
1 11 1
2 ! 2 2 1 ! 2
k kk k
xk N k N
R I i Xk k
2 1
0
1sin
2 1 !
n
n
n
x xn
2
0
1cos
2 !
n
n
n
x xn
2 2 1
0 0
cos sin2 2
1 1
2 ! 2 2 1 ! 2
n nn n
xn n
R I i Xn n
cos sin2 2
I i X
2i X
xR e
Rozwinięcie w szereg operacji:
2
cos sin2 2
cos sin2 2
sin cos2 2
i X
x
i
R e I i X
i
2
cos sin2 2
cos sin2 2
sin cos2 2
i Y
yR e I i Y
2 cos sin2 2
i Z
zR e I i Z
2
2
cos sin 002 2
0 cos sin 02 2
i
i
ie
i e
ˆ2
ˆ cos sin2 2
i n
n x y zR e I i n X n Y n Z
rotacja wokół dowolnej osi na sferze Blocha:
ˆ , ,x y zn n n nrzeczywisty wektor jednostkowy
, ,X Y Z 57
58
cos sin cos sin
2 2 4 42
sin cos sin cos2 2 4 4
x y
iR R
i
0 1 1 1 1 1
1 0 1 1 1 12 2
i iiH
cos sin 1 0 1 04 4 cos sin0 1 0 12 2 4 4
sin cos4 4
x z
iR R i
i
1 1 0 1 1 1 11 1 1 1 1 11
1 0 1 1 1 1 12 2 2 2 2 2
i i i ii
i i i i
1
2
iH
7
41 1 1
1 1 2 12 2 2
iii i e
2
3iei
nieistotna faza (funkcja falowa określona z dokładnością do fazy)
Wokół osi x i y
Wokół osi x i z
Wokół osi y i z
cos sin 1 0 1 04 4 cos sin
0 1 0 12 2 2sin cos
4 4
y zR R i
1 1 1 0 1 11 1
1 1 0 1 1 12 2i i iH
2i
i e
nieistotna faza (funkcja falowa określona z dokładnością do fazy)
nieistotna faza (funkcja falowa określona z dokładnością do fazy)
59
ˆ2
ˆ cos sin2 2
i n
n x y zR e I i n X n Y n Z
ˆ , ,x y zn n n n , ,X Y Z
ˆ
2 2 2 2ˆ
i n i X i Y i Z
n x y zR e R R R e e e
Można podać podobne dekompozycje (np. ZY)
Każdy obrót można przedstawić jako złożenie trzech obrotów (o określone kąty) wokół dwóch ustalonych osi (niekoniecznie prostopadłych)
Dekompozycja XY:
60
Dowolny jedno-qubitowy unitarny operator (dekompozycja ZY)
iz y zU e R R R
2 2
2 2
cos sin0 02 2
sin cos0 02 2
i i
i
i i
e eU e
e e
2 22
2 2 2
cos sin 02 2
sin cos 02 2
i ii
i
i i i
e e ee
e e e
2cos
2sin
2sin
2cos
2cos
2sin
2sin
2cos
2222
2222
2222
2222
ii
ii
iiii
iiii
i
ee
ee
eeee
eeeee
Dla dowolnej jednostkowej macierzy U, zawsze można znaleźć takie cztery liczby rzeczywiste aby powyższa macierz była równa U
61
Dowód1 2 31
3 4 2 4
1 2 1 3
3 4 2 4
,i i ii
i i i i
re r e re r eU U
r e r e r e r e
1 2 1 23 31 1
3 34 42 4 2 4
1 2 1 21 3 1 3
3 4 3 42 4 2 4
,i i i ii ii i
i ii ii i i i
re r e re r ere r e re r eUU I U U I
r e r e r e r er e r e r e r e
4 3 1 32 1 2 4
3 4 3 11 2 4 2
2 2 2 21 3 1 22 2 2 22 4 3 4
1 2 3 4 1 3 2 4
1 2 3 4 1 3 2 4
1 1
1 1(1) , (2)
0 0
0 0
i ii i
i ii i
r r r r
r r r r
r r e r r e r r e r r e
r r e r r e r r e r r e
1 2 3 4cos , sin , sin , cos2 2 2 2
A A A Ar r r r
3 42 1
3 42 1
1sin 0
21sin 0
2
ii
ii
A e e
A e e
2 1
3 4
10
1 0 11
0
i
i
ae a b ab abe b b
a
2 1 3 4
2 1 3 4i ie e
1 3 4 2
1 3 4 2
1sin 0
21sin 0
2
i i
i i
A e e
A e e
2 1 3 4i ie e
1 3 4 2 2 1 3 4
1
3
4
2 2
2 2
2 2
1
1
1
1
21
21
21
21
21
21
Ten układ równań zawsze posiada nietrywialne rozwiązanie, ponieważ
62
ˆ ˆ ˆi
n m nU e R R R
ˆ2
ˆ cos sin2 2
i m
m x y zR e I i m X m Y m Z
ˆ , ,x y zm m m m
, ,X Y Z
ˆ2
ˆ cos sin2 2
i n
n x y zR e I i n X n Y n Z
ˆ , ,x y zn n n n
Wektory m i n są dowolnymi wektorami jednostkowymi nierównoległymi względem siebie
wektor macierzy Pauliego
63
Dla dowolnej unitarnej operacji jedno-qubitowej U istnieją takie operacje jedno-qubitowe A, B i C, że:
ABC I
iU e AXBXC nieistotnym globalnym przesunięciem fazowym
Dowód
2z yA R R
Niech:2 2y zB R R
2zC R
2 2 2 2z y y z zABC R R R R R
4 4 4 42 4 4 2i Z i Z i Z i Zi Z i Y i Y i Z
I
e e e e e e e e
2 4 4 4 42 4 4 4 4i Zi Z i Z i Z i Z i Z
e e e e e e I
64
Ale y yXR X R
cos sin cos sin cos sin2 2 2 2 2 2
X I i Y X XIX i XYX I i XYX
0 1 0 0 1 0 0 1 0
1 0 0 1 0 0 1 0 0
i i iXYX Y
i i i
cos sin2 2
I i Y
yR a to jest operacja obrotu
2 2 2 2 2 2y z y y zXX
XBX XR I R X XR XX X R R
Ogólnie:
2 2 2 2z y y z z z y zAXBXC R R R R R R R R
i iz y ze AXBXC e R R R U
65
Dokompozycja ZY
2 02
i
z y zH e R R R
Znalezienie macierzy A, B, C
ABC I
iU e AXBXC
2 2
2
0 02 2
y
i i
z y z z y z
R
H e R R R e R XR X R
0zA R2yB R
zC R
2
HXH Z
Inne przedstawienia niektórych operacji jedno-qubitowych
HYH Y HZH X4xHTH R
Bramkę można rozpatrywać jako unitarną operacje na dwóch qubitach: qubicie kontrolnym (control qubit) oraz qubicie docelowym (target qubit)
66
X X
suma modulo 2
67
Działanie bramki CNOT na stany qubitów kontrolnego i docelowego z bazy obliczeniowej 0 , 1 0 , 1
• jeżeli qubit kontrolny znajduje się w stanie |0>, to stan qubitu docelowego nie ulega zmianie
• jeżeli qubit kontrolny znajduje się w stanie |1>, to stan qubitu docelowego zmieni się na przeciwny
0 0 0 0CNOT
0 1 0 1CNOT
1 0 1 1CNOT
1 1 1 0CNOT
Dlatego bramkę CNOT należy rozumieć jako operację kontrolowanej negacji qubitu docelowego
68
a
ba XOR b
a XOR ba b0 0 0
1 0 10 1 1
1 1 0
Bramkę CNOT można interpretować w odniesieniu do klasycznej dwubitowej operacji logicznej XOR, zdefiniowanej następująco:
Bramka CNOT jest pewnym uogólnieniem klasycznej bramki XOR (kwantowe bramki działają nie tylko na stany z bazy, ale także na pełny iloczyn tensorowy przestrzeni Hilberta, w wyniku liniowości; bramka klasyczna zdefiniowana jest wyłącznie na dyskretnym zbiorze logicznych wartości bitów).
Wynik działania bramki CNOT, podobnie jak bramki XOR sprowadza się do sumy modulo 2, co ma sens wyłącznie w stosunku do stanów bazowych (w przypadku bramki kwantowej). Dla wektorów z bazy obliczeniowej można zapisać: CNOT
69
Operację unitarną CNOT można przedstawić jako czterowymiarową unitarną macierz
1 0 0 0
0 1 0 0
0 0 0 1
0 0 1 0
CNOTU
1 0 0 0 1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0 0 1 0 0
0 0 0 1 0 0 0 1 0 0 1 0
0 0 1 0 0 0 1 0 0 0 0 1
CNOT CNOT CNOT CNOTU U I U U
Macierz CNOT jest też hermitowska (jest macierzą rzeczywistą i symetryczną). Z równoczesnej hermitowskości i unitarności wynika, że macierz CNOT jest macierzą samoodwracalną CNOT2 = I
70
Iloczyn tensorowy dwóch qubitów jest opisany przez czterowektor w bazie obliczeniowej iloczynu tensorowego przestrzeni układów dwóch qubitów
1 2 1 2 1 2 1 20 0 , 0 1 , 1 0 , 1 1
Dowolny stan w takiej przestrzeni ma postać:
1 1 2 21 1 2 20 1 0 1
1 2 1 2 1 2 1 21 2 1 2 1 2 1 20 0 0 1 1 0 1 1
1 2 1 2 1 21 2 1 2
1 2 1 2 1 21 2 1 2
1 2 1 2 1 21 2 1 2
1 2 1 2 1 21 2 1 2
0 0 0 0
0 1 0 1
1 0 1 0
1 1 1 1
1 2 1 2 1 2 1 2
1 0 0 0
0 1 0 00 0 , 0 1 , 1 0 , 1 1
0 0 1 0
0 0 0 1
Można przedstawić bazę za pomocą wektorów
71
1 0 0 0 1 1
0 1 0 0 0 0
0 0 0 1 0 0
0 0 1 0 0 0
1 20 0
1 0 0 0 0 0
0 1 0 0 1 1
0 0 0 1 0 0
0 0 1 0 0 0
1 20 1
1 0 0 0 0 0
0 1 0 0 0 0
0 0 0 1 1 0
0 0 1 0 0 1
1 21 1
1 0 0 0 0 0
0 1 0 0 0 0
0 0 0 1 0 1
0 0 1 0 1 0
1 21 0
Działanie bramki CNOT na stany z bazy obliczeniowej wynikami są odpowiednie kolumny macierzy
72
Działanie bramki CNOT na dowolny stan:
1 1 2 21 1 2 20 1 0 1
1 2 1 2
1 2 1 2
1 2 1 2
1 2 1 2
1 0 0 0
0 1 0 0
0 0 0 1
0 0 1 0
1 2 1 2 1 2 1 21 2 1 2 1 2 1 20 0 0 1 1 0 1 1
1 2 2 1 2 21 2 2 1 2 20 0 1 1 0 1
W ogólnym przypadku stan końcowy nie jest stanem separowalnym (w odróżnieniu od początkowego stanu) – tzn. bramka CNOT może służyć jako narzędzie do wprowadzania splątania pomiędzy dwoma qubitami
73
Gdy , wtedy stan qubitu docelowego nie ulega zmianie, natomiast gdy , stan qubitu docelowego działa jednoqubitowa bramka negacji (bramka Pualiego ), zmieniając miejscami współczynniki:
2 2 2 22 2 2 20 1 0 1X
Zatem, bramkę CNOT można zapisać w następującej postaci
2 2
0 0
0 0
0 0
0 0
I
X
CNOT X
I2x2 oznacza trywialną operację tożsamościową dla jednego qubitu
74
można rozważyć układ kopiujący wykorzystując bramkę CNOT w celu zilustrowania twierdzenia No-cloning
0 1 0 0 0 1 0
0 0 1 1CNOT
2 20 0 1 1 0 0 0 1 0 1 1 1
ale
Spełnione tylko dla
1 0 0 0
0 1 0 0 0 0
0 0 0 1 0
0 0 1 0 0
2
2
Oczekiwany rezultat dla dowolnych
75
U U
2 2
0 0
0 0
0 0
0 0
controlled U
I
U
U
Jeżeli qubit kontrolny jest w stanie 1 wtedy na qubicie docelowym wykonywana jest unitarna operacja U. Poniżej postać macierzowa takie operacji
Un
Jeżeli qubit kontrolny jest w stanie 1 wtedy na n qubitach docelowych wykonywana jest n-qubitowa unitarna operacja U.
76
H H
H H
H
H I H I
1 0 1 0
1 1 0 1 0 11 1
1 1 1 0 1 02 2
0 1 0 1
I IH I
I I
H I H
1 1 0 0
1 0 1 1 0 01
0 1 0 0 1 12
0 0 1 1
H HI H
H H
77
H H
Z
controlled ZH I U H I
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
controlled ZU
1 0 1 0 1 0 0 0 1 0 1 0
0 1 0 1 0 1 0 0 0 1 0 11 1
1 0 1 0 0 0 1 0 1 0 1 02 2
0 1 0 1 0 0 0 1 0 1 0 1
0010
0100
1000
0001
1010
0101
1010
0101
1010
0101
1010
0101
2
1
H HZ
controlled ZI H U I H
1 1 0 0 1 0 0 0 1 1 0 0
1 1 0 0 0 1 0 0 1 1 0 01 1
0 0 1 1 0 0 1 0 0 0 1 12 2
0 0 1 1 0 0 0 1 0 0 1 1
0100
1000
0010
0001
1100
1100
0011
0011
1100
1100
0011
0011
2
1
H HZ
78
0 1
2
0 1
2
Wektory zupełnie nieortogonalnej bazy (w stosunku do bazy obliczeniowej)
1 1 2 2
1
0 1 0 1 11
122 2
1
1 1 2 2
1
0 1 0 1 11
122 2
1
1 1 2 2
1
0 1 0 1 11
122 2
1
1 1 2 2
1
0 1 0 1 11
122 2
1
79
Działanie bramki CNOT
1 0 0 0 1 1
0 1 0 0 1 11 1
0 0 0 1 1 12 2
0 0 1 0 1 1
CNOT
1 0 0 0 1 1
0 1 0 0 1 11 1
0 0 0 1 1 12 2
0 0 1 0 1 1
CNOT
1 0 0 0 1 1
0 1 0 0 1 11 1
0 0 0 1 1 12 2
0 0 1 0 1 1
CNOT
1 0 0 0 1 1
0 1 0 0 1 11 1
0 0 0 1 1 12 2
0 0 1 0 1 1
CNOT
• qubit kontrolny zamienił się rolą z qubitem docelowym
• qubit docelowy nie zmienia stanu na skutek działania bramki CNOT
80
H
HH
H0H
1H
Stany bazowe bazy zupełnie nieortogonalnej można uzyskać działając bramką Hadamarda na stany bazy obliczeniowej
Można więc przedstawić postać bramki CNOT ze zmienioną bazą (qubity zmienieją swoją rolę: docelowy kontrolny, kontrolny docelowy)
1 1 1 1
1 1 1 11
1 1 1 12
1 1 1 1
H H
1 0 0 0
0 1 0 0
0 0 0 1
0 0 1 0
CNOT
1 1 1 1
1 1 1 11
1 1 1 12
1 1 1 1
H H
1 1 1 1 1 0 0 0 1 1 1 1
1 1 1 1 0 1 0 0 1 1 1 11
1 1 1 1 0 0 0 1 1 1 1 14
1 1 1 1 0 0 1 0 1 1 1 1
1 0 0 0
0 0 0 1
0 0 1 0
0 1 0 0
0 0 0 0
1 0 1 0
0 1 1 1
1 1 0 1
81
Operację SWAP wprowadza się w celu zrealizowania zamiany stanów dwóch qubitów.
CNOT reversed CNOT
CNOT a b b a
a a b b
1000
0010
0100
0001
0100
1000
0010
0001
0010
0100
1000
0001
0100
1000
0010
0001
1 2 1 2
1 2 1 22 2 1 11 1 2 2
1 2 1 2
1 2 1 2
1 0 0 0
0 0 1 00 1 0 1
0 1 0 0
0 0 0 1
82
1 0
0 ie
U BC A
U
ABC IiU e AXBXC
Jeżeli qubit kontrolny jest w stanie 1 to na qubicie docelowym wykonywana jest kolejno operacja C, X, B, X, A dając w rezultacie operację AXBXC. Jeżeli qubit kontrolny jest w stanie 0 to bramki X nie zostają wykonane a tym samym realizowana jest operacja ABC = I na qubicie docelowym
83
Inputs Outputsa b c a’ b’ c’0 0 0 0 0 00 0 1 0 0 10 1 0 0 1 00 1 1 0 1 11 0 0 1 0 01 0 1 1 0 11 1 0 1 1 11 1 1 1 1 0
a a
b b
c c ab
Bramka Toffoli jest klasyczną bramką odwracalną
Negacja trzeciego bitu zachodzi w przypadku, gdy oba bity kontrolne są w stanie wysokim. Bity kontrolne nie ulegają zmianie podczas działania bramki. Bramka Toffoli jest bramką odwracalną. Ta bramka może zostać wykorzystana do realizacji bramki różnych bramek (AND, NAND, FANOUT)
a
1 ab ab
b b
1 ab0
a a
b b
1 1
a a
a0
84
Kwantową realizację bramki Toffoli jest możliwa dla układu dwóch qubitów kontrolnych i jednego qubitu docelowego. Stany poszczególnych qubitów zapisywane są w bazie obliczeniowej – co umożliwia posługiwanie się sumą modulo 2 (dzięki interpretacji stanów z bazy obliczeniowej na bity klasyczne). Operację Toffoli można oznaczać jako bramkę CCNOT (podwójnie kontrolowaną bramkę negacji)
CCNOT
A B C A B C A B
C
A
B
C A B
A
B
C
A
B
C A B
A
B
X
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 0
CCNOT
85
Inputs Outputsa b c a’ b’ c’0 0 0 0 0 00 0 1 0 0 10 1 0 0 1 00 1 1 1 0 11 0 0 1 0 01 0 1 0 1 11 1 0 1 1 01 1 1 1 1 1
a a
b b
c c
Realizacja bramki AND i NAND
0
abb
a ab
b
1
ab
ab
0ab
ab
Klasyczna bramka Fredkina jest odpowiednikiem kontrolowanej bramki SWAP
86
W przypadku kwantowym można zrealizować bramkę Fredkina w oparciu o kwantową kontrolowaną bramkę SWAP. Operacji SWAP odpowiada następująca definicja
1 2 1 2
1 2 1 22 2 1 11 1 2 2
1 2 1 2
1 2 1 2
1 0 0 0
0 0 1 00 1 0 1
0 1 0 0
0 0 0 1SWAP
Postać macierzowa kontrolowanej bramki SWAP
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
Qubitem kontrolnym jest pierwszy qubit. Jeżeli qubit kontrolny jest w stanie 1 wtedy zamieniane są dwa pozostałe qubity. Natomiast, w przypadku gdy qubit kontrolny będzie w stanie 0 wtedy stany wszystkie qubity pozostaną bez zmian
87
• n qubitów kontrolnych• m qubitów docelowych• gdy każdy z qubitów kontrolnych jest w stanie 1 wtedy na m qubitów
docelowych zostanie zastosowana operacja U
1 21 2 1 2
nx x xnn nC U x x x x x x U 1 2 nx x x
iloczyn bitów odpowiadających odpowiednim stanom bazy obliczeniowej
m
n
U
2 2 2 2
2 2
0
0
n m m n m m
m m
mnI
C UU
88
V VV U
Można przestawić dowolną podwójnie kontrolowaną operację U za pomocą tylko bramek jedno-qubitowych oraz bramek CNOT
2V U
1
2
i I iXV
2V X
Np. bramka CCNOT przedstawiona może być za pomocą operacji V następującej postaci:
IVV
89
H
T
T T
TT T
S
TH
Przykład realizacji CCNOT za pomocą tylko bramki Hadamarda, bramki /8, bramki fazy S oraz bramki CNOT
Bramka Hadamarda H, bramka /8 T, bramka fazy S oraz bramka CNOT (dodatkowo jeszcze bramka ei) tworzą zbiór uniwersalny – tzn. za ich pomocą można zrealizować dowolną operację wieloqubitową
Można pokazać, że pewne zbiory bramek (jedno- i dwu-qubitowych) dają możliwość skonstruowana dowolnych bramek wieloqubitowych
Dowód opiera się na kolejnych konstrukcjach dowolną operację U buduje się z bramek
kontrolowanych przez wiele qubitów bramki kontrolowane przez wiele qubitów bramki
buduje się za pomocą bramek podwójnie kontrolowanych
bramki podwójnie kontrolowane następnie buduje się z bramek CNOT i dowolnych operacji jedno-qubitowych U
dowolne operacje jedno-qubitowe można przybliżyć bramkami jedno-qubitowymi
90
91
Realizacja dowolnej kontrolowanej operacja U za pomocą bramki Hadamarda H, bramki /8 T, bramki fazy S oraz bramki CNOT
Każdą bramkę CCNOT można zrealizować tak jak pokazano wcześniej
Etap 1: realizacja AND qubitów kontrolnych
Etap 3: przywrócenie stanów początkowych qubitom roboczym
U
1
0000n
1 2 3 nx x x x
U Etap 2:
m
n
U
92
000 000
001 001
010 010
011 011
100 111
101 110
110 101
111 100
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0
CNOT kontrolowany przez odwrócony qubit
X X
XX
X X
Jeden qubit kontroluje dwie bramki negacji
93
Każda wielo-qubitowa unitarna operacja może zostać zrealizowana za pomocą uniwersalnego zbioru kwantowych bramek, np. bramki Hadamarda H, bramki /8 T, bramki fazy S oraz bramki CNOT
Dowód tego twierdzenia opiera się na połączeniu trzech konstrukcji:
•Pierwsza konstrukcja wskazuje na możliwość dokładnego przedstawienia dowolnej operacji unitarnej, jako iloczynu operatorów unitarnych działających nietrywialnie na wyłącznie dwa stany (lub mniej) z bazy obliczeniowej (operatory te reprezentowane są przez tzw. macierze dwu-poziomowe).
•Druga konstrukcja wskazuje, że dowolny unitarny operator opisany macierzą dwu-poziomową można przedstawić za pomocą wyłącznie bramek jedno-qubitowych, oraz bramek CNOT.
•Trzecia konstrukcja wskazuje, że każdą wielo-qubitową operację można przedstawić (z dowolną dokładnością) za pomocą bramki Hadamarda H, bramki /8 T, bramki fazy S oraz bramki CNOT
94
a d g
U b e h
c f i
3 2 1 1 2 3U U UU I U U U U
Znalezienie reprezentacji dowolnej macierzy U za pomocą macierzy dwupoziomowych. Analogiczne kroki można wykonać dla macierzy unitarnych o dowolnym wymiarze.
Konstrukcja dla macierzy 3x3
poszukujemy macierzy 1 2 3, ,U U U
Konstrukcja macierzy 1U
* *
2 2 2 2
2 2 2 2
01 0 0
0 0 1 0 0 0
0 0 10 0 1
a b
a b a b
b a
a b a bb U b U
W obu przypadkach, macierz U1 jest macierzą dwupoziomową
95
Iloczyn 1UU
1 0
a d g
U U e h
c f i
Konstrukcja macierzy 2U
* *
2 2 2 2
2 2 2 2
* 00 0
0 0 1 0 0 0 1 0
0 0 1 0
a c
a c a c
c a
a c a c
a
c U c U
Iloczyn 2 1U UU
2 1
1
0
0
d g
U U U e h
f i
96
1 2, ,U U U
2 1U UU
0d g 2 1
1
0
0
d g
U U U e h
f i
Z unitarności macierzy
wynika unitarność iloczynu
Konstrukcja macierzy 3U
* *3
* *
1 0 0
0
0
U e f
h i
Widać, że iloczyn 3 2 1U U UU I
3 2 1 1 2 3U U UU I U U U U
97
Dla dowolnej macierzy unitarnej U w d-wymiarowej przestrzeni Hilberta można zastosować analogiczną do powyższej metodę.
Można znaleźć macierze U1,…,Ud-1 takie, że iloczyn Ud-1Ud-2 …U1U ma w lewym górnym rogu 1, a w pozostałej części pierwszej kolumny i pierwszego rzędu zera. Następnie należy powtórzyć procedurę dla macierzy o rozmiarach (d-1)x(d-1), która znajduje się w prawej dolnej części macierzy Ud-1Ud-2 …U1U.
1
1, 1 2 1
2k
d dU V V k d d
Gdzie macierze Vi są macierzami dwupoziomowymi
12 2 1
2 2 12
n n
n nk
98
Można pokazać, że przy wykorzystaniu wyłącznie jedno-qubitowych bramek oraz bramek CNOT można zrealizować dowolną dwu-poziomową unitarną macierz.
Niech U będzie dowolną macierzą dwupoziomową działającą nietrywialnie na stany: |a> i |b>, gdzie a = a1a2…an oraz b = b1b2…bn to rozwinięcia binarne indeksów stanów a i b
Stosuje się tutaj kod Gray’a (kod binarny) - kolejne wyrazy kodu Gray’a łączą dwie różne liczby binarne a = a1a2…an oraz b = b1b2…bn wyrazami, które różnią się względem siebie dokładnie na jednej pozycji bitowej
Niech a = g1,g2,…,gm będą kolejnymi wyrazami kodu Gray’a, takimi, że g1 = a oraz gm = b (m ≤ n+1).
99
Idea implementacji macierzy dwupoziomowej U
•podejście do przedostatniego wyrazu kodu Gray’a
1 2 1mg g g
1 2 1m mg g g
• zastosowanie kontrolowanej operacji U’,• która jest operacją jedno-qubitową określoną przez implementowaną
macierz dwupoziomową (macierz tą budują współczynniki nietrywialnego działania macierzy dwupoziomowej na dwa stany)
na qubicie odpowiadającym miejscu, na którym różni się przedostatni i ostatni wyraz kodu Gray’a
• następnie powrót do stanu a za zgodnie z kolejnymi wyrazami kodu Gray’a
• przejścia pomiędzy kolejnymi wyrazami kodu Gray’a realizuje się za pomocą kontrolowanych bramek negacji
100
Przykładowa macierz dwupoziomowa U i określona operacja jedno-qubitowa
Macierz działa nietrywialnie na stany:
1 2
1 2
3 4
3 4
1 0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0,
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0 0 1
c c
c cU U
c c
c c
1 2
1 3 2 4
3 4
0 0 0 0
1 0
0 0 0 0
0 0 0 0001 001 110 , 110 001 110
0 0 0 0
0 0 0 0
0 1
0 0 0 0
U U
c c
c c c c
c c
101
0 0 10 0 00 1 01 1 0
1q 2q 3q
1a g2g
3g
4b g
Kolejne wyrazu kodu Gray’a
U1q
2q
3q
Jako, że zbiór operacji unitarnych jest ciągły, nie istnieje jednak możliwość przedstawienia go za pomocą dyskretnego zbioru elementów. Można raczej tu mówić o przedstawieniu z dowolnie dobrym przybliżeniem macierzy U
102
Trzecia konstrukcja – uniwersalność skończonego zbioru bramek
Za pomocą bramek Hadamarda H, /8 T można, z dowolnym przybliżeniem, skonstruować dowolną jedno-qubitową bramkę
• bramka T jest obrotem wokół osi z o kąt /4• bramka HTH jest obrotem wokół osi x także o kąt /4• złożenie tych obrotów ma postać:
8 8 cos sin cos sin8 8 8 8
i Z i Xe e I i Z I i X
.8
sin8
sin8
cos8
cos2
ZXiZXiI
cos ,sin ,cos8 8 8
n
Jest to obrót wokół osi
o kąt 2cos cos2 8
103
Czyli za pomocą bramki Hadamarda H i /8 T można zbudować bramkę obrotu wokół osi n o kąt
kąt jest niewymierną wielokrotnością 2, co daje możliwość wypełnienia tym kątem przedziału (0, 2] odpowiednio gęsto, stosując tylko powtórzenie obrotu.
nR
nR
0,
2,N N Z
0,2 , mod 2k k k
, 1, ,
2k j
j k N N
k j k j k j 0k j l k j
ˆ ˆ0
,3
n
n nn
E R R
określona dokładność
przy zmianie l można zapełnić odpowiednio gęsto zbiór (0, 2]
104
Dodatkowo można zmienić oś obrotu za pomocą bramek Hadamarda
ˆ ˆn mHR H R
cos ,sin ,cos8 8 8
n
cos , sin ,cos
8 8 8
ˆ ˆ,3
n
m mE R R
Dowolna unitarna jedno-qubitowa operacja U może być przedstawiona, z dokładnością do fazy, w postaci
ˆ ˆ ˆn m nU R R R
1 2 3
ˆ ˆ ˆ,n n n
n m nE U R H R H R
Co kończy trzecią konstrukcję i cały dowód uniwersalności bramek
105
212112
12212
1
212112
12212
1
212112
22112
1
212112
22112
1
Stany Bella
Te stany są czasem nazywane stanami EPR w związku z paradoksem Einsteina-Podolskiego-Rosena. Stany Bella są maksymalnie zmieszanymi stanami układu dwóch qubitów (ze środka odpowiedniej sfery Blocha)
1 2 1 2 1 2 1 20 0 , 0 1 , 1 0 , 1 1
Stany Bella – maksymalnie splątane stany rozpięte na bazie obliczeniowej układu dwóch qubitów
106
H
1 0 0 0
1 1 0 1 0 01
1 1 0 0 0 12
0 0 1 0
H I CNOT I
12
12
12
12
10 0 0 0 1 1
21
0 1 0 1 1 021
1 0 0 0 1 12
11 1 0 1 1 0
2
107
pomiar
pomiar
H
H
1P
2P
2PX 1PZ
A
C
BC
0 10 1 0 0 1 1
2ABC A A A B C B CBC
10 0 0 1 1 1 0 0 1 1
2 A B C B C A B C B C
W pierwszym kroku
Po zadziałaniu bramki CNOT na qubity A i B stan całego układu ulegnie zmianie
1 10 0 0 1 1 1 1 0 0 1
2ABC A B C B C A B C B C
108
Następnie na qubit A jest poddany działaniu bramki Hadamarda, co zmieni stan układu na:
2 10 1 0 0 1 1
2ABC A A B C B C
0 1 1 0 0 1A A B C B C
lub inaczej: 2 1
0 1 0 0 1 12ABC A A B C B C
0 1 1 0 0 1A A B C B C
10 0 0 0 1 1
2 A B C A B C
1 0 0 1 1 1A B C A B C
0 1 0 0 0 1A B C A B C
1 1 0 1 0 1A B C A B C
10 0 0 1 0 1 1 0
2 A B C C A B C C
1 0 0 1 1 1 0 1A B C C A B C C
109
Można finalnie zapisać powiązanie między wynikiem pomiaru qubitów A i B a stanem końcowym qubitu C
0 0 0 1
0 1 0 1
1 0 0 1
1 1 0 1
A B C C
A B C C
A B C C
A B C C
Bramki realizujące pomiaru na qubitach A i B kontrolują odpowiednio operacje X i Z działające na qubicie C aby doprowadzić go finalnie do porządanego stanu, w którym współczynniki a i b będą występować w kombinacji liniowej w identycznym sposób jak w przypadku początkowego stanu qubitu A
110
Kwantowa równoległość jest szeroko wykorzystywana w różnych kwantowych algorytmach. W dużym uproszczeniu można powiedzieć, że równoległość przetwarzania kwantowego polega na jednoczesnym obliczeniu wartości funkcji dla różnych argumentów (obliczeniu w sensie kwantowym, niedostępnym dla klasycznego obserwatora).
: 0,1 0,1f x
Przykład: dwu-qubitowy komputer kwantowy – stan początkowy komputera kwantowego niech będzie postaci a b
:fU a b a b f a 0b f a
Jeśli stan wejściowy postaci
0 1
2a
to
0 0 1 1
2
f f wartość funkcji została natychmiastowo obliczona dla dwóch różnych argumentów – natychmiastowa równoległość
Uwaga: dostęp do tych wyników tylko przez pomiar kwantowy!
111
1. W związku z wymogiem odwracalności operacji komputery kwantowe muszą posiadać rejestry wejściowe i wyjściowe równych rozmiarów.
2. Rejestr wejściowy składa się z:• n qubitów definiujących liczbę całkowitą x – w reprezentacji bitowej zapisaną
za pomocą n bitów (dla n qubitów można wyreprezentować liczby całkowite do 2n)
• m qubitów potrzebnych do wyreprezentowania wyników określonej funkcji f(x)3. Rejestr wyjściowy składa się z:• niezmienionych n qubitów wejściowych• m qubitów, które przyjmą wartości funkcji f(x).Gdyby nie uwzględnić dodatkowych m qubitów (oprócz n qubitów) pojawiłby się
problem z odwracalnością operacji dla funkcji nieróżnowartościowych – operacja taka nie byłaby unitarna. Dla funkcji różnowartościowej m = n
112
mnmnf xfyxyxU
mnmnmnf xfxxfxxU 00
yxxfxfyxxfyxUyxUU fff
111001002
110
2
110
2
10000 HHHH
n
n
xnnn
xH2
022
10
n
n
xmnnmnm xIH
2
02
0
2
100
nnn
xmnn
xmnfn
xmnnf xfxxUxU
2
02
2
02
2
02 2
10
2
10
2
1
113
Uzyskany stan, w przypadku klasycznego obliczania wartości funkcji , wymagałby obliczenia wartości dla wszystkich x – w przypadku kwantowym stan ten otrzymany jest natychmiastowo. Można dokonać obliczeń np. dla 100 qubitów, po zastosowaniu 100-krotnego iloczynu tensorowego bramek Hadamarda, oraz po zastosowaniu operacji unitarnej, uzyskana zostanie superpozycja 2100 stanów, a to odpowiada około 1030 obliczeń wartości funkcji f. Jednakże, pojawia się tutaj problem – wynikowy stan jest nieznany, a klasycznie możliwe jest odczytanie tylko jego małego fragmentu. Np. po dokonaniu pomiaru uzyskana zostanie tylko jedna losowa wartość (w związku z równowagowym rozkładem prawdopodobieństwa w równowagowej superpozycji).
nnn
xmnn
xmnfn
xmnnf xfxxUxU
2
02
2
02
2
02 2
10
2
10
2
1
114
Kwantowe procedury realizowane na komputerach kwantowych mogą znacznie przyspieszyć niektóre obliczenia matematyczne. Bardzo istotną transformacją z punktu widzenia kwantowych algorytmów jest transformata Fouriera.
Dyskretna klasyczna transformata Fouriera
21
0
1 nkN iN
n
F eN
w N-wymiarowej przestrzeni. Jej działanie na zespolony wektor x0,x1,…,xN-1 można zapisać w postaci,
21
0
1 nkN iN
n kn
e x yN
gdzie y0,y1,…,yN-1 jest wyjściowym zespolonym wektorem
115
n
N
y
ixy
nFT yeN
xUn
0
2
21
xy zwykle mnożenie, x i y liczby numerujące n-qubitowy stan
Kwantowa transformacja Fouriera
yeN
xxx
xyeN
yxyxeN
yeN
xxUxxxU
N
y
ixy
n
N
x
n
N
x
N
y
ixy
n
N
x
ixyN
y
n
N
y
ixyN
x
N
xnFT
N
xnFT
n
nn
n
0
2
2
0
0 0
2
2
0
2
2
0
0
2
2
000
1,
11
1
Działanie kwantowej transformaty Fouriera na superpozycję stanów bazowych
116
W przypadku gdy jj rozważana suma jest sumą szeregu geometrycznego
1 1
1
21
1 10
1 j kN iN
k
j e kN
2 2
2
21
2 20
1 j kN iN
k
j e kN
1 1 2 2
1
2
2 21
2 1 2 100
1 1 j k j kN i iN N
kk
j j e e k kN N
1 1 2 2 1 1 2 1
1 1
2
2 2 2 21 1
120 00
1 1j k j k j k j kN Ni i i iN N N N
k kk
e e e eN N
11 2
1
21
0
1 kN i j jN
k
eN
11 2
0
1 1
21 1
01 2
0 0
1 11
ki j jN NN
k k
Nj j e e
N N N
11 2
1
21
1 20
1 kN i j jN
k
j j eN
gdy 1 2j j1
1
1
nqS a
q
1 2 1 22 0 2
1 1
1 1 10 ,
i j j i j jN Na k e q e
N N N
1 21 2
1 2 1 2 1 2
22
2 2 2
1 1 1 1 10
11 1 1
i j j i j jN NN
i j j i j j i j jN N N
q e e
qe e e
117
Można wprowadzić odwrotną transformatę Fouriera:
21
0
1 jkN iN
j
k e jN
2 22 21 1 1 1
0 0 0 0
1 1 1x xjk jkjk jkN N N Ni i i iN N N N
xj k j k
k e e k e e kNN N
2 2 21 1 1 1
0 0 0 0
1 1xx
jk jk jN N N Ni i i k kN N N
j k j k
e e k e kN N
xk k
21
00
1 xjN i k k
Nx
jk
Ne k k
N N
xk k
0
11 1
0
0.
1
0
21
0
1
0
2
N
k
geomszeregusuma
N
j
kkN
jiN
j
N
k
kkN
ji xx
ekN
keN
118
W ramach kwantowej transformaty Fouriera można rozważyć układ n qubitów. Odpowiadająca mu przestrzeń Hilberta będzie miała wymiar 2n. Stany bazy obliczeniowej tej przestrzeni można zapisać w konwencji rozwinięć bitowych
0 , , 2 1nj
Dla bazy obliczeniowej,
1 1 , 1, , 0,1n n ij j j j j i n j 1 2 1 0
1 1 2 12 2 2 2n nk n n nj j j j j j j
Działanie kwantowej transformaty Fouriera na stan |j>
22 12
10
1
2
n
n
jki
nnk
F j e k k k k
nnn yyyy 0
22
11 222
119
22 12
10
1
2
n
n
jki
nnk
F j e k k k k
1
1 2
21 1 1(***)2
10 0 0
1
2
nqq
q
n
ki j
nnk k k
e k k
1 2
1 1 1 22
0 0 0 1
1
2
n
kn i j
qnk k k q
e k
1 2
2
01
1
2
q
kn i j
qnkq
e k
2
2
1
10 1
2
q
jn i
nq
e
1 1 2 1 21 1 22 2 2 2 2 2 2 2 21
0 1 0 1 0 12
nn n n ni j i j j i j j j
ne e e
120
Krok (***) w powyższym wyprowadzeniu można przykładowo przedstawić dla n = 3
37 2
21 2 33
0
1
2
ki j
k
e k k k
3 3 3
1 2 32 2 2
2 0 2 2 2
3
1000 001 010 011
2
i j i j i ji je e e e
3 3 3 3
4 5 6 72 2 2 2
2 2 2 2100 101 110 111i j i j i j i j
e e e e
1 1 11 1 1 13 3 31
1
1 2 31 2 2 2 2 2 22 2 2 2 21 1 1 1
0
00 01 10 11i j k i j k i j ki j k
k
e k e k e k e k
1 21 2 1 2 31 2
1 2
11 1 2 2 22 2 2 21 2 1 2
0 0
0 1i j k ki j k k
k k
e k k e k k
3
1 2 31 2 3 1
1 2 3 1 2 3
2 21 1 1 1 1 12 2 2 2
1 2 3 1 2 30 0 0 0 0 0
q
i j ki j k k k
k k k k k k
e k k k e k k k
1 2 3
3 3 31 1 1 12 2 2 2 2 2
0 0 0 01 1 1
0 1q q q
q q
q
i jk i jk i jq q
k k k kq q q
e k e k e
1 2 32 2 2 2 2 20 1 0 1 0 1i j i j i je e e
2 1 01 2 3
1 0 11 2 3
0 1 21 2 3
1 2 31 2 3
2 2 2
2 2 22
2 2 24
2 2 28
j j j j
jj j j
jj j j
jj j j
1 0 1 0 1 2 1 2 31 2 3 1 2 3 1 2 32 2 2 2 2 2 2 2 2 2 2 2
0 1 0 1 0 1i j j j i j j j i j j je e e
1 2 1 2 31 2 3 1 2 332 2 2 2 2 2 22 20 1 0 1 0 1i j j i j j ji je e e
121
1 1 2 1 21 1 22 2 2 2 2 2 2 2 21
0 1 0 1 0 12
nn n n ni j i j j i k j j j
ne e e
H2R
1nR
nRH
2nR
1nR 1j
2j
H
2R
H
1nj
nj
1x
2x
1nx
nx
Postać iloczynowa kwantowej transformaty Fouriera daje możliwość łatwej realizacji bramkowej tej operacji
12 22 2 2
10 1 , , 0 1n nn
jj ji i
nx e x e
122
H2R
1nR
nRH
2nR
1nR 1j
2j
H
2R
H
1nj
nj
1x
2x
1nx
nx
układ składa się z n bramek Hadamarda, z (n-1)+(n-2)+…+1 = (n-1)(n-2)/2 dwu-qubitowych kontrolowanych bramek Rk, oraz z n/2 bramek SWAP (pierwszy z ostatnim, drugi z przedostatnim, itd.)
Bramki Rk mają postać 2
2
1 0
0k
k iR
e
Można prześledzić działanie powyższego układu na przykładowym stanie
1 1n nj j j j
123
0 0
22
1
1 10 1 0 1
2 2
n nj ji
n j i
eH j e
e
1jjn 2
21
10 1
2
njix e
122
1
10 1
2
nji
nH j e
224
1 0
0i
Re
11 22 2
2 42 42 1
1 10 1 0 1
2 2
n nn n
n
j jj j ii ijnR H j e e e
21 jjn
122 4
2
10 1
2
n nj ji
x e
124
102
1 8422
223
12
1
nnn
nn
jjji
njj ejHRR
32 jjn
2 122 4 8
3
10 1
2
n n nj j ji
x e
Powtarzając tą procedurę dla kolejnych stanów otrzyma się wyrażenie na stan
1 2
1 3 22
2 4 21 3 2 1
10 1
2
nn
n n
jj ji
j j j jn nR R R R H j e
Po zastosowaniu operacji SWAP uzyska się stan wyjściowy
1 222 4 21
0 12
nn
jj ji
nx e
125
Stan końcowy całego układu przyjmuje postać
1 1 nx x x x
1 1 22 222 4 2 4 22
1 1 10 1 0 1 0 1
2 2 2
n n nnn
j j jj jj i iie e e
1 1 2 1 21 1 22 2 2 2 2 2 2 2 21
0 1 0 1 0 12
nn n n ni j i j j i j j j
ne e e
FOznaczenie bramkowe operacji kwantowej tranfromaty Fouriera
126
34
22 0
01,
0
01R
eTR
eS ii
H
STS
H
H
2 3 5 6 72 12 2 2 22
8 8 8 8 84 2
6 62 1 2 12 22 2
8 84 2 4 2
3 6 2 7 51 22 2 2 22
8 8 8 8 82 4
1 12 2
2 2
5 722 2
8 84
6 1 22 2
8 2 4
7 6 52 2 2
8 8 8
1 1 1 1 1 1 1 1
1
1 1
11
8 1 1 1
1
1
1
i i i i ii i
i ii i i i
i i i i ii i
i i i
i ii
i i i
i i i
e e e e e e e
e e e e e e
e e e e e e e
e e e
e e e
e e e
e e e
1 12 2
2 2
2 6 312 22
8 8 82
6 1 22 2
8 2 4
3 21 222
8 82 4
1
1
i
i i ii
i i i
i ii i
e
e e e e
e e e
e e e e
Kwantowa transfromata Fouriera dla układu 3 qubitów, w postaci bramkowej i macierzowej
127
W ogólnym przypadku całkowita liczba bramek potrzebnych do realizacji układu kwantowej transformaty Fouriera jest rzędu:
2
22
1
2121 n
nnnnnnn
Wynika z tego, że układ kwantowej transformacji Fouriera jest wydajny (w sensie teorii złożoności), ponieważ jego złożoność jest wielomianowa – O(n2)
W przypadku klasycznym, liczba operacji realizowanych przez klasyczną transformatę Fouriera jest rzędu O(22n) lub dla szybkiej klasycznej transformaty Fouriera O(n2n)
fundamentalny charakter schematu pomiaru w mechanice kwantowej nie wszystkie współczynniki wyliczone kwantową transformatą Fouriera są dostępne dla klasycznego obserwatora, w odróżnieniu od rezultatów klasycznej transformaty Fouriera
128
Problem:
-n-elementowa baza danych (każdy element z bazy występuje jednokrotnie)-poszukiwany element x
Klasycznie:
-bierzemy kolejne elementy i sprawdzamy czy jest to poszukiwany element (?=x)-gdy poszukiwany element jest pierwszy w bazie sukces po pierwszym kroku-gdy poszukiwany element jest ostatni w bazie sukces po n krokach
Klasycznie problem skaluje się wraz z liczbą elementów w bazie, czyli O(n)
Kwantowo:
Lov K. Grover podał algorytm dla komputera kwantowego, który zmniejsza złożoność obliczeniową zagadnienia przeszukiwania bazy danych do O(√n)
129
Algorytm Grovera zakłada istnienie kwantowej procedury określającej, czy poszukiwany element został znaleziony, czyli czy wyreprezentowana przez n qubitów liczba całkowita jest poszukiwaną liczbą, zwracając odpowiedź poprzez funkcję :
0,
1,
x af x
x a
Grover pokazał, że jego algorytm kwantowy – w najgorszym przypadku – nie wymaga sprawdzenia wszystkich 2n elementów (dla poszukiwanej n-bitowej liczby całkowitej), tak jak jego klasyczny odpowiednik. Ale tylko 2n/2 – jest to przespieszenie pierwiastkowe
130
Implementacja tego algorytmu opiera się na unitarnej operacji Uf, która działa na n-qubitowy rejestr wejściowy reprezentujący liczbę x, oraz posiada 1-qubitowy rejestr wyjściowy, którego stan zmienia wartość w przypadku gdy x = a lub pozostaje niezmieniony w przeciwnym przypadku:
1 1f n nU x y x y f x
Przykład takiej operacji:1
x
2x
3x
4x
5x
y 1 2 3 4 5x x x x xX y
1x
2x
3x
4x
5x
131
• W ogólnym przypadku układ działa jak czarna skrzynka i nie jest wiadome, które qubity kontrolują w sposób prosty, a które w sposób odwrotny, działanie bramki X – ta informacja jest określona przez nieznaną liczbę całkowitą a.
• W przypadku klasycznym, należałoby sprawdzać wszystkie kolejne wartości x do momentu, gdy nastąpi zamiana rejestru wyjściowego (dla poszukiwanej n-bitowej liczby całkowitej, w najgorszym przypadku będzie to 2n kroków).
• W przypadku algorytmu Grovera wystarczy wykonać pierwiastek z liczby kroków dla klasycznego algorytmu
132
Przydatne jest odwrócenia operacji zamiany stanu rejestru wyjściowego na operację tylko zmiany znaku stanu wyjściowego. W tym celu wystarczy, aby rejestr wyjściowy był w stanie:
11 0 1
2H 1 1 1
f x
fU x H x H
1 11 0 1 0 1
2 2fU x H x f x x f x f x
1 10 1 1 1 1 0 1 1
2 21 1
0 0 1 0 0 1 1 12 2
f x
f x
x a x x x H
x a x x x H
Zatem, w przypadku x = a, stan całego układ zostanie pomnożony przez czynnik -1
133
Można to przedstawić jako działanie tylko na rejestr wejściowy pewną operacją unitarną V, która działa na bazie obliczeniowej w następujący sposób
,
1,
f x x x aV x x
a x a
2V I a a
, 02
,
x a xV x x a a x
a x a
2V a a
Czyli, dla ogólnego przypadku można zapisać
1 2 1fU H a a H
Można zauważyć, że operacja Uf pozostawia stan H|1> niesplątany z resztą układu i stan ten pozostaje niesplątany z rejestrem wejściowym przez cały czas działania algorytmu – dlatego można ten stan pominąć w zapisie
134
Rozważmy dowolny stan układu wejściowego – jako superpozycję wszystkich możliwych stanów wejściowych
2 1
0
10
2
n
n
n nnx
H x
Oprócz operacji V potrzebna jest także operacja W, która działa podobnie do V, ale nie jest zależna od a. Unitarna transformacja W zachowuje znak współczynnika stojącego przy stanie |> zmieniając znak wszystkich innych stanów na przeciwny:
2W I
Algorytm Grovera sprowadza się do wielokrotnego powtarzania operacji WV
1
2na a
V a a 2
2nV a
W 2
2nW a a
135
Przykładowo2 2
2 2n nWVWVWV WVWVW a WVWV W W a
2 2 2 2 2 21
2 2 2 2 2 2n n n n n nWVWV a WVWV a
Z postaci |> wynika, że |a> i |> są prawie prostopadłe, ponieważ
1 1cos
2na
N
Można zdefiniować stan |a┴> będący znormalizowaną liniową kombinacją stanów |a> i |>, która jest ortogonalna do stanu |a> i tworzy mały kąt = /2 – ze stanem |>. Obliczając sinus kąt mamy:
1 1sin cos
2na
N
dla dostatecznie dużych N można przyjąć, że
1
2n
136
a
a
Można to przedstawić graficznie, odnosząc operacje V i W do odpowiednich obrotów (odbić) względem stanów
137
Ponieważ operacja W pozostawia stan |>, niezmieniony, a dowolny wektor, który jest prostopadły do stanu |> zmienia na przeciwny, więc operację W można traktować jako odbicie lustrzane względem prostej przechodzącej przez środek i wyznaczonej przez stan |>. Operacja V zmienia stan |a> na przeciwny, a dowolny inny wektor prostopadły do stanu |a> pozostawia niezmieniony. Czyli operację można z kolei traktować jako odbicie lustrzane względem prostej wyznaczonej przez stan |a┴>. Operacja WV jest złożeniem dwóch odbić – czyli jest dwuwymiarowym obrotem. Efekt rotacji WV stanu |a┴> - V pozostawia stan |a┴> niezmieniony, a W odbija go względem stanu |>.
a
a
2
V
WV
138
a
a
2
V
WV
Czyli operacja WV jest rotacją o kąt 2. Operacja WV obróci dowolny wektor o 2 w kierunku od stanu |a┴> do stanu |>. Działając WV na stan |> otrzymamy stan obrócony o 3 od stanu |a┴>, bo początkowo |> było obrócone o od stanu |a┴>. Kolejne zastosowanie WV oddala wynikowy stan od |a┴> o kolejne 2.
więc po całkowitej liczbie kroków, która jest najbliższa /4 2n/2, stan wynikowy będzie prawie równoległy do stanu |a>. Liczbę powtórzeń k można wyznaczyć z warunku,
1
2n
1 12 1 2 2
2 22 2
n
n nk k
2
4nk
Zatem, w wyniku pomiaru w bazie obliczeniowej końcowego stanu, z prawdopodobieństwem bliskim 1 uzyska się poszukiwany stan |a>
139
Co wie BOB? Co wie ALICE? Co jest publicznie znane?Dwie liczby pierwsze: c i d,oraz liczby p i q, takie, żecd = 1 (mod(p-1)(q-1))N = pq
Klucz publiczny: c i NKlucz prywatny: d
Wiadomość a do zakodowania.Tylko c (nie zna d), oraz tylko N (nie zna poszczególnych mnożników p i q)Zakodowana wiadomość:b = ac (mod N)
Zakodowana wiadomość bTylko c (nie jest znane d), oraztylko N (nie są znane poszczególne mnożniki p i q)
Dekodowanie:a = bd (mod N)
Komputer kwantowy znajduje okres r, taki żebr = 1 (mod N)Klasyczny komputer znajduje d’ takie, żecd‘ = 1 (mod r)a = bd’ (mod N)
Szyfr RSA
• jeżeli c nie posiada wspólnego dzielnika z (q-1)(p-1) to istnieje takie d, że powyższe spełnione• wiadome jest, że a1+s(p-1)(q-1) = a (mod N=pq) ac (mod N), to jeżeli cd = 1 + s(p-1)(q-1) to
mod
mod
mod
cd
c
d
a a pq
b a pq
b a pq
(z małego twierdzenia Fermata)
140
r = new Random();// p, qp = BigInteger.probablePrime(bitlength, r);q = BigInteger.probablePrime(bitlength, r);// PUBLIC KEY [part 1] modulo N = p*qN = p.multiply(q);// phi = (p-1)*(q-1)phi = p.subtract(BigInteger.ONE).multiply(q.subtract(BigInteger.ONE));// PUBLIC KEY [part 2] GCD(e,phi) = 1e = BigInteger.probablePrime(bitlength/2, r);while (phi.gcd(e).compareTo(BigInteger.ONE) > 0 && e.compareTo(phi) < 0 ) {
e.add(BigInteger.ONE);System.out.print(".");
}//PRIVATE KEY e^(-1)mod(p-1)(q-1)d = e.modInverse(phi);
Przykładowa generacja kluczy w RSA (java)
Natomiast metoda szyfrowania wykorzystuje prostą instrukcję:BigInteger temp = new BigInteger(raw[i]).modPow(e, N);
A metoda deszyfrowania wykorzystuje instrukcję:
BigInteger temp = new BigInteger(tmp).modPow(d, N);
141
Szyfr RSA można złamać, jeśli posiada się szybką metodę wyszukiwania okresu znanej funkcji okresowej:
ZkNbNbkrxf xkrx ,modmod
NNbb
NNb
NNbNb
NNb
rr
r
rr
mod0mod11
mod0mod1
mod1modmod
mod1mod0
0
Nbxf x mod)(
Więc N ma wspólne dzielnik z i z 1rb 1rb
Znając kilka różnych wielokrotności okresu można w z dużym prawdopodobieństwem znaleźć sam okres r, a znając r możemy wyliczyć czynniki liczby N (np. algorytmem Euklidesa)
142
algorytmem Euklidesa: Aby znaleźć wspólny dzielnik dwóch liczb A i B należy wykonać dzielenie
C
Dcalkowitaliczba
C
B
B
Ccalkowitaliczba
B
A
przykład
57
5
07
5
30
30
51
30
35
35
304
35
1707
04
7
28
28
71
28
35
35
284
35
168
oraz
5735
143
15, 8N y
0 1 2 3 4 5 61 8 64 512 4096 32768 2621441 8 4 2 1 8 4
nny
modny N
4r 2
2
21 63 3 73,5
1 65 5 13
r
r
y
y
15, 7N y
0 1 2 3 4 5 61 7 49 343 2041 16807 1176941 7 4 13 1 7 4
nny
modny N
4r 2
2
4
2
1 48 2 33,5
1 50 2 5
r
r
y
y
35, 13N y
0 1 2 3 4 5 61 13 169 2197 28561 371293 48268091 13 29 27 1 13 29
nny
modny N
4r 2 31 168 2 3 7r
y
2 1 170 2 5 17r
y
B
acalkowital
a
B
B
acalkowital
B
A 2
1
1 ..7,5
5
06
5
30
30
51
30
35
35
304
35
1707
04
7
28
28
71
28
35
35
284
35
168
144
• Należy jednak zwrócić uwagę na fakt, że wartości funkcji f(x) = bx (mod N) w odróżnieniu od prostych, gładkich funkcji periodycznych (np. sin, cos, itp.) nie wskazują na żadną prawidłowość – można powiedzieć, że jest to funkcja losowego szumu z okresem.
• Żaden zakres wartości między okresami nie wskazuje na prawdopodobną wartość okresu funkcji.
• Z tego powodu w przypadku klasycznym, próba określenia okresu takiej funkcji sprowadza się do wyliczania wartości f dla losowego zbioru liczb całkowitych do momentu aż nie zostanie znaleziona wartość funkcji identyczna do wyliczonej wcześniej.
Skalowanie Niech n będzie liczbą bitów w reprezentacji binarnej liczby N = pq, wtedy 2n to najniższa
potęga 2 przekraczająca N = pq. Dla liczby 500 cyfrowej w reprezentacji dziesiętnej (typowy rozmiar dla wykorzystań kryptograficznych), liczba bitów w reprezentacji binarnej wynosi około 1700. Podobne skale można przyjąć dla a, b, oraz okresu (mod N) r. Czyli złożoność problemu znalezienia okresu skaluje się ekspotencjalnie z n – O(2n).
W przypadku kwantowym, w związku z istnieniem kwantowej równoległości,
procedura wyliczenia okresu (z prawdopodobieństwem bliskim 1) skaluje się wielomianowo z n.
145
Można rozważyć układ kwantowy, który posiada rejestr wejściowy oraz rejestr wyjściowy. Aby umożliwić reprezentację x oraz f(x) w przedziale od 0 do N, należy przyjąć rozmiary obu rejestrów nie mniejsze niż liczba bitów potrzebnych do wyreprezentowania N. Dla odpowiedniej efektywności przyjmuje się rejestr wejściowy o dwukrotnym rozmiarze. Podwojenie rejestru wejściowego zapewnie zawieranie przynajmniej N pełnych okresów funkcji f.
Działanie rozpoczyna się od skonstruowania stanu
0
2 11
2
n
n nnx
x f x
Czyli najpierw wprowadzamy rejestr wejściowy i wyjściowy w superpozycję bramkami Hadamarda, a następnie działamy operacją Uf
fU x y x y f x
Jeżeli rozważyć pomiar rejestru wyjściowego to w jego wyniku otrzymamy jakąś wartość f0, można wtedy zapisać stan rejestru wejściwoego
146
Pomiar f0 = f(x0)
1
00
1 m
n nk
x krm
0x 00 x r 0 0f x f
m0 2nmr x
najmniejsza wartość x, dla której
najmniejsza liczba całkowita, dla której
2n
mr
21
n
mr
Gdyby posiadać kilka kopii takiego stanu to można by wykonać parę pomiarów, następnie wziąć ich różnicę i w ten sposób otrzymać zbiór różnych wielokrotności okresu, co umożliwiłoby obliczenie samego okresu (np. algorytmem Euklidesa). Jest to jednak niemożliwe zgodnie z twierdzeniem No-cloning. Pojedynczy pomiar zwróci jedynie wartość dla zupełnie losowego x0, co uniemożliwi wydobycie jakiejkolwiek informacji o okresie.
Należy podkreślić, że wykonanie pomiaru rejestru wyjściowego nie jest konieczne – można pracować na całej kombinacji liniowej wyników, co w rezultacie da dodatkową sumę. Taki pomiar można rozważyć teoretycznie i pominąć niepotrzebne człony, nie wpływające na działanie algorytmu.
147
Należy następnie zastosować kwantową transformatę Fouriera
2 1 2 1
0 0
n n
FTx x
U x x x x
22 12
0
1
2
n
n
i xy
ny
x e x
021 2 1 12
00 0 0
1 1 1
2
n
n
i x kr ym m
FT n nk y k
U x kr e ym m
02 22 1 12 2
0 0
1
2
n
n n
i x y i krym
ny k
e e ym
Jeżeli teraz zostanie przeprowadzony pomiar, to prawdopodobieństwo p(y) otrzymania stanu y jest kwadratem współczynnika stającego przy |y>. Czynnik eksponencjalny zniknie pod modułem (problem z losowym x0 także).
148
Czyli można zapisać prawdopodobieństwo takiego pomiaru
221
2
0
1
2n
i krym
nk
p y em
22221 2
22
0 2
1
1
n
n
n
i rymi krym
i ryk
ee
e
21 1 1 1 1 2 2cosi i i i ie e e e e
2 1 cos 2 1 cos 22
2cos 2 1 2sinx x
2 22 1 cos 2 2 1 1 2sin 4sin2 2 2
22 2 2221 22
220 2
2
224sin sin1 2 22
sin1 2 24sin2
n
n
n
ni rymi krym n
i ryk
n n
i rym rmy
ee
i ry rye
finalnie:
2
2
sin1 22 sin
2
n
n
n
rmy
p yrym
149
Okazuje się, że ta funkcja prawdopodobieństwa osiąga maksimum przy y bliskim całkowitej wielokrotności 2n/r. Można rozważyć otoczenie całkowitej wielokrotności 2n/r (np. 1/2) czyli:
2
2
sin1 22 sin
2
n
n
n
rmy
p yrym
2n
j jy y jr
1
2j
2
2
sin1 22
sin2
j
n
j nj
n
rm
p yrm
Wiemy, że m jest liczbą całkowitą bliską 2n/r oraz, że
można zastąpić mr/2n przez 1, oraz zamienić dolny sinus przez bardzo mały argument,
22n NN
r r
2
2 22
2
sin sin sin1 2 1
2 22
nj j j
j n nj j j
n
p yrm mr r
150
02
x
2
sinx
x
1
2j
2
1 2jp y
r
Należy zauważyć, że istnieje przynajmniej r-1 różnych wartości j, okres może być bardzo duża liczbą, wiec widać, że z prawdopodobieństwa minimum 40% otrzymamy założoną wartość y, która znajduje się w otoczeniu 1/2 całkowitej wielokrotności 2n/r
Jeżeli znaleźliśmy y, które jest właśnie w takim otoczeniu to, można zapisać
2
2 22
2
sin sin sin1 2 1
2 22
nj j j
j n nj j j
n
p yrm mr r
1
1
2 2n n
y j
r Znając y oraz n, otrzymujemy zatem przybliżenie na j/r– czyli informację o szukanym okresie