100880753

Page 1


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.

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.