Spis treści
Podziękowania ix
Wstęp xi
1 Spin 1
Zegar Kwantowy 6
Pomiary w tym samym kierunku 7
Pomiary w różnych kierunkach 7
Pomiary 9
Przypadkowość 10
Fotony i polaryzacja 11
Wnioski 15
2 Algebra liniowa 17
Liczby zespolone kontra liczby rzeczywiste 18
Wektory 19
Diagramy wektorów 19
Długość wektorów 20
Mnożenie przez skalar 21
Dodawanie wektorów 21
Wektory ortogonalne 23
Mnożenie bra przez ket 23
Bra-ket i długość wektorów 24
Bra-ket i ortogonalność 24
Bazy ortonormalne 25
Wektory jako kombinacje liniowe wektorów bazowych 27
Uporządkowane bazy 29
Długość wektorów 30
Macierze 30
Obliczenia na macierzach 33
Spis treści
Macierze ortogonalne i unitarne 34
Narzędzia algebry liniowej 35
3 Spiny i kubity 37
Teoria prawdopodobieństwa 37
Matematyka spinu kwantowego 38
Równoważne wektory stanu 41
Baza powiązana z danym kierunkiem spinu 43
Obrót aparatury pomiarowej o 60° 45
Model matematyczny dla polaryzacji fotonu 46
Baza odpowiadająca danemu k ierunkowi polaryzacji 47
Eksperymenty z filtrami polaryzacyjnymi 47
Kubity 49
Alicja, Bob i Ewa 50
Amplitudy prawdopodobieństwa i interferencja 53
Alicja, Bob i protokół BB84 54
4 Splątanie kwantowe 57
Kubity Alicji i Boba nie są splątane 58
Obliczenia dla kubitów niesplątanych 60
Obliczenia dla kubitów splątanych 61
Komunikacja superluminalna 63
Baza standardowa dla iloczynów tensorowych 65
Jak się splątuje kubity? 66
Splątywanie kubitów z użyciem bramki CNOT 68
Splątane zegary kwantowe 69
5 Nierówność Bella 73
Splątane kubity w różnych bazach 75
Dowód, że 1 2
Einstein i realizm lokalny 78
Einstein i zmienne ukryte 79
Klasyczne wyjaśnienie splątania kwantowego 80
Nierówność Bella 82
Odpowiedź mechaniki kwantowej 82
Odpowiedź klasyczna 84
Pomiar 87
Protokół Ekerta i kwantowa dystrybucja kluczy 89
6 Logika klasyczna. Bramki. Obwody 91
Logika 92
Negacja 92
Koniunkcja 93
Alternatywa 93
Algebra boolowska 94
Równoważność logiczna 95
Operatory funkcjonalnie zupełne 97
Nand 99
Bramki logiczne 101
Bramka NOT 101
Bramka AND 102
Bramka OR 102
Bramka NAND 103
Obwody 103
NAND jako bramk a uniwersalna 104
Bramki logiczne i obliczenia 105
Pamięć 107
Obliczenia odwracalne 107
Bramka negacji kontrolowanej 109
Bramka Toffoliego 111
Bramka Fredkina 113
Obliczenia prowadzone za pomocą kul bilardowych 115
7 Kwantowe bramki logiczne i obwody 121
Kubity 122
Bramka CNOT 122
Kwantowe bramki logiczne 124
Kwantowe bramki logiczne działające na jeden kubit 125
Bramki I i Z 125
Bramki X i Y 126
Bramka Hadamarda 126
Czy istnieją uniwersalne bramki kwantowe? 127
Twierdzenie o nieklonowaniu 128
Obliczenia kwantowe kontra klasyczne obliczenia 130
Obwód Bella 131
Kodowanie supergęste 133
Kwantowa teleportacja 136
Korekcja błędu 140
Kod powtarzany 141
Kwantowa korekcja odwrócenia bitów 142
8 Algorytmy kwantowe 147
Klasy złożoności P i NP 148
Czy algorytmy kwantowe są szybsze od klasycznych? 150
Złożoność zapytań 151
Algorytm Deutscha 152
Iloczyn Kroneckera macierzy Hadamarda 156
Algorytm Deutscha-Jozsy 159
Algorytm Simona 164
Bitowe dodawanie sekwencji modulo 2 164
Sformułowanie problemu Simona 165
Iloczyn skalarny i macierz Hadamarda 166
Macierze Hadamarda a problem Simona 167
Obwód kwantowy dla problemu Simona 169
Klasyczna część algorytmu Simona 172
Klasy złożoności obliczeniowej 174
Algorytmy kwantowe 176
9 Znaczenie obliczeń kwantowych 179
Algorytm Shora i kryptoanaliza 180
Szyfrowanie RSA 180
Algorytm Shora 182
Algorytm Grovera i przeszukiwanie danych 184
Algorytm Grovera 184
Zastosowania algorytmu Grovera 186
Chemia i symulacja 189
Sprzęt 191
Wyżarzanie kwantowe 193
Supremacja kwantowa i wszechświaty równoległe 195
Obliczenia 196
Indeks 199
Algorytm Deutscha
David Deutsch jest jednym z ojców założycieli obliczeń kwantowych. W 1985 roku opublikował przełomowy artykuł opisujący kwantowe maszyny Turinga i obliczenia kwantowe2. Zamieścił w nim również poniższy algorytm – pierwszy historycznie algorytm, który pokazywał, że algorytm kwantowy może być szybszy od klasycznego.
Zagadnienie dotyczy funkcji z tylko jedną zmienną. Na wejściu możemy mieć 0 albo 1. Na wyjściu również otrzymujemy 0 lub 1. Istnieją cztery takie funkcje, które oznaczymy f0, f1, f2 i f3:
Funkcja f0 odwzorowuje oba rodzaje wartości początkowych na 0, tzn. f0(0)=0 i f0(1)=0;
Funkcja f1 odwzorowuje 0 na 0, a 0 na 1, tzn. f1(0)=0, a f1(1)=1;
Funkcja f2 odwzorowuje 0 na 1, a 1 na 0, tzn. f2(0)=1 i f2(1)=0;
Funkcja f3 odwzorowuje oba rodzaje wartości początkowych na 1, tzn. f3(0)=1 i f3(1)=1.
Funkcja f0 i f3 są funkcjami stałymi. Na wyjściu mamy zawsze to samo, niezależnie od wejścia. Funkcję nazywamy zbalansowaną, jeśli połowę swoich wejść odwzorowuje na 0, a połowę na 1. Zarówno f1, jak i f2 są zbalansowane.
Pytanie Deutscha brzmi: jeśli dostaniemy jedną z tych funkcji, ile ewaluacji musimy przeprowadzić, żeby zdecydować, czy dana funkcja jest stała, czy zbalansowana. Jest bardzo ważne, byśmy dokładnie zrozumieli, o co pytamy. Nie pytamy o to, którą dokładnie z czterech funkcji dysponujemy, interesuje nas tylko to, czy dana funkcja jest stała, czy nie.
Klasyczna analiza wygląda następująco. Możemy dokonać ewaluacji naszej funkcji albo dla 0, albo dla 1. Jeśli zechcemy przeprowadzić ewaluację dla 0, mamy dwa możliwe scenariusze – otrzymamy albo 0, albo 1. Jeśli otrzymamy zero, wiemy tylko, że f(0)=0. Dana nam funkcja może być równa f0 lub f1. Ponieważ jedna z nich jest stała, a druga zbalansowana, musimy jeszcze raz obliczyć wartość funkcji, by zdecydować, która to z nich. W klasycznym podejściu trzeba przeprowadzić obliczenia zarówno do 0, jak i dla 1 – musimy więc użyć funkcji dwa razy.
Przypatrzmy się teraz kwantowej wersji tego pytania. Najpierw konstruujemy bramki logiczne odpowiadające tym czterem funkcjom. Rysunek na stronie 153 ilustruje bramki, gdzie i może wynosić 0, 1, 2 lub 3.
2 Quantum theory, the Church-Turing principle and the universal quantum computer, „Proceedings of the Royal Society A” 400 (1818) s. 97–117.
x y Fi yfi ( x ) x
Ilustracja informuje:
Jeśli na wejściu będziemy mieli |0 〉⊗ |0 〉 , na wyjściu otrzymamy
|0〉⊗|fi(0)〉.
Jeśli na wejściu będziemy mieli |0〉⊗|1〉, to na wyjściu otrzymamy
|0〉⊗|fi(0) ⊕ 1〉.
Jeśli na wejściu będziemy mieli |1〉⊗|0〉, to na wyjściu otrzymamy
|1〉⊗|fi(1)〉.
Jeśli na wejściu będziemy mieli |1〉⊗|1〉, to na wyjściu otrzymamy
|1〉⊗|fi(1) ⊕ 1〉.
Zauważmy, że dla każdego i jedno z pary: fi(0), fi(0) ⊕ 1 jest równe 0, a drugie z nich jest równe 1. Podobnie, dla każdego i jedno z pary fi(1), fi(1) ⊕ 1 jest równe 0, a drugie z nich jest równe 1.
Oznacza to, że każde z czterech możliwych wyjść zawsze daje elementy bazy standardowej, co oznacza, że macierz reprezentująca tę bramkę jest ortogonalna – wobec tego rzeczywiście dysponujemy tu kwantową bramką logiczną.
Chociaż na wejściu wprowadzamy dwa bity informacji i na wyjściu również dysponujemy dwoma bitami, informacja, jaką ta bramka udziela dla bitów klasycznych, |0〉 i |1〉, jest dokładnie taka sama, co dla funkcji poprzednio ewaluowanych dla 0 i 1. Górny kubit wyjściowy jest dokładnie taki sam, jak na wejściu, tak więc nie daje nam on żadnych nowych informacji. Wybór między |0〉 a |1〉 dla drugiego kubitu daje funkcję obliczaną na górnym kecie wejścia albo odwrotną odpowiedź. Jeśli znamy jedną z tych odpowiedzi, znamy również drugą.
Kwantowa wersja naszego pytania brzmi: jeśli dostaniemy losowo jedną z czterech bramek, jak wiele razy będziemy musieli użyć bramki, by móc określić, czy określająca ją funkcja fi jest stała, czy zbalansowana.
Jeśli ograniczymy się do wprowadzania do bramki tylko |0〉 i |1〉, to analiza wygląda dokładnie tak samo, jak poprzednio. Będziemy musieli użyć bramki dwa razy. David Deutsch wykazał jednak, że jeśli możemy
oznacza, że
Prawdopodobieństwo otrzymania N po dokonaniu pomiaru w kierunku
Model matematyczny dla polaryzacji fotonu
W tej książce w większości skupiamy uwagę na mierzeniu spinu elektronów. Tylko w pierwszym rozdziale wspomnieliśmy, że moglibyśmy wszystko przedstawić, używając terminologii polaryzacji fotonu. W następnych kilku częściach przybliżymy analogię między spinem elektronu a polaryzacją fotonu i opiszemy matematyczny model polaryzacji.
Zacznijmy od powiązania kąta 0° z filtrem polaryzującym w kierunku pionowym, to znaczy takim, który przepuszcza fotony spolaryzowane pionowo. Fotony spolaryzowane poziomo są przez niego pochłaniane. Tak jak to miało miejsce w przypadku spinu elektronów, wiążemy bazę standardową
, z kątem 0°. Wektor 1 0
odpowiada fotonowi spolaryzowanemu pionowo, wektor 0
– fotonowi spolaryzowanemu poziomo.
Obróćmy filtr o kąt β°. Teraz przepuszcza on fotony, które są spolaryzowane w kierunku β°, a pochłania fotony, które są spolaryzowane w kierunku prostopadłym do kierunku β°.
Model matematyczny jest skonstruowany podobnie do modelu opisującego spin elektronu. Dla każdego kierunku istnieje uporządkowana baza ortonormalna (| b1〉,|b2〉) odpowiadająca dokonaniu pomiaru polaryzacji w tym kierunku. Ket |b1〉 odpowiada fotonowi spolaryzowanemu w zadanym kierunku, czyli takiemu, który przechodzi przez filtr. Ket |b2〉 odpowiada fotonowi polaryzowanemu prostopadle do zadanego kierunku, czyli takiemu, który zostaje pochłonięty przez filtr.
Foton posiada stan polaryzacji zadany przez ket |v〉. Ket ten może zostać przedstawiony w postaci kombinacji liniowej wektorów bazowych: |v〉 = d1|b1〉+d2|b2〉.
Kiedy zachodzi pomiar polaryzacji w kierunku zadanym przez uporządkowaną bazę, z prawdopodobieństwem d12 zajdzie przypadek, w którym
foton jest spolaryzowany w zadanym kierunku, zaś z prawdopodobieństwem d22 zajdzie przypadek, w którym foton jest spolaryzowany w kierunku prostopadłym do zadanego. Oznacza to, że z prawdopodobieństwem d12 foton zostaje przepuszczony przez filtr, zaś z prawdopodobieństwem d22 zostanie pochłonięty.
Jeśli rezultatem pomiaru jest polaryzacja fotonu w kierunku zadanym, tzn. przejście fotonu przez filtr, to stan fotonu zmienia się na |b1〉.
Baza odpowiadająca danemu kierunkowi polaryzacji
Przypomnijmy sobie, że jeśli początkową standardową
rócimy o kąt α, otrzymamy nową bazę ortonormalną
Przypomnijmy także, że obrót o kąt 90° sprawia, że wracamy znów do bazy początkowej, z tą jedynie różnicą, że elementy bazy zamieniają się miejscami.
Rozważmy teraz obrót filtra polaryzacyjnego o kąt β. Gdy β jest równe 0°, pomiary dokonywane są w kierunkach pionowym i poziomym. Fotony spolaryzowane pionowo przechodzą przez filtr, fotony spolaryzowane poziomo są pochłaniane. Kiedy β osiągnie 90°, pomiary znowu będą dokonywane w kierunkach poziomym i pionowym, ale tym razem fotony spolaryzowane poziomo będą przechodziły przez filtr, a fotony spolaryzowane pionowo ulegną absorpcji. W tym przypadku β = 90° odpowiada α = 90°, uogólniając, możemy przyjąć, że α = β.
Wnioskujemy, że uporządkowana baza ortonormalna opisująca obrót spolaryzowanego filtra o kąt β równa jest
sin
Eksperymenty z filtrami polaryzacyjnymi
Powyższego modelu można użyć do opisu eksperymentów, które przytoczyliśmy w pierwszym rozdziale. W pierwszym eksperymencie używaliśmy dwóch kwadratów folii polaryzacyjnej. Jeden z nich mierzył polaryzację w kierunku 0°, drugi w kierunku 90°. Żadne światło nie przechodzi przez powierzchnię, na której oba filtry zachodzą na siebie – tak jak to widać na rysunku 3.4.
(a) dwie folie(b) częściowo zachodzące na siebie
Rysunek 3.4. Dwa filtry polaryzacyjne
(c) całkowicie zachodzące na siebie
Rysunek 3.5. Trzy filtry polaryzacyjne
Baza powiązana z 0° to standardowa baza ortonormalna. Baza dla 90° jest taka sama, z tym że kolejność elementów zostaje odwrócona. Foton, który przejdzie przez pierwszy filtr, zostaje zmierzony – jest spolaryzowany pionowo – i jest teraz w stanie
. Następnie wykonujemy pomiar za pomocą drugiego filtru. Drugi filtr przepuszcza fotony o wektorze stanu
, a pochłania fotony o wektorze stanu
. Zatem każdy foton, który przejdzie przez pierwszy filtr, zostanie pochłonięty przez drugi filtr. W eksperymencie z trzema filtrami dwa pierwsze filtry są ułożone tak, jak poprzednio. Trzeci filtr obracamy o 45° i wsuwamy między dwa pierwsze filtry. Część światła przechodzi przez powierzchnię, na której wszystkie trzy filtry zachodzą na siebie. Sytuacja ta została zilustrowana na rysunku 3.5.
Bazy uporządkowane dla wszystkich trzech filtrów to:
, . Foton, który przechodzi przez wszystkie filtry, będzie poddany trzem pomiarom. Fotony przechodzące przez pierwszy filtr
mają stan
Drugi pomiar polega na przejściu przez filtr obrócony o 45°. Stan fotonu musimy rozpisać z użyciem odpowiedniej bazy.
Prawdopodobieństwo, że foton przejdzie przez drugi filtr po przejściu
przez pierwszy, wynosi
= . Zatem połowa fotonów, które przejdą przez pierwszy filtr, przechodzi przez filtr drugi. Te fotony znajdują się
Przejście przez trzeci filtr odpowiada dokonaniu pomiaru z wykorzystaniem trzeciej bazy. Rozpisujemy więc stan fotonu z użyciem tej bazy.
Trzeci filtr przepuszcza fotony o stanie
Prawdopodobieństwo, że foton po dokonaniu pomiaru będzie w tym stanie, wynosi
Zatem połowa fotonów, które przeszły przez drugi filtr, przejdzie także przez trzeci filtr.
Pokazaliśmy zatem, jak model matematyczny opisuje spin elektronu i polaryzację fotonu. Ten model jest też dokładnie tym, czego potrzeba do opisu kubitów.
Kubity
Wartość bitu klasycznego wynosi albo 0, albo 1. Bit może być reprezentowany przez wszystko, co może znajdować się w dwóch wzajemnie wykluczających się stanach (inaczej mówiąc, bit może w jednej chwili przyjąć tylko jeden z dwóch stanów). Standardowym przykładem jest dwustanowy przełącznik. W konstrukcji klasycznych komputerów pomiar bitów nie
Kubity
Ponieważ aparatura pomiarowa będzie traktowana jako stacjonarna, będziemy używali tylko jednej bazy uporządkowanej do wysyłania i odbierania kubitów. Nasuwającym się wyborem jest baza standardowa
Wcześniej oznaczaliśmy ją jako (|↑〉,|↓〉). Wspominaliśmy też, że pierwszy wektor w bazie wiążemy z wartością 0, a drugi wektor z wartością 1. Teraz, gdy będziemy używać wyłącznie jednej bazy, sensownie jest nadać ketom nazwy, które sugerowałyby, jak te kety mają się do bitów. Niech |0 〉 oznacza
, a |1
oznacza
W ogólności kubit posiada formę a0|0〉+a1|1〉, gdzie a0 2+a1 2=1. W momencie pomiaru stan przeskakuje albo na |0〉 i wtedy odczytujemy wynik 0, albo na |1〉 i wtedy odczytujemy wynik 1. Pierwsza ewentualność ma prawdopodobieństwo a02, a druga a12.
Zazwyczaj będziemy dysponować systemem składającym się z więcej niż jednego kubitu, co oznacza, że będziemy musieli formować iloczyny tensorowe. Dla systemów z dwoma kubitami baza uporządkowana będzie miała postać:
Można to zapisać jako (|0 〉⊗|0〉,|0〉⊗|1〉,|1〉⊗|0〉,|1〉⊗|1〉). Jak zauważyliśmy wcześniej, często dla wygody pomijamy symbole iloczynu tensorowego, dzięki czemu możemy ten iloczyn zapisać jeszcze bardziej zwięźle jako (|0〉|0〉,|0〉|1〉,|1〉|0〉,|1〉|1〉). Wprowadzamy na końcu konwencję, by |a〉|b〉 zapisywać jako |ab〉, dzięki czemu otrzymujemy zapis (|00〉,|01〉,|10〉,|11〉), który jest krótki i łatwy do odczytania.
Jak się to wszystko ma do bramek logicznych? Odpowiedź na to pytanie rozważymy już za chwilę. Zacznijmy od przyjrzenia się bramce CNOT.
Bramka CNOT
Klasyczna bramka CNOT przyjmuje dwa bity na wejściu i generuje dwa bity na wyjściu. Definiujemy ją następującą tabelą:
CNOT
WejścieWyjście
x y x xy ⊕
000 0
010 1
101 1
111 0
Rozszerzamy to do kubitów w sposób naturalny – zamieniamy 0 na |0〉 i 1 na |1〉. Tabela przyjmuje postać:
CNOT
WejścieWyjście
x Y x xy ⊕
0 0 0 0
Można to samo zapisać zwięźlej, używając kompaktowej notacji dla iloczynów tensorowych:
CNOT
WejścieWyjście
00 00
01 01
10 11
11 10
Na podstawie tej tabeli wiadomo, co się dzieje z bazowymi wektorami. Rozszerzamy to do kombinacji liniowych wektorów bazowych w sposób naturalny:
CNOT rs tu rs ut 0001101100011011 ++ + () =+ ++
Bramka zamienia amplitudy prawdopodobieństwa dla |10〉 i |11〉
Bramka CNOT
Używamy tego samego schematu, z którego korzystaliśmy poprzednio dla bramki CNOT , musimy jednak uważać na sposób, w jaki to interpretujemy. W przypadku bitów klasycznych bit, który wchodził na górną linię z lewej, wychodził na górnej linię z prawej niezmieniony. Nadal to zachodzi, jeśli kubit nagórnej linii znajdował się w stanie |0〉 lub |1〉, ale nie jest to prawdą dla pozostałych kubitów.
Załóżmy, że na górze mamy kubit w stanie 1 0 1 1 22 + , a na dole kubit w stanie |0〉.
Wejście wynosi 1 0 1
+ . Ten stan zostaje
zamieniony przez bramkę CNOT na 1 00 1 11 22 + .
Ten stan, jak pamiętamy z rozważań nad eksperymentem EPR, jest stanem splątanym. W rezultacie nie możemy już przypisywać oddzielnych stanów liniom górnym i dolnym. Schemat rysujemy w taki sposób:
Linie reprezentują nasze elektrony lub fotony. Są one oddzielonymi od siebie obiektami i mogą znajdować się bardzo daleko od siebie. Pamiętajmy jednak, że skoro są one splątane, każdy pomiar na jednym z nich wpłynie na drugi.
Ten przykład ilustruje też, w jaki sposób będziemy często używać tej bramki logicznej. Możemy wprowadzić do bramki dwa niesplątane kubity i użyć jej do ich splątania.
Kwantowe bramki logiczne
Zauważmy, że bramka CNOT permutuje bazowe wektory. Permutacja bazowych wektorów w uporządkowanej bazie ortonormalnej generuje inną uporządkowaną bazę ortonormalną. Wiemy, że każdej takiej bazie ortonormalnej odpowiada określona macierz ortogonalna. W zasadzie wszystkie odwracalne bramki, jakie przedstawiliśmy w poprzednim rozdziale, permutują wektory bazowe. Wszystkie odpowiadają macierzom ortogonalnym.
To pozwala zdefiniować kwantowe bramki logiczne. Są one operacjami, które mogą być opisane przez macierze ortogonalne.
Tak jak w przypadku klasycznych obliczeń, chcemy uzbierać małą kolekcję prostych bramek logicznych, które będzie można łączyć w obwody. Zaczniemy od przyjrzenia się najprostszym bramkom, takim, które działają tylko na jeden kubit.
Kwantowe bramki logiczne działające na jeden kubit
W klasycznym wydaniu odwracalnych obliczeń istnieją dwie możliwe operacje boolowskie, które można przeprowadzić na jednym bicie: identyczność, która pozostawia bit takim, jakim był, i NOT, która zamienia miejscami wartości 0 i 1. Dla kubitów istnieje nieskończenie wiele możliwych bramek logicznych!
Zacznijmy od dwóch bramek kwantowych odpowiadających klasycznej identyczności. Obie pozostawiają kubity |0〉 i |1〉 niezmienione. Następnie przyjrzyjmy się dwóm bramkom kwantowym, które odpowiadają zamianie miejscami wartości kubitów |0〉 i |1〉. Te cztery bramki nazwane zostały „transformacjami Pauliego” od nazwiska Wolfganga Pauliego.
Bramki I i Z
Bramka I jest po prostu macierzą identyczności (macierzą jednostkową)
Zobaczymy, jak I oddziałuje na dany kubit a0|0〉+a1|1〉.
Nie jest zaskoczeniem, że I działa jak identyczność i zostawia kubit niezmieniony.
Bramka Z jest zdefiniowana macierzą
I znów zobaczmy, jak Z działa na dany kubit a0|0〉+a1|1〉.
Za
Z pozostawia niezmienioną amplitudę prawdopodobieństwa dla |0〉 , ale zmienia znak amplitudy prawdopodobieństwa dla |1〉. Ale zobaczmy dokładniej, co właściwie robi Z.