Wstęp do informatyki kwantowej

Download Report

Transcript Wstęp do informatyki kwantowej

Witold Jacak
Instytut Fizyki
Politechnika Wrocławska
1
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.
 p i , S
   p i ln p i
i
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
2
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
3
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
 
 
 0,
 
 0  
 0
           
*
    
*
*
H jest zupełna wg. normy  
 
4
2. Stan układu kwantowego podlega ewolucji zgodnie z równaniem
Schrodingera
i

t
 Hˆ 
3. Żeby funkcja falowa należała do przestrzeni Hilberta to powinna być
unormowana
 
 
tylko operacje unitarne U , UU

1

 U U  1,
zachowują normę (w przestrzeni Hilberta zadaną przez iloczyn skalarny)
U  , U     , U  U     UU  ,    , 
U 

  U U 
  
5
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
i

t
 Hˆ 
operator Hamiltona (z liniowości i z zachowania normy wynika, że jest hermitowski):
  1
i
 

t

t

 Hˆ
0
  
 Hˆ  

t
0
Hˆ


 Hˆ 
i

 Hˆ   0
0
 Hˆ  0
Hˆ  Hˆ

6
Jeżeli hamiltonian H nie zależy jawnie od czasu i 
d

 Hˆ dt   t   e

i Hˆ t

 0 
ˆ
Dowolny operator e iA jest unitarny gdy Aˆ   Aˆ
i Aˆ
U  e ,
Więc e
U


 e

 i Aˆ
 e
 i Aˆ
i Aˆ
 e e
 i Aˆ
 e
 i Aˆ
e
i Aˆ
 e 1
0
i Hˆ t

unitarny – czyli ewolucja unitarna
Jeżeli hamiltonian H zależy jawnie od czasu to też ewolucja unitarna
 t  dt    t  
  t 
t
i

dt   1  Hˆ t dt


z dokładnością do członów liniowych w dt

  t   U t , dt   t 

i
i
1



 1  Hˆ t dt   1  Hˆ t dt   1  2 Hˆ t dt






rozpatruje się człony liniowe ponieważ chodzi o określenie różniczki
Hˆ t
1
, Hˆ t 2  
2
1
0
jeżeli by całkować różniczki to postać operatora nie byłaby postaci eksponenty tylko T-eksponenty
7
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)
8
Rzutowanie von Neumana
Aˆ  i   i  i
równanie własne operatora A

 (r , t ) 

i
ewolucja unitarna

ci i (r , t )
rozłożenie dowolnego stanu
w danej chwili t w bazie
wektorów własnych
operatora A
dalsza ewolucja unitarna

 (r , t )
i
pomiar – redukcja f. falowej
i
9
Rzutowanie von Neumana
Aˆ  i   i  i

 (r , t ) 


ci i (r , t )
i
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
10
Dla operatorów hermitowskich spełnione jest tw. Spektralne
Aˆ 

n
Pˆn ,
Pˆn  

n
n
n
Operator Pn jest operatorem rzutu na podprzestrzeń własną odpowiadającej n-tej
wartości własnej. Operator rzutowania posiada własność:
• nilpotentności
Pˆ Pˆ   Pˆ , 
 

 

n
m
nm
n
n
n
m
m
 nm
• hermitowskości

Pˆn  Pˆn ,

n

n


 

n


n
 
n

n
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:
p n  Pˆn 
2

  Pˆn Pˆn 
  Pˆn 
W wyniku pomiaru uzyskuje się wartość  n
a funkcja kolapsuje do
Pˆn 
Pˆn 

2
Pˆn 
 Pˆn 
11
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:

M


  M   Tr M 


Tr A 
  

i Ai
i


Dla A  M 

Tr M  


 
i

i M i 

i

i M 
 i 



 i i M    M 
i
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).
12
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,

AB
H
A
 H
B
Wspólna macierz gęstości układu A+B dla tego stanu jest równa:
 AB  
AB AB

W przestrzeniach Hilberta układów A i B wybieramy bazy:

AB

a
ir
i
A
 r
i r 
A
B
B
i ,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).


 A  Tr B  AB 

r
B

r  AB r
B

a
r ,i , j , p , s
i, p
a j ,s
*
B
r p
BB
s r
B
i
A A
j 
a
i , j ,r
*
i ,r
a j ,r i
A A
j.
13
Mamy zatem dwie sytuacje odnośnie macierzy gęstości stanu A. Dla stanu
czystego układu A

*
A  
A A
 
cc
i
j
i
AA
j
i, j
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)
  Tr 

a a
i
j.
A
B
AB

i ,r
j ,r
A A
i , j ,r
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.
14
5. Iloczyn tensorowy – splątanie kwantowe
dwa podukłady nie oddziałują:
dwa podukłady oddziałują:
Hˆ AB  Hˆ A  Hˆ B
Hˆ
i
i

A
t

B
t
 Hˆ A 
 Hˆ A 

A
B

AB
A
 
A
  A, 


B
B

B

stany separowalne
AB
 Hˆ
AB
AB
AB
A
 Hˆ B  Vˆ
 

A
B
A B

c
ij
i
A
 
j
B
i, j
stany nieseparowalne

A
B
   A,
 1
 B
Iloczyn tensorowy to przestrzeń par   
i ich liniowych kombinacji
  2    1   2    1   1   1   2   2   1   2   2
a       a         a 
Przestrzeń będąca iloczynem tensorowym dwóch podprzestrzeni ma określony
następująco iloczyn skalarny:    ,   
  ,   ,  
1
1
2
2

A
 B
1
2

A
1
2
B

15
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:  0 , 1
Wtedy dowolny stan qubitu ma postać

 0  1
2
 
2
1
, C
Ale można przyjąć, że  jest rzeczywiste (pominąć fazę funkcji falowej)
 x
 e
 
x  cos  
2
i
1 x
2
x  0 ,1    0, 2 
 
2
1  x  sin  
2
 
2  
sin    cos    1
2
2
2
x,  R

 0  1
cos

2
i
0  e sin

1
2
16

Czyli można zapisać dowolny stan qubitu jako stan z dwoma parametrami
będącymi kątami
 0  1
cos

2
i
0  e sin

1
2
Wtedy wektor n odpowiada powyższemu
opisowi qubitu
nˆ   co s  sin  , sin  sin  , co s 
z

jest wektorem jednostkowym sfery (Blocha).
Sfera Blocha – stan |0> jest opisany wektorem
[0,0,1] a stan |1> wektorem [0,0,-1].
n x  nˆ co s  sin  ,
nˆ  1
n y  nˆ sin  sin  ,
nˆ  1
n z  nˆ co s  ,
y
x
nˆ  1
17
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 4wymiarowej 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:
1
A
 1
B
2
A
 1
B
1
A
 2
B
2
A
 2
B
Stany te tworzą bazę ON w H A  H B
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 )
18



AB



AB



AB



AB
1
2
1
2
1
2
1
2
(1
(1
(1
(1
A
A
A
A
 2
 2
 1
 1
B
B
B
B
 2
 2
 2
 2
A
A
A
A
 1
 1
 2
 2
B
B
B
B
)
)
)
)
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.
19
Z postaci stanów Bella wynika, że następujące operacje lokalne na qubicie B
pozwalają otrzymać wszystkie stany Bella z jednego, np.
1
1
1
1
B
B
B
B
 1
,
B
 1
 2
B
B
  2
2
,
B
B
2
,
2
,
 2
B
2
B
 2
B
 1
tozsamosci owa )



 
AB
B
( obrot o  )



 



 
( zamiana i obrot o  )
AB
AB

AB
B


AB
( zamiana )
B
 1
B
( operacja
AB



 
AB

AB
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: 1  1
2
 1
1  2
2
 2
A
B
A
B
A
B
A
B
(także należy kodować na obu qubitach).
20
Innym przykładem prostego wykorzystania splątania kwantowego jest zjawisko
teleportacji kwantowej.
Jeśli mamy stan cząstki A (qubitu A) w postaci:

A
 c1 1
A
 c2 2
| c1 |  | c 2 |  1
2
A
2
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



CB
1
2
(1
C
 2
B
 2
C
 1
B
)
21
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



CB
1
2
(1
C
 2
B
 2
C
 1
B
)
cały układ ABC jest w stanie czystym

ABC
 
A
 

CB
22


 
ABC
1
{

AB
2


AB


AB


AB
 
A

 ( c1 1
CB
 (  c1 1
 (  c1 1
C
C
 c2 2
 c2 2
C
 ( c1 2
C
 c2 1
C
 ( c1 2
C
 c2 1
C
C
A
 c2 2
)
B
1
(1
C
2
 2
B
 2
C
 1
B
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)
)

)
)} 
H


ABC

 
 0
AB


 1
AB
A
C
C
 


 0
AB

A
 HB  HC
może być przedstawiony w bazie:
CB

)

 1
AB
C
C


 0
AB


 1
AB
C
C


 0
AB


 1
AB
C
C
23
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,



CB
1
2
(1
C
 2
B
 2
C
 1
B
)
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.
24
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 c 1 2
B
 c2 1
B
wystarczy wtedy lokalnie na cząstce B (odległej) wykonać zamianę stanów
1
2
B
B
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).
25
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).
26
A (Alice)
informacja
klasyczna
1
stany Bella
B (Bob)
2
3
źródło EPR
splątane stany
operacje lokalne
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).
27

Twierdzenia No-cloning
 Nieznany stan kwantowy nie może zostać
skopiowany

Twierdzenie 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
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.
29
Załóżmy nie wprost, że istnieje operator kopiowania A, zdefiniowany
następująco
Aˆ    s

  
Aˆ  ( 1   2 )  s   ( 1   2 )  ( 1   2 )

2
1  1   1  2   2  1  
2
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
Aˆ  ( 1   2 )  s    Aˆ  1  s    Aˆ  2  s    1  1   2  2
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.
30
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
  s   U    s
U

  
Można rozważyć kopiowanie dwóch stanów czystych
U   s
U

 s

 

  
31
Można rozważyć iloczyn skalarny obu wcześniejszych równań
 U 
 s  , U    s       ,    



L   U   s  , U    s       s  , U U    s  

1

   s ,   s    ,    s , s    ,  
1
P     ,       ,    ,     ,  
L  P   ,     ,      
2
   


 
2

2
2
x  x  x  0 x 1
2
Stąd stany albo są identyczne albo prostopadłe. Zatem operacja U nie
dopuszcza kopiowania dowolnych nieznanych stanów. To kończy dowód.
32
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
33

W informatyce kwantowej można także wprowadzić
twierdzenie o braku możliwości rozprzestrzeniania (NoBroadcasting) 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-dojednego, w odróżnieniu od klasycznych systemów np.
trasminisji telewizyjnej, druku książek, czy kopiowania lub
transmitowania dokumentów elektronicznych.
34
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.
35
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,
L : 1   2   3  1   2   3
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 |>.
36
Dla ortogonalnych stanów bazy qubitu mamy
0  0  A  0    A0
1  1  A  1    A1
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).
   0   1 ,  ,  C,

0  1

0  0  A 
L
2
  
  0   1

0  1
2


2
 
L
2
1
A   0   1

  A
1  1  A   0  1  A   1  0  A
  A
37
X  X
Czyli, przyjmując

 XX
00  A  
2
2
11  A     01  10   A
L
  0   1

  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,
L
1
2
 01  10   A  
L
   01  10   A 

2
0    A0  
2
  0   1
2  
1    A1 

2  
  A
38
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
 
0    A1  1    A0
2
A
  A0   A1
Z warunku normalizacji uzyskuje się:
 

0   1      A0   A1  ,  0   1      A0   A1   1
Zgodnie z definicją iloczynu skalarnego,
 
 
0   1      A0   A1  ,  0   1      A0   A1 
0   1  ,  0   1 

, 
  
A0   A1  ,  A0   A1 


1
39


2


A0 , A0

1
 0   1  ,  0   1   
 

, 

2
 
A0   A1  ,  A0   A1 
  
2
A1 , A1
A0 A0  
2
2
*
A1 A1   
2
A0 A0  
   
2
A0 , A1
A1 A1   
*
1

   
A1 A0   
*
2
*
 1
A0 A1  1
*
A1 A0   
A1 , A0
*
A0 A1
1

*
A0 A1   
*
A1 A0  0
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.
40
Rozważmy liniowy operator A, zdefiniowany następująco
Aˆ    
Dla dowolnego stanu 

  
 0  1




Aˆ  0   1    0   1    0   1    
Aˆ  0   1    0   1 
2
  Aˆ  0  0
 
2

Aˆ  1  1    Aˆ  0  1    1  0 
Aˆ  0  0

0  0
Aˆ  1  1

1  1



Aˆ  0  1    1  0   

2
0  0  
2
1  1   
41
Uzyskujemy równość

2
0  0  
2
1   1       0   1    
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ć:
  0  1  1   0
    0    1
 0   1     0    1 
 
0   1     0    1  ,  0   1     0    1   1

 
0   1  ,  0   1 
 
 0    1  ,   0    1    1
42





2
 
1
2

   0    1  ,   0    1   1
 

 


0 0  
2

1 1  
2
*
1  0     0 1  1
*
1

*
1  0     0 1  0
*
To prowadzi do warunku
1  0   0 1  0
Więc
jest tym samym co
    0    1

 0  1
koniec dowodu
Konsekwencje
• Bezpieczeństwo kwantowej informacji
• Informacja kwantowa jest odporna na różne metody jej usuwania przy
zachowaniu kopii
43
Macierze Pauliego  
0
x  X 
1
1

0
0
y Y 
i
i 

0 
 X ,Y , Z 
Własności macierzy Pauliego:
d et   i    1
T r  i   0
i  I
2
1
z  Z 
0
0 

1
 i ,  j   2 i ijk  k


44
Działanie dla stanów z bazy obliczeniowej
0

1
1  1  0 
X


0

 1
   
0  0  1 
0

1
1  0  1 
X


1

 0
   
0  1  0 
0
X 
1
1

0
Działanie dla dowolnego stanu
0

1
1      
X



0


1

  0   1
   
0      
Bramka samoodwracalna
X
2
 I
45
Działanie dla stanów z bazy obliczeniowej
0

i
i  1  0 
Y


0


i 1
   
0  0   i 
0

i
i  0   i 
Y


1


 i 0
   
0  1   0 
0
Y 
i
i 

0 
Działanie dla dowolnego stanu
0

i
 i      i  
Y



0


1


  i  0  i 1
  

0      i 
Bramka samoodwracalna Y 2  I
46
Działanie dla stanów z bazy obliczeniowej
1

0
0  1  1 
Z


0


 0
   
1 0  0 
1

0
0  0   0 
Z


1


 1
   
 1   1    1
Działanie dla dowolnego stanu
1

0
1
Z 
0
0 

1
0      
Z



0


1


 0   1
  

1       
Bramka samoodwracalna Z 2  I
47
Macierze Pauliego są hermitowskie
0
X  
1
 0
Y  
 i
1
Z  
0
1
  X
0
i
 Y
0 
0 
 Z
 1 



 0
  
  1
 0
  
   i
 1
  
  0
1

0
*



i

0 
0 

 1 
*
*
Macierze Pauliego są unitarne
T
 X



T



T

X X  XX

0
 
1
Y
 0
Y Y  Y Y  
 i
 Z
1
Z Z  Z Z  
0




1  0
 
0  1
i  0
 
0   i
0  1
 
 1  0
1
  I
0
i
  I
0
0 
  I
 1
48
Działanie dla stanów z bazy obliczeniowej
1 1

2 1
1  1 
1 1 
1
H


0



 
 
1 0 
2 1 
2
1 1

2 1
1  0
1 1 
1
H


1



 
 
1 1 
2   1
2
0
0
 1
1 1
H 

2 1

 1

HXH  Z
H YH   Y
HZH  X
Działanie dla dowolnego stanu
1 1

2 1
1 

1
1   
1    
 
 
H



0


1



0

1
 


1   



2 
2
2

Bramka Hadamarda jest hermitowska i unitarna
H

1 1


2 1
1 
 H
1

H H 
1 1

2 1
1  1

1 1
1  1 2
 
1 2  0
0 1

2 0
0
  I  HH
1

49
Działanie dla stanów z bazy obliczeniowej
1

0
0  1  1 
S
 0
       0 
i  0 0
1

0
0  0 0
S
i 1
       1 
i  1   i 
1
S 
0
0

i
Działanie dla dowolnego stanu
1

0
0      
S
  0  i 1
        0   1 
i     i 
Bramka hermitowska i unitarna
S

 1
  
  0
0

i 
*



T
1
 
0
0 
 S
 i 
1
S S  
0

0  1
 
 i  0
0
  I
i
SS

1
 
0
0  1
 
i  0
0 
  I
 i
50
Działanie dla stanów z bazy obliczeniowej
1

0

0  1
  1 
T



0


 0

   
i
e 4   0   0 
1

0

0  0
0
  
      
i
i
e 4   1   e 4
1
T 
0

0 
 
i
e 4 
T e
i

8


i
T
  1 
e 4 1


  i 8
e

 0


0 
 
i
e 8 
Działanie dla dowolnego stanu
1

0

0  

  
  
   i
i


e 4     e 4 


i
T
   0   1 
 0  e 4 1


Bramka hermitowska i unitarna
T

 1
 

  0
0 
 
i
e 4 
*
T

1
 

0


T
0 
1



i
0
e 4 

0 
   T
i
e 4 
1
T T 
0


TT

1

0

0 1
 
i
e 4   0
0  1
   
i
e 4   0
0 1
 
i
e 4   0
0  1
   
i
e 4   0
0
i

i
4
e
4
0
i
e

4
i


4
 1

 0

 1

 0

0
 I
1
0
 I
1
51
Działanie dla stanów z bazy obliczeniowej
 e i

 0
0  1  1 

i
    0 
e 0
i   
e  0 0
 e i

 0
0  0 0

i


1



e
1





i
1
1
e    
 e i
 
 0
0 
i 
e 
Działanie dla dowolnego stanu
 e i

 0
i

0     e  

i 
i
i
i


e


0


1



e

0

e

1

e
 0   1







i
i


e    e  
 

Ta bramka posiada parametr , dlatego powyższą definicję należy
traktować, jako definicję całej rodziny takich bramek.
52
Qubit

 0  1
  x
 e
i
 
x  cos  
2
cos

2
1 x
1 x
i
0  e sin
2

2
 
1
2
 
 sin  
2
2
1
2
Ta reprezentacja kątowa odpowiada
współrzędnym sferycznym jednostkowego
wektora na sferze Blocha.
0
 0, 0,1
n x  nˆ co s  sin  ,
1
nˆ  1
nˆ   co s  sin  , sin  sin  , co s 

 0, 0,  1
n y  nˆ sin  sin  ,
nˆ  1
n z  nˆ co s  ,
nˆ  1
53
Można zapisać postaci operatory obrotów względem osi x, y, z, o kąt 

R x    e
i
R y    e
i Y
2
R z    e
i
X
2


X, Y, Z są macierzami Pauliego (z ich hermitowskości
wynika hermitowskość operatorów obrotu)
Z
2
Funkcje od operatorów zazwyczaj definiuje się poprzez rozwinięcie w
szereg potęgowy. W ogólnym przypadku można wykorzystać rozwinięcie
Taylora
f  x   f  x0  
f   x0 
1!
 x  x0 
1

f   x 0 
2!
 x  x0 
2

54
Rozwinięcie w szereg operacji: R x     e
e  1
A
A

1
A 
2
A
2
2!
2
 0

4 1

A
R x   

n0
X
2
i  0
A
X  
2
2 1

3!
2
1
 1


0
4 0
10

01
2


i
3
2
  i   0
A  A A
 I 
4  2  1
3
i
n

2
0

I

1
4
1  i 3  0


0
8 1
n
1  i 

 X
n! 2 

kN
A
1  i 3
A

0
8
 i 


 2k !  2 
1
1

0
2k
I

kN
2k
A
 I
2 k 1
 i 


 2 k  1 !  2 
1
 A
2 k 1
X
55
Rozwinięcie w szereg operacji: R x     e
i

X
2
  1 2 n
cos x  
x
n0  2n !

R x   
1
  2 k  !   1
kN
k
 
 
2
2k
I
1
  2 k  1 !   i    1
k
kN
 
 
2
2 k 1
X

sin x 

n0
  1   
R x    I 
 
n0  2n !  2 

n
 
 cos  
2
2n
  i  X


n0
  1
n
 
 
 2 n  1 !  2 
n
  1
n
 2 n  1 !
x
2 n 1
2 n 1
 
 sin  
2
 
 
 cos   I  i sin   X
2
2
56
R x    e
R y    e
R z 
e
i

X
2

i Y
2
i

Z
2

 
 cos  
2
 
 
 cos   I  i sin   X  

2
2
 
  i sin  
2


 
 cos  
2
 
 
 cos   I  i sin   Y  

2
2
 
 sin  
2


 i sin 
2



  
cos   
2 

 sin 
2



  
cos   
2 

 
 
 cos    i sin  
2
2
 
 
 cos   I  i sin   Z  

2
2
0




  i 2
e


 
  
cos    i sin     0
2
 2 
0
rotacja wokół dowolnej osi na sferze Blocha:
R nˆ  
e
i

2
nˆ
 
 
 cos   I  i sin    n x X  n y Y  n z Z
2
2

0 
 
i
e 2 
rzeczywisty wektor jednostkowy

nˆ   n x , n y , n z 
   X ,Y , Z

57
Wokół osi x i y


cos

 
2
Rx   R y    

 2 
  i sin

2
 i sin
 

 sin
cos
2 
4

 

cos
  sin
2 
4
nieistotna faza (funkcja
falowa określona z
dokładnością do fazy)
 
4

 
cos

4 

i  0

2 1
1  1

0  1
1
i 1


1 
2 1
1 
   iH
1 
i  e
3
i 
2
Wokół osi x i z


cos

 
 
4
Rx   Rz    

2
2
 
  
  i sin

4
1  1

2  i
i  1 1  i


1  2 0
 i sin
nieistotna faza (funkcja
falowa określona z
dokładnością do fazy)
 

4 
  cos
 
4
cos

4 
0
 1
  i sin 
1
4 0
1

0
0 
1 1  1 i


1 i
2 2  i  1
0 

1 
i  1
1
1 1
1  i  

1 i 
2
2 1
1  i 
1 
1  i 
H
 
1
2
2

1
2
1  i  1  i  
1
2 1 e
2
Wokół osi y i z
 
R y   Rz 
 2



 cos 4

 sin 


4
 sin
 

4 
  cos
 
2
cos

4 
1

0
0
 1
  i sin 
1
2 0
1 1
 i

2 1
1  1

1 0
nieistotna faza (funkcja
falowa określona z
dokładnością do fazy)
0 

1 
0 
1 1
i

1
2 1
1 
  iH
1
ie
i

2
58
7
i 
4
R nˆ  
e
i

nˆ
2
 
 
 cos   I  i sin    n x X  n y Y  n z Z
2
2
nˆ   n x , n y , n z 

   X ,Y , Z

Dekompozycja XY:
R nˆ  
e
i

2
nˆ
 R x   R y    R z  
e
i

2
i
X
e

2
i
Y
e

Z
2
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)
59
Dowolny jedno-qubitowy unitarny operator (dekompozycja ZY)
U  e Rz    R y   Rz 
i
U e
i


2
e

 0

i
e
i

  cos
0 
2

 

i

e 2   sin

2
 i  i

 e 2 e 2 cos
2



i

i


2
2
sin
 e e
2


 
 sin  
i
2 e

  
cos
 0
2 

2

0 
 
i
e 2 
e
i
  i 2

cos
e
2


 i2

 e sin

2
 i       
2 2 
e
e sin   e 
cos
2


 
i
i
   i    2  2 
2
2
e e cos
 e
sin
2  
i

2
i

2
 

 sin
i
e
e
2

2
e

2



  ei 2
2


 
cos
 0
2 

i
e
  

i    
2 2 

  

i   
2 2 

2
sin

0 
 
i
e 2 
 
2



cos
2 
Dla dowolnej jednostkowej macierzy U, zawsze można znaleźć takie cztery liczby
rzeczywiste ,,,, aby powyższa macierz była równa U
60
Dowód
 r1 e i 1
U   i
3
 r3 e
r2 e
r4 e
i 2
i 4

,

U

 r1 e  i 1

 i 2
 r2 e
2
2

r1  r3  1

2
2
r2  r4  1

(1) 
,
i   
i  2  1 
 r3 r4 e 4 3  0
 r1 r2 e
i   
i  1  2 

 r3 r4 e 3 4  0
 r1 r2 e
1
 i   
i  2  1 
e 3 4 0
 2 sin A e

 1 sin A e  i   2   1   e i   3   4   0
 2




1
i  1  3 
 i   
e 4 2 0
 2 sin A e

 1 sin A e  i   1   3   e i   4   2   0
 2




r3 e
r4 e
 i 3
 i 4



UU

 r1 e i 1

i 3
 r3 e
2
2

r1  r2  1

2
2
r3  r4  1

(2) 
i  1  3 
i   
 r2 r4 e 2 4  0
 r1 r3 e
i  3 1 
i   

 r2 r4 e 4 2  0
 r1 r3 e
e
e
i  2  1 
i  3  4 
e

 a 
 
b
b 

a
i  2  1   3  4 
e
1
r4 e
i 2
i 4
  r1 e  i 1

 i 2
  r2 e
r1  cos
r3 e
r4 e
A
2
,
 i 3
 i 4

  I,

r2  sin
 r1 e  i 1

U U 
 i 2
 r2 e
A
,
2
r3  sin
A
,
2
r3 e
r4 e
 i 3
 i 4
  r1 e i 1

i 3
  r3 e
r4  cos
r2 e
r4 e
i 2
i 4

 I

A
2
0
b
1
r2 e
 ab  1  0  ab   1
e
i  2  1   3  4 
e
i
  2  1   3   4  
0
a
 i
 1   3   4   2  
 2  1   3   4  
 

1    2  2

 


 3   
2 2

 

 4    2  2

Ten układ równań zawsze
posiada nietrywialne
rozwiązanie, ponieważ
1

1
1
2
1
1
2
1
2

1
2

1
2
1
1
2
61
U  e R nˆ    R mˆ    R nˆ  
i
R mˆ  
R nˆ  
e
i
e
i

mˆ 
2

nˆ
2

 
 
 cos   I  i sin    m x X  m y Y  m z Z
2
2
 
 
 cos   I  i sin    n x X  n y Y  n z Z
2
2


Wektory m i n są dowolnymi wektorami jednostkowymi nierównoległymi
względem siebie
mˆ   m x , m y , m z 
   X ,Y , Z

nˆ   n x , n y , n z 
wektor macierzy Pauliego
62
Dla dowolnej unitarnej operacji jedno-qubitowej U istnieją takie operacje jednoqubitowe A, B i C, że:
i
U  e AXBXC
 nieistotnym globalnym
przesunięciem fazowym
ABC  I
Dowód
Niech:
  
   
B  R y    Rz  

2 
 2

 
A  Rz    R y  
2
  
C  Rz 

 2 
 
  
   
  
ABC  Rz    R y   R y    Rz  
R
 z

2 
2
 2

 2 
e
i


Z
2
e
i Y
4

e
i Y
4
e
   
 i 
Z
4 

e
   
 i
Z
 4 
e
i

2
Z
e
  
i
Z
 4 
e
    
i
Z
4


I
e
i

2
Z
i
e

4
Z
i
e

4
i
Z
e

4
Z
i
e

4
Z
e
      
i       Z
 2 4 4 4 4 
 I
63
Ale
X R y    X  R y  


 



 
 
X  cos I  i sin Y  X  cos X IX  i sin X YX  cos   I  i sin   X YX
2
2 
2
2

2
2
0
XYX  
1
10

0 i
i   0

0 1
  
 
cos    I  i sin  
 2
 2

Y

1  i

0 0
0 0

i   1
1  0

0   i
a to jest operacja obrotu
i
  Y
0
R y  

Ogólnie:
  
   
XBX  XR y    I Rz  
 X  XRy
2
2

  XX


  
   
 
   

X
X

X

R
R
y 




 z

2 
 2

2
 2 
 
 
   
  
AXBXC  Rz    R y   R y   Rz 
R
 z
  Rz    R y   Rz 
2
2
2
2
 
 




e A X B X C  e Rz    R y   R z 
i
i

U
64
Dokompozycja ZY
H e
i

2
 
Rz  0  R y   Rz 
 2 
i
U  e AXBXC

ABC  I
Znalezienie macierzy A, B, C

 
H  e Rz  0  R y   Rz 
 2
i
2
e
i

2
  
Rz  0  XR y    X Rz 
 2

 
 Ry  
 2
A  Rz  0 
  
B  Ry   
 2 
C  Rz 

 

2
Inne przedstawienia niektórych operacji jedno-qubitowych
HXH  Z
H YH   Y
H ZH  X
 
HTH  Rx  
 4 
65

Bramkę można rozpatrywać jako unitarną
operacje na dwóch qubitach:
 qubicie kontrolnym (control qubit)
 oraz qubicie docelowym (target qubit)




  


X
X


 suma modulo 2
66
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  0
CNOT
0  1    0  1
CNOT
1  0    1  1
CNOT
1  1    1  0
CNOT
Dlatego bramkę CNOT należy rozumieć jako operację kontrolowanej negacji
qubitu docelowego
67
Bramkę CNOT można interpretować w odniesieniu do klasycznej dwubitowej
operacji logicznej XOR, zdefiniowanej następująco:
a
b
a
0
1
0
1
a XOR b
b a XOR b
0
0
0
1
1
1
1
0
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
           

68
Operację unitarną CNOT można przedstawić jako czterowymiarową unitarną
macierz
U CNOT
U CNOT U

CNOT
1

0

0

0
1

0


0

0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0

0

1

0
01

0 0

10

00
0
0
1
0
0
0
0
1
0 1
 
0
0

1 0
 
0 0
0
0
1
0
0
1
0
0
0

0
 I U U
CNOT
CNOT
0

1
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
69
Iloczyn tensorowy dwóch qubitów jest opisany przez czterowektor w bazie
obliczeniowej iloczynu tensorowego przestrzeni układów dwóch qubitów
0
1
 0
2
, 0
1
 1
2
,11 0
2
,11 1
2

Dowolny stan w takiej przestrzeni ma postać:

1
0
1
 1 1
  1 2 0
1
1
 0
  
2
2
0
2
  1 2 0
 2 1
1
 1
2
2
1 0

2 0
2
  1 2 0
1
 2 1
2
  1 2 0
1
1 1 1   2 0
2
  1 2 1 1  0
1 1 1   2 1
2
 1 2 1 1  1
1 0
  1 2 1
1
 0
2
 1 2 1
1
 1
2
1
1
 0
 1
2
2
2
2
   1 2 


  1 2


   1 2 


  1 2 
Można przedstawić bazę za pomocą wektorów
0
1
 0
2
1 
 
0
  ,
0 
 
0 
0
1
 1
2
0
 
1
  ,
0 
 
0 
11 0
2
0
 
0
  ,
1 
 
0 
11 1
2
0
 
0
  
0
 
1 
70
Działanie bramki CNOT na stany z bazy obliczeniowej  wynikami są
odpowiednie kolumny macierzy
1

0

0

0
1

0

0

0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0  1  1 
   
0 0
0
    
1  0  0 
   
0  0  0 
0  0  0
   
0 0
0
    
1  1  0 
   
0  0  1 
0
1
1
1
 0
 1
2
2
1

0

0

0
1

0

0

0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0  0  0
   
0 1
1
    
1  0  0 
   
0  0  0 
0
0  0  0
   
0 0
0
    
1  0  1 
   
0  1  0 
11 0
1
 1
2
2
71
Działanie bramki CNOT na dowolny stan:

1
0
1

0

0

0
  1 2 0
1
 0
 1 0
1
2
 1 1
1
0
0
1
0
0
0
0
1
  1 2 0
  2 0
2
1
  
2
0
2
 2 1
2

0   1 2   1 2 

 

 1 2
0  1 2



1    1 2    1  2 

 

0    1  2    1 2 
1
 1
 2 1
2
2
 1 2 1
 
1
1
 0
1 1  2 0
2
  1 2 1
2
2 1
2
1
 1
2

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
72
Gdy 11, 10, wtedy stan qubitu docelowego nie ulega zmianie, natomiast gdy
10, 11, stan qubitu docelowego działa jednoqubitowa bramka negacji
(bramka Pualiego ), zmieniając miejscami współczynniki:
2 0
2
2 1
2
 X  2 0
2
 2 1
2

Zatem, bramkę CNOT można zapisać w następującej postaci

 I 2 2

0 0

0 0
0

0 0


X 

0
        X
CNOT
I2x2 oznacza trywialną operację tożsamościową dla
jednego qubitu


73
można rozważyć układ kopiujący wykorzystując bramkę CNOT w celu
zilustrowania twierdzenia No-cloning

0  1

0 
CNOT
0
  0
 0
   
0
 0
 0
   1
   1
 1
 0


ale

0
 0
   1
 1
2
    0
 1
    0
 1
   1
2
 1

Spełnione tylko dla ,   0,1
1

0

0

0
0
0
1
0
0
0
0
1
0     
   
0 0
0
    
1     0 
   
0   0   
 2

Oczekiwany rezultat   
dla dowolnych ,    
 2







74
Jeżeli qubit kontrolny jest w stanie 1 wtedy na qubicie docelowym wykonywana
jest unitarna operacja U. Poniżej postać macierzowa takie operacji


U co n tro lled  U

U
U


Jeżeli qubit kontrolny jest w stanie 1 wtedy na
n qubitach docelowych wykonywana jest nqubitowa unitarna operacja U.
n

 I 2 2

0 0

0 0
0

0 0


U 

0
U
75
    H   

H

H   I   H  I    
H 

H I 
1 1 I

2 1 I
1

1 I 
1 0

1 I 
2 1

0
      H   I  H



0
1
1
0
0
1
1
0
 
 
0 

1

0 

1


H
H 
 1 H
IH 
0H
1

0H 
1 1

1 H 
2 0

0
1
0
1
0
0
1
0
1
0 

0

1 

1
76
U controlled  Z
1

0

0

0
0
0
1
0
0
1
0
0
0 

0

0 

1 H
H
H
Z
 I   U controlled  Z
H
 I    
 I  H   U controlled  Z   I  H   
H
Z
1

1 0
2 1

0
 

1
1
0
0
1
1
0
1

1 0
 
2 1

0


0 1

1
0

0 0

1  0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
0  1

 1  0
0  1

1   0
0 
1


0
0
 1 
0  2 1


1 
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
0
0  1
 
1  0

0  0
 
 1   0
0 

1

0 

1 
0
0
0
0
0
1
1
0
0

1
0

0 
H
1

1 1
2 0

0
1
0
1
0
0
1
0
1
0 1

0
0

1 0

1  0
0
0
1
0
0
1
0
0
0 
1


0
1
 1 
0  2 0


1 
0
1
0
1
0
0
1
0
1
1

1 1
 
2 0

0

H
0
Z
0 

0

1 

1 
1
0
1
0
0
1
0
1
0  1

0  1
 1  0

1   0
0  1
 
0  0

1  0
 
 1   0
0
0
1
0
0
0
0
1
0

0
1

0 
H
77
Wektory zupełnie nieortogonalnej bazy (w stosunku do bazy obliczeniowej)
 
0  1
2
 
0  1
 0
   

1
 1
2
1
  0

 
2
 1
2
2
1 
 

1 1 

2 1 

 
1 
2
 0
   

1
 1
2
1
  0

 
 0
   

1
 1
2
2
 1
2
2
1
1 
 

1   1

21 

 
  1
  0

 
 0
   

1
2
 1
2
 1
2
1
2
1 
 

11 

2   1

 
  1
  0

 
2
 1
2
2
1 
 

1   1

2   1

 
1 
78
Działanie bramki CNOT
1

0

0

0
1

0

0

0
1

0

0

0
1

0

0

0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0  1 
1 
  
 
0 1 1
1
NOT
    1        C
   
1  2 1  2 1 
  
 
0  1 
1 
0  1 
1 
  
 
0 1 1
1
NOT
    1        C
   
1  2  1  2   1
  
 
0    1
1 
0  1 
1 
  
 
0 1 1
1
NOT
    1        C
   
1  2   1 2   1
  
 
0    1
  1
• qubit kontrolny zamienił się rolą z
qubitem docelowym
• qubit docelowy nie zmienia stanu
na skutek działania bramki CNOT
0  1 
1 
  
 
0 1 1
1
NOT
    1        C
   





1 2 1
2 1
  
 
0  1 
  1
79
Stany bazowe bazy zupełnie nieortogonalnej
można uzyskać działając bramką Hadamarda
na stany bazy obliczeniowej
H
H
H
H
H 0  
H 1  
Można więc przedstawić postać bramki CNOT
ze zmienioną bazą (qubity zmienieją swoją rolę:
docelowy  kontrolny, kontrolny  docelowy)
1

1 1
H H  
2 1

1
1

1 1
4 1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1 1

1 0

1  0

1 0
1 

1

1

1 
0
0
1
0
0
0
0
1
1

0
CNOT  
0

0
0  1

0 1

1  1

0  1
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1 

1

1 

1 
0

0

1

0
1

1 1
H H  
2 1

1
1

0

0

0
0
0
0
0
0
1
1
0
0

1

0

0
1
1
1
1
1
1
1
1
1 

1

1

1 


  

0  0  0  0
1  0  1  0
0  1  1  1
1  1  0  1
80
Operację SWAP wprowadza się w celu zrealizowania zamiany stanów dwóch
qubitów.
        
  
CNOT
CNOT
         

1

0
0

0

0
0
1
0
0
0
0
1
0  1

0  0
1  0

0   0
0
0
0
0
0
1
1
0
0  1

1  0
0  0

0   0


reversed C N O T
           

     
0
0
1
0
0
0
0
1
0 1
 
0 0

1 0
 
0   0
    
 

   

ab ba
0
0
0
1
1
0
0
0
0

0
0

1 
a  a  b  b
1

0

0

0
0
0
0
1
1
0
0
0
0    1 2   1 2 

 


0  1 2

   1 2    0
 2
0    1 2    1  2 

 

1   1 2   1 2 
1
  2 1 1     1 0
2
  1 1 2 
81
i
U  e AXBXC
ABC  I
1

0

U

C
B
0 
i 
e 
A

U


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
82
Inputs
a b
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
c
0
1
0
1
0
1
0
1
Outputs
a’ b’
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
c’
0
1
0
1
0
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
a
a
1
1
b
b
b
b
a
a
1
1  ab  ab
0
ab
0
a
83
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)




A
A
B
C

B

   
C C N OT
C



A

A

B
C


A

B


B

 


A

B
C
C
X

A

B

A
1

0

0

0
CCNOT  
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0

0

0

0
0

0
1

0 
B
C

A

B

84
Inputs
a
b
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
c
0
1
0
1
0
1
0
1
Outputs
a’ b’
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
c’
0
1
0
1
0
1
0
1
a
a
b
b
c
c
Klasyczna bramka
Fredkina jest
odpowiednikiem
kontrolowanej bramki
SWAP
ab
0
ab
a
ab
1
ab
b
b
0
ab
Realizacja bramki
AND i NAND
ab
85
W przypadku kwantowym można zrealizować bramkę Fredkina w oparciu o
kwantową kontrolowaną bramkę SWAP. Operacji SWAP odpowiada
następująca definicja
1

0

0

0
0
0
0
1
1
0
0
0
0   1 2   1 2 

 

 1 2
0  1 2


   0
 2
0    1 2    1  2 

 

1   1 2   1 2 
1
  2 1 1     1 0
2
  1 1 2 
SW A P
Postać macierzowa
kontrolowanej bramki
SWAP
1

0

0

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
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
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
86
• 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
C
n
U 
x1 x 2
xn 
 x1 x 2



n



m

xn U
x1 x 2
xn

C
x1 x 2
n
U 
m
xn
iloczyn bitów
odpowiadających
odpowiednim stanom
bazy obliczeniowej
 I 2 nm  2 m  2 nm  2 m





0

0
U 2m 2m




U
87
Można przestawić dowolną podwójnie kontrolowaną operację U za pomocą
tylko bramek jedno-qubitowych oraz bramek CNOT
V
U
V
V

V
2
VV
U

 I
Np. bramka CCNOT przedstawiona może być za pomocą operacji V
następującej postaci:
V 
1  i   I  iX 
V
2
 X
2
88
Przykład realizacji CCNOT za pomocą tylko bramki Hadamarda, bramki
/8, bramki fazy S oraz bramki CNOT
T
T
H
T

T
T

T

T

S
H
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ą
89


Można pokazać, że pewne zbiory bramek (jedno- i dwuqubitowych) 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
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
xn


000

0


 
n 1






n



m

x1 x 2 x 3







U
Etap 1:
realizacja AND qubitów
kontrolnych
U
E
t
Ua
p
2
:

Etap 3:
przywrócenie stanów
początkowych qubitom
roboczym
91
X
X
CNOT kontrolowany
przez odwrócony qubit
Jeden qubit kontroluje
dwie bramki negacji
000  000
X
X
001  001
010  010
011  011
X
X
100  111
101  110
110  101
111  100
1

0

0

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
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0

0

0

0
1

0
0

0 
92
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 jednoqubitowych, 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
93
Znalezienie reprezentacji dowolnej macierzy U za pomocą macierzy
dwupoziomowych. Analogiczne kroki można wykonać dla macierzy unitarnych o
dowolnym wymiarze.
a

U  b

c

Konstrukcja dla macierzy 3x3



U 3U 2U 1U  I  U  U 1 U 2 U 3
d
e
f
g

h

i 
poszukujemy macierzy U 1 , U 2 , U 3
Konstrukcja macierzy U 1
1

b0U  0

0

0
1
0
0

0

1 


b0U 



a
*
2
a b
b
2
a b
0
2
a b
2
a
b
2
*
2
2
a b
2
0
0

0


1

W obu przypadkach, macierz U1 jest macierzą dwupoziomową
94
Iloczyn U 1U
 a

U 1U  0

 c

d
e
f
g

h

i  
Konstrukcja macierzy U 2
 a

c  0  U   0
 0

*
0
1
0
0

0
1 


c  0  U  



a
*
2
a  c
2
0
1
c
2
a  c
0
2
0
c
*
2
a  c
2
0
 a
2
a  c
2






Iloczyn U 2U 1U
1

U 2U 1U  0

0

d 
e 
f 
g  

h 

i  
95
Z unitarności macierzy U , U 1 , U 2
wynika unitarność iloczynu U 2U 1U
1

U 2U 1U  0

0

d 
e 
f 
g  

h 

i  
d   g   0
Konstrukcja macierzy U 3
1

U3  0

0

0
e 
*
h 
*
0 
* 
f 

* 
i  
Widać, że iloczyn U 3U 2U 1U  I



U 3U 2U 1U  I  U  U 1 U 2 U 3
96
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.
U  V1
Vk ,
k   d  1   d  2  
k
2
n
2
n
2
 1
2
n 1
2
n
1 
d  d  1
2
 1
Gdzie macierze Vi są macierzami dwupoziomowymi
97
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).
98
Idea implementacji macierzy dwupoziomowej U
• podejście do przedostatniego wyrazu kodu Gray’a
g1  g 2 
 g m 1
• 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
g m 1  g m  2 
 g1
• przejścia pomiędzy kolejnymi wyrazami kodu Gray’a realizuje się za pomocą
kontrolowanych bramek negacji
99
Przykładowa macierz
dwupoziomowa U i określona
operacja jedno-qubitowa
Macierz działa nietrywialnie na
stany:
1

0

0

0
U 
0

0
0

0

0
0
0
0
0
0
c1
0
0
0
0
c2
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
c3
0
0
0
0
c4
0
0
0
0
0
0
0

0

0

0
,
0

0
0

1 
 c1
U 
 c3
c2 

c4 
0 
 0  0 
0
 
   
 
1
c1
0
c
 
   
 2
0 
 0  0 
0
 
   
 
0  0 
0
U
 0   001  U

 c1 001  c 3 110 
,
 110  
 c 2 001  c 4 110   
0 
 0  0 
0
 
   
 
0
0
0
 
   
0
0 
c  1 
c 
3
 
   
 4
 0   0 
 0 
 0 
100
Kolejne wyrazu kodu Gray’a
q1
a  g1
g2
g3
b  g4
0
0
0
1
q3
q2
0
0
1
1
1
0
0
0
q1
U
q2
q3
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
101
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ć:
i
e

i
Z
8
 cos
8
e
2

X

 




  cos I  i sin Z   cos I  i sin
X 
8
8 
8
8








 X  Z   i sin ZX  sin .
I   i cos
8
8
8
8





8
Jest to obrót wokół osi n   cos
o kąt 
cos

2
 cos
2

, sin

8
, cos
 

8 
8
102
Czyli za pomocą bramki Hadamarda H i /8 T można zbudować bramkę obrotu
wokół osi n o kąt 
R nˆ  

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.
R nˆ  

 > 0,
N >
k > j
2


,
 k   0, 2   ,
określona dokładność


N Z
k j  
j , k  1,
k  j
k j  0



>0 n

,N
 k   k  m o d 2
k   j 
 lk  j
2

N
przy zmianie l można zapełnić odpowiednio gęsto zbiór (0, 2]
E R nˆ    ,  R nˆ    
n



3
103
Dodatkowo można zmienić oś obrotu za pomocą bramek Hadamarda
H R nˆ    H  R mˆ  


E R mˆ    ,  R mˆ    


 

n   cos , sin , cos 
8
8
8 

n




 

cos
,

sin
,
cos


8
8
8 


3
Dowolna unitarna jedno-qubitowa operacja U może być przedstawiona, z
dokładnością do fazy, w postaci
U  R nˆ    R mˆ    R nˆ  

E U ,  R nˆ    
n1
H  R mˆ    
n2

H  R nˆ    
n3

Co kończy trzecią konstrukcję i cały dowód uniwersalności bramek
104
Stany Bella – maksymalnie splątane stany rozpięte na bazie obliczeniowej
układu dwóch qubitów
0
1
 0
2
, 0
1
 1
2
,11 0
2
,11 1
2

Stany Bella



12



1
2
1
12





12
1
2
12

1
1
2
1
2
1
1
1
1
1
1
 2
2
 2
 1
 1
2
2
2
 2
 2
 2
 2
1
1
1
1
 1
 1
 2
 2
2

2

2

2

Te stany są czasem nazywane stanami
EPR w związku z paradoksem EinsteinaPodolskiego-Rosena. Stany Bella są
maksymalnie zmieszanymi stanami układu
dwóch qubitów (ze środka odpowiedniej
sfery Blocha)
105
H
H
0  0 
1
1
2
1  0 
1
2
1  1 
1
2


0  0  1  1



0  1  1  0




0  0  1  1




0  1  1  0


2
0  1 
 I  CNOT
 1 1


2
1

1

1 
 0

 I 
1
 0

0
0
0
1
0
0
0
0
1
0

0

1

0

12
12
12

12
106
P1

H
A
pomiar
P2
H

pomiar

BC
X
P2
Z

P1
C
W pierwszym kroku


0
ABC
 
A
1
 0
2 
A
 
 0

1

BC
B
 0
2
C

 1
0
B
A
 1
 1
C
A
 
 0
1
A
B
 0
 0
B
C
 1
 0
C
B
 1
 1
B
C

 1
C
 
Po zadziałaniu bramki CNOT na qubity A i B stan całego układu ulegnie zmianie

1 
ABC

1
 0
2 
A
 0
B
 0
C
 1
B
 1
C
 
1
A
1
B
 0
C
 0
B
 1
C
 
107
Następnie na qubit A jest poddany działaniu bramki Hadamarda, co zmieni stan
układu na:
2

1
0

0

2

ABC
 1
A
 1
A
A
 1
A
 0
B
 0
 0
B
 0
C
 1
C
 1
B
 1
B

C
 
C
lub inaczej:
2


ABC

1
 0
2
 1
A
A
A
1
 0
2
 1
A
0
A
 1

2
0


1
A
 0
B
B
 1
 0
 0
 1
 1
 0
A
B
0
 1
 1
B

0
 
0
    0
  
  
0
0
C
A
A

B
B
A
C
 0
B
0
 0
C
A
C
 0
A
C
1
A
 1
 1
C
C
C
 0
1
C
 0
 0
 0
A
A
B
B
B
 1
B
B
 1
B
C
1
C

 


1
C
C
  1
    1
C
 1
 1
 1
C
 1
A
 1
 0
 1
 0
B
B
  
1
  
0
B
C


C
C
 0
 1
C

C

108
Można finalnie zapisać powiązanie między wynikiem pomiaru qubitów A i B a
stanem końcowym qubitu C
0
0
1
1
A
A
A
A
 0
 1
 0
 1
B
B
B
B
 0
  0
 0
  0
 1
C
C
C
 1
 1
C
C
C
C
 1
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
109
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).
f
 x  :  0,1   0,1
Przykład: dwu-qubitowy komputer kwantowy – stan początkowy komputera
kwantowego niech będzie postaci a  b

U f : a  b  a  b  f a

f a
b  0
Jeśli stan wejściowy postaci
a 
0  1
2
to
0  f  0   1  f 1 
2
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!
110
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
111
U
f
x
n
U
f
x
n
U fU
H
 0
x
f
H
m

x
m

x
 y
n
 y  f x 
 0  f x 
U  x
 y
 0
n
f
 0
 H
m
 x
m

 y  f x 
1
0 H 0 
n
 f x 
x  y  f x   f x   x  y
0
 1 
2
H

n
0

n
1
n
2
H

n
 Im
2
 0
2
x
x0
 0
m
n
x
2
x0
n
  1  00
 1
 01  10  11
2
2

n

1
n
 0
m

n
x
22

 1
U f
 n
 2
2
0
1
n

n
m

1

 n


 22
2
x0
n
 0

n
U  x
2
m
f
x0
n
 0
m

1
n
22
n
x
2
x0
n
 f x 
m

112

 1
U f
 n
 2
2
n
x
2
x0
n
 0
m


1

 n


 22
n
U  x
2
f
x0
n
 0
m

1
n
22
n
x
2
x0
n
 f x 
m

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).
113
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
F 
N 1
1
e
N
i
2  nk
N
n0
w N-wymiarowej przestrzeni. Jej działanie na zespolony wektor x0,x1,…,xN-1
można zapisać w postaci,
1
N
N 1
e
i
2  nk
N
xn  yk
n0
gdzie y0,y1,…,yN-1 jest wyjściowym zespolonym wektorem
114
Kwantowa transformacja Fouriera
U FT x
n
1

N
2  ixy
N

e
2
n
y
y0
xy zwykle mnożenie, x i y liczby
numerujące n-qubitowy stan
n
Działanie kwantowej transformaty Fouriera na superpozycję stanów bazowych
U FT
 N
  x  x
 x0
N


y0
1
N
2  ixy
N

e
x0
N

   x  x
x0


n

,
n
2
n
N
N
   x U
FT
x
x0
 x  y
n
  x 

n
  x  
 x y 

x0
1
N
N
e
N
x0
N
2  ixy
2
n
1
N
N
1

y0
e
e
2
n
y
y0
2  ixy
N
2  ixy
2
n
 y x
n
n
 y
y0
115
W przypadku gdy jj rozważana suma jest sumą szeregu geometrycznego
j1 
N 1
1
N
j 2 j1 

1
N
N 1

i
e
e
2  j1 k1
i
N
j2 
k1
N
k1  0
N 1
1
1
N
N
2  k1
N
e
i
2  j1 k1
N
i
e
N 1
1
e
i
2  j2 k 2
2  j2 k 2
N
j1  j 2 
k2
k2  0

k 2 k1
1
N
k1  0
k2  0
N 1
i
e
2  j1 k1
N
N
1
N
2  j2 k 2
 12 
N
e
k1  0
k2  0
j1  j 2
gdy
1
i
N 1
1
e
N
i
2  j1 k1
N
i
2  j 2 k1
N
e
k1  0
 j1  j 2 
k1  0
j1  j 2 
N
i
N 1

2  k1
N
e
 j1 
j2 
0
N
k1  0
N 1

k1  0

1
i
e
2  k1
N
 j1  j 2 
N 1

k1  0
e 
0
N
N
1
1
a1 
1 q
N
N
1 q

S  a1
 k1  0 
1 e
i
1 e
2
N
i
 j1  j 2 
i
e
2 0
N
n
1 q
 j1  j 2 

N
 j1  j 2  N
2
N
1
1 q

1
qe
,
i
2
N
 j1  j 2 
N
1 e
1 e
i 2   j1  j 2 
i
2
N
 j1  j 2 

11
1 e
i
2
N
 j1  j 2 
0
116
Można wprowadzić odwrotną transformatę Fouriera:
N 1
1
k 
e
N
kx 

1
N
i
2  jk
N
j
j0
N 1
1
e
N
i
2  jk x
N
N
j0
N 1 N 1
e
i
2  jk x
N
N 1
1
i
e
e
k 
1
N
j0 k 0
2  jk
N
k 
N 1 N 1
1
N
k 0
2  jk
N
i
N 1 N 1
e
i
2 j
N
e
i
2  jk x
N
i
e
2  jk
N
j0 k 0
k kx 
k
j0 k 0
k  kx
k  kx

1
N
N 1
e
j0
k 0
i
2 j
N
k kx 
k
k 
N
N
kx

1
N
N 1 N 1
e
j0 k 0
i
2 j
N
k  k x 
k 
1
N
N 1

k 0
N 1
k
e
i
2 j
N
k  k x 
0
j0
  
suma szeregu geom .
0
117
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
j 
0
, 2 1
n
,

Dla bazy obliczeniowej,
j  j1 
 j k  j1
 j n  j1
j n  j1 2
n 1
jn ,
 j2 2
n2
i  1,

j i   0,1
,n
 j n 1 2  j n 2
1
0
Działanie kwantowej transformaty Fouriera na stan |j>
F j 
2
y  2
n 1
n
2 1
1
n

i
e
2  jk
2
n
k  k  k1 
 kn
k 0
y1  2
n2
y2    2 yn
0
118
n
2 1
1
F j 
n
2
(***)

2
1
2
n

1
n
n
1
q 1
n
n

i 2 j



q 1
n

n

q 1
kq 

q
2 


k1 
 kn

 
i 2 j
e
kq
2
q
kq
k n  0 q 1
 

1
2
 1 i 2  j k qq
2
kq
 e
 k 0
 q
 




2 j
i


q
2
0

e
1




1
1
2
i 2   jn 2 
i 2   j n 1 2  j n 2 

 

0 e
1  0 e
1 

n 
 

2 
1
 kn
kn  0
k1  0 k 2  0
2

e

1

k  k  k1 
n
1
k1  0 k 2  0
1
2
1

n
2  jk
k 0
1
1

e
i
i 2   j1 2

 0 e

1
 j2 2
2

 jn 2
n


1 
 
119
Krok (***) w powyższym wyprowadzeniu można przykładowo przedstawić dla n = 3
7
1
2
e
3

i 2 j
1
2
3
i 2 j
i 2 j
i 2 j
 i 2  j 0
3
3
3
2
2
2
000  e
001  e
010  e
011
e
3
2 
k
2
e
3
1

k1 k 2 k 3
k 0
i 2 j
4
2
3
100  e
i 2 j
5
2
3
101  e
i 2 j
6
2
3
110  e
i 2 j
7
2
3

111  

1 

1
2
 i 2  j   k1 2  1  k 2 2  2 
i 2  j  k1 2  k 2 2 
3 



2 
   e
k1 k 2 0  e
k1 k 2 1

k1  0 k 2  0

1
1




1
1
1
3
 
 
e
i 2  jk q 2
3
q
kq 
k1  0 k 2  0 k 3  0 q  1
q 1
j  j1 2  j 2 2  j 3 2
2
j
2
 j
4
j
8
1
1
0
 j1 2  j 2 2
 j1 2
1
1
 j2 2





1
1
e
i 2  j   k1 2

1
 k2 2
2
 k3 2
3


1
k1 k 2 k 3 
k1  0 k 2  0 k 3  0
3

 
q 1
0
e
1
1
e
 3

q
i 2 j 
kq 2 
 q 1




k1 k 2 k 3
k1  0 k 2  0 k 3  0
i 2 j 2

q
1
0

e
i 2 j 2
1
1
  0
e
i 2 j 2
2
1
  0
e
i 2 j 2
3
1

1
 j3 2
2
 1 i 2  jk 2  q
q
kq
 e
 k 0
 q
1




0
 j1 2  j 2 2  j 3 2
0

 
1 
2 
3 



1
1
1
 i 2  j   k1 2  1 
i 2  j  k1 2 
i 2  j  k1 2 
i 2  j  k1 2 
3 
3 
3 



2 

2 

2 
e
k
00

e
k
01

e
k
10

e
k 111


1
1
1
k1  0

1
2
 j3 2
i 2   j1 2

 0 e

3

1

0
 j 2 2  j3 2
0 e
1

i 2   j1 2
 
1  0 e
 
i 2  j3 2
1
1

0
 j2 2
i 2   j2 2

 0 e

1
1
 j3 2
 j3 2
2
2


i 2   j1 2
 
1  0 e
 
i 2   j1 2
 
1  0 e
 
2
 j3 2
3


1 

2
 j3 2
3


1 

1
 j2 2
1
 j2 2
120
1
1
2
i 2   jn 2 
i 2   j n 1 2  j n 2 

 

0 e
1  0 e
1 

n 
 

2 
1
i 2  k  j1 2

 0 e

1
 j2 2
2

 jn 2
n


1 
 
Postać iloczynowa kwantowej transformaty Fouriera daje możliwość łatwej
realizacji bramkowej tej operacji
j1
H
R2
R n 1
j2
x1
Rn
R n  2 R n 1
H
j n 1
H
jn
xn  0  e
x2
x n 1
R2
H
 j
i 2  1 
 2

jn 
n 
2 
1 ,
, x1  0  e
i 2
xn
jn
2
1
121
j1
H
R2
R n 1
x1
Rn
j2
H
R n  2 R n 1
j n 1
x2
H
jn
x n 1
R2
H
xn
układ składa się z n bramek Hadamarda, z (n-1)+(n-2)+…+1 = (n-1)(n-2)/2 dwuqubitowych kontrolowanych bramek Rk, oraz z n/2 bramek SWAP (pierwszy z
ostatnim, drugi z przedostatnim, itd.)
Bramki Rk mają postać
1
Rk  
0

0 
2 
i
k
e 2 
Można prześledzić działanie powyższego układu na przykładowym stanie
j1 
 j n  j1
jn
122
H jn 
jn 
H

R2
j n 1
jn 
1
2
0  1

x1
j1
i 2
1 

 0 e
2 
H j n 1
j n 1 

i 2
1 

 0 e
2 
j2
2
i 2
1 

0

e

2 
j n 1
2
i 2
1 

 0 e
2
x2
jn
jn  0
0
 

e
1 
j 1
i
   e
jn
2
1
R2  
0


1 

j n 1
2
i 2
e

1 

jn
4
0 
2 
i
e 4 

i 2 

1 
1 
 0 e 
2 


i 2 
1 

 0 e 
2 
j n 1
2

jn 

4 
j n 1
2

jn 

4 

1 



1 


123
 jn 
R3
 j n 1 
R2
 x3
H jn2

i 2 
1 

0 e 
2 

i 2 
1 

 0 e 
2 
jn  2

2
j n 1

4
jn 

8 
jn  2
2

j n 1
4

jn 

8 

1 


jn2 
j3

1 


Powtarzając tą procedurę dla kolejnych stanów otrzyma się wyrażenie na stan
 jn 
Rn
 jn 1 
R n 1
 j3 
R3
 j2 
R2
j
 j
i 2  1  2 
1 
2 4

 0 e 
2 
H j1

jn 
n 
2 

1 


Po zastosowaniu operacji SWAP uzyska się stan wyjściowy
xn
j
 j
i 2  1  2 
1 
2 4

 0 e 
2 

jn 
n 
2 

1 


124
Stan końcowy całego układu przyjmuje postać
x  x1  x1 
i 2
1 

 0 e
2

jn
2
 xn

i 2 

1 
1 
 0 e 
2 

j n 1
2

jn 

4 

1 


j
 j
i 2  1  2 
1 
2 4

 0 e 
2 
1
1
2
i 2   jn 2 
i 2   j n 1 2  j n 2 

 

0 e
1  0 e
1 

n 
 

2 
1
Oznaczenie bramkowe operacji
kwantowej tranfromaty Fouriera
i 2   j1 2

 0 e

1

 j2 2
jn 
n 
2 
2


1 


 jn 2
n


1 
 
F
125
1
S 
0

H
0 
   R ,
i
2
e 2 
S
1
T 
0

0 
   R
i
3
e 4 
T
H
S
H
Kwantowa transfromata Fouriera
dla układu 3 qubitów, w postaci
bramkowej i macierzowej
1

1


1

1
1 
8 1


1

1


1
1
i
2
i
3
i 2
i 2
i 2
8
i 2
1
i
e
i
6
i 2
7
8
i 2
e
i 2
i
e
6
8
i 2
2
e
e
7
i 2
1
2
e
i
e
1
5
8
i 2
e
1
2
1
e
i 2
i 2
i 2
6
i 2
i
e
i 2
i
4
i
e
2
4
e
2
3
8
e
1
2
e
3
8
6
1
2
e
8
5
8
e
1
6
8
i 2
4
7
8
e
2
e
8
i 2
e
i
i 2
e
1
8
e
6
2
7
2
i 2
4
i 2
2
e
1
8
e
8
i 2
1
i 2
e
2
i 2
1
5
4
e
1
1
8
e
2
i 2
e
i 2
8
1
2
i
2
e
2
e
1
1
2
e
4
1
6
8
e
2
i 2
e
8
i 2
5
8
e
i 2
e
1
8
e
3
8
6
i 2
2
e
1
2
e
1
i 2
e
e
8
e
2
i 2
4
1
4
e
2
i 2
e
i
8
e
e
1
2
8


















126
W ogólnym przypadku całkowita liczba bramek potrzebnych do realizacji
układu kwantowej transformaty Fouriera jest rzędu:
n  n  1  n  2     1 
n
2

n n  1
2

n
 n
2
2
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
127
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)
128
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, x  a
f x  
1, 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
129
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:
U
f

x
n
y
1

x
n
y  f x
Przykład takiej operacji:
1
x
x
x
x
x
y
1
2
3
4
5
x
x
x
x
x
X
1
2
3
4
5
 x1 x 2 x3 x 4 x5 
y
130
• 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
131
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:
H 1 
1
2
U
f


0  1


1
x H 1
1

x

a



2

x  a  1

2


2
U
f

x H 1
x   0  1


f
    1

x   0  1  1  1  


x   0  0  1  0  


x
 

1
2

1
2
f x
x H 1
x

2
1
 0  f


x
x   1  0     1 


f x
x   0  1     1 
 1  f

f x
x
x H 1

x H 1





Zatem, w przypadku x = a, stan całego układ zostanie pomnożony przez czynnik -1
132
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
V x    1
f x
V x  x 2 a

 x , xa
x 

 a , x  a
V  I 2 a

a x 0
 x ,
a x 

 a , x  a
V 
a
 
2 a
a 
Czyli, dla ogólnego przypadku można zapisać
U
f

H 1
   
2 a
a    H 1
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
133
Rozważmy dowolny stan układu wejściowego – jako superpozycję wszystkich
możliwych stanów wejściowych
 H
n
0
n

n
2 1
1
2
n

x0
x
n
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:
W  2 
 I
Algorytm Grovera sprowadza się do wielokrotnego powtarzania operacji WV
V a   a
V    
2
2
W   
W a 
2
2
a
n
  a
a    a 
1
2
n
n
134
Przykładowo

W VW VW V   W VW VW   


 W VW V   




n
2 
2
2
2
n
2
2
n

a   W VW V


  a    W VW V




  1 



W  

2
2

n

W a 
n
2

2
2 

n
2 
2
2

n
2
2
n

a 


Z postaci |> wynika, że |a> i |> są prawie prostopadłe, ponieważ
cos   a  
1
2

n
1
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:
dla dostatecznie dużych N można przyjąć, że
sin   cos   a  
1
2

n
1
N
 
1
2
n
135
Można to przedstawić graficznie, odnosząc operacje V i W do odpowiednich
obrotów (odbić) względem stanów
a



a
136
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
WV 

2



V 
a
137
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.
a
WV 
2



V 
 
1
2

n
a
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,

2

1
2
 2k
n
1
2
 1  2k 
n

2
2
n

k  
4
n 
2 

Zatem, w wyniku pomiaru w bazie obliczeniowej końcowego stanu, z
prawdopodobieństwem bliskim 1 uzyska się poszukiwany stan |a>
138
Szyfr RSA
Co wie BOB?
Dwie liczby pierwsze: c i d,
oraz liczby p i q, takie, że
cd = 1 (mod(p-1)(q-1))
N = pq
Klucz publiczny: c i N
Klucz prywatny: d
Co wie ALICE?
Co jest publicznie znane?
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ść b
Tylko c (nie jest znane d), oraz
tylko N (nie są znane poszczególne
mnożniki p i q)
Komputer kwantowy znajduje okres r,
taki że
br = 1 (mod N)
Klasyczny komputer znajduje d’ takie, że
cd‘ = 1 (mod r)
a = bd’ (mod N)
Dekodowanie:
a = bd (mod N)
• 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
a
cd
 a  m od pq 
ba
c
 m od
pq 
(z małego twierdzenia Fermata)
b  a  m od pq 
d
139
Przykładowa generacja kluczy w RSA (java)
r = new Random();
// p, q
p = BigInteger.probablePrime(bitlength, r);
q = BigInteger.probablePrime(bitlength, r);
// PUBLIC KEY [part 1] modulo N = p*q
N = 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) = 1
e = 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);
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);
140
Szyfr RSA można złamać, jeśli posiada się szybką metodę wyszukiwania okresu
znanej funkcji okresowej:
f ( x )  b mod N 
x
f  x  kr   b
x  kr
mod
b  mod N   1 mod N
0
b
r

 mod N   b r  mod N   1 mod
 1  mod N   0  mod N 
b 1
r

N

b  1  mod N   0  mod N

r
kZ
x
0 r
b

N   b mod N ,

Więc N ma wspólne dzielnik z

b 1
r

iz

b 1
r

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)
141
algorytmem Euklidesa: Aby znaleźć wspólny dzielnik dwóch liczb A i B należy
wykonać dzielenie
A
 liczba calkowita 
B
C

B
B
C
 1
7
 liczba calkowita 
D

C
przykład
168
35
170
35
 4
 4
28
35
30
35


35
28
35
30
 1
28
5
30


0
7
7   7 oraz 5

30
0
7 
5
5
28
 4
35  7  5
142
N  15,
y 8
y m od N
0
1
1
N  15,
y 7
n
y
n
n
n
y
n
n
y m od N
N  35,
n
y
n
n
y mod N
A
B
0
1
1
1
8
8
2
64
4
3
512
2
4
4096
1
5
32768
8
6
262144
4
1
7
7
2
49
4
3
343
13
4
2041
1
5
16807
7
6
117694
4
1
13
13
2
169
29
3
2197
27
4
28561
1
5
371293
13
6
4826809
29
2
y 2  1  63  3  7 
  3, 5
r
y 2  1  65  5  13 
r
r  4
4
y 2  1  48  2  3 
  3, 5
r
2
y 2  1  50  2  5 
r
r  4
y  13
0
1
1
 l .calkowita 
a1
B

B
a1
 l .calkowita 
a2
B
 
r
y 2  1  168  2  3  7
r  4
3
r
y 2  1  1 7 0  2  5 1 7
0
35
35
28
28
7
7  5,7

170
30
35
5
30
0
 4

1

 6 
35
35
30
30
5
5
168
 4
28

35
1
7

28
 4
143
• 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.
144
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
n
2 1
1
2
n

x
n
x
f
x
n0
Czyli najpierw wprowadzamy rejestr wejściowy i wyjściowy w superpozycję
bramkami Hadamarda, a następnie działamy operacją Uf
U
f

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
145
Pomiar  f0 = f(x0)

n

1
m
x0
najmniejsza wartość
x, dla której
 0  x0  r 
f
 x0  
m
najmniejsza liczba całkowita,
dla której m r  x 0  2 n
 2n 
m   
 r 
m 1

k 0
x 0  kr
n
f0
 2n 
m    1
 r 
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.
146
Należy następnie zastosować kwantową transformatę Fouriera
 2 1

    x x  
 x0

n
U FT
U FT
1
m
n
2 1

 x 
 x x
2
x0
m 1

x 0  kr
k 0
n
2 1

e
y0
i 2  x0 y
2
n
n

n
2 1
1
2
n

y0
1
m
 i 2  nkry
e 2



n
2 m k 0 
1
m 1
n
2 1
1
n
e
i 2  xy
2
n
 x
y0
i 2   x 0  kr  y
m 1

e
2
n
y
k 0

 y

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).
147
Czyli można zapisać prawdopodobieństwo takiego pomiaru
p y 

1
n
2 m
2
e

n
k 0
2
i 2  kry
e
2
1 e
n
m 1

k 0
e
2
n
1 e
2
n
1  e   1  e
 i
2
1 e
2
n
1 e
2
e
 i

  2  1  cos 2

 1  2  2 cos 
 

2 
cos 2 x  1  2 sin x
2
 


2  
2 
2  1  cos 2   2  1  1  2 sin

4
sin

2 
2 
2


n
2
m
i 2  ry
i
2
i 2  ry
i 2  ry

i
m
i 2  ry
i 2  kry
 1  e
2
 2  1  cos 
1 e
2
i
k 0
i 2  ry
2
i 2  kry
m 1
m 1
4 sin
2
2
n
sin
2

i 2  ry
n
4 sin
2
finalnie:
m
n
2
2
2
 rm y
n

sin
2
2
 ry
2
n
p y 
1
sin
2
 rm y
n
n
2 m
sin
2
2
 ry
2
n
148
p y 
sin
1
 rm y
2
n
2 m
sin
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:
n
2
2
 ry
2
n
y  yj  j
2
n
r
j
j 
1
2
Wiemy, że m jest liczbą całkowitą bliską 2n/r oraz, że
pyj 
1
sin
2
 rm  j
n
n
2 m
sin
2
2
 r
2
n
pyj
2
n
r
j

N
2
> N
r
można zastąpić mr/2n przez 1, oraz zamienić dolny sinus
przez bardzo mały argument,

1  sin 
 n 
2 m   r j
n
 2
2
j

2n

2
  n
2
2 mr


 sin 

  j
2
j

1  sin 
  
r   j

j



2
149
pyj

1  sin 
 n 
2 m   r j
 2 n
2
j

2n

2
  n
2
2 mr


 sin 

  j
2
j

1  sin 
  
r   j

pyj
j



2
0 x
12
  
r  

2x
2

 sin x
j 
1
2
2
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ć
y
2
n

j
r
1

2
n 1
Znając y oraz n, otrzymujemy zatem przybliżenie na j/r
– czyli informację o szukanym okresie
150