Komputer kwantowy Programowanie algorytmy kod.pdf

(2340 KB) Pobierz
Tytuł oryginału: Programming Quantum Computers: Essential Algorithms and Code Samples
Tłumaczenie: Katarzyna Wojtkowiak
ISBN: 978-83-283-6778-4
© 2021 Helion SA
Authorized Polish translation of the English edition of Programming Quantum Computers ISBN
9781492039686 © 2019 Eric R. Johnston, Nic Harrigan, Mercedes Gimeno-Segovia.
This translation is published and sold by permission of O’Reilly Media, Inc.,
which owns or controls all rights to publish and sell the same.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autorzy oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Autorzy oraz Helion SA nie ponoszą również
żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Helion SA
ul. Kościuszki 1c, 44-100 Gliwice
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/komkwa
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/komkwa.zip
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Wstęp .......................................................................................................................... 9
1. Wprowadzenie ..........................................................................................................13
Wymagania wstępne .................................................................................................................... 13
Czym jest QPU? ........................................................................................................................... 14
Podejście praktyczne ................................................................................................................... 15
Elementarz QCEngine ...........................................................................................................15
Natywne instrukcje QPU .......................................................................................................17
Ograniczenia symulatorów ...................................................................................................20
Ograniczenia sprzętu ..............................................................................................................20
QPU a GPU: charakterystyka ogólna ........................................................................................ 20
Część I. Programowanie dla QPU
2. Jeden kubit ................................................................................................................ 25
Krótkie spojrzenie na fizyczny kubit ......................................................................................... 26
Wprowadzenie notacji kołowej ................................................................................................. 29
Rozmiar kół .............................................................................................................................29
Rotacja kół ...............................................................................................................................30
Pierwsze operacje QPU ............................................................................................................... 31
Instrukcja QPU: NOT ............................................................................................................32
Instrukcja QPU: HAD ...........................................................................................................32
Instrukcja QPU: READ ..........................................................................................................33
Instrukcja QPU: WRITE .......................................................................................................33
Czas na praktykę: idealnie losowy bit ..................................................................................34
Instrukcja QPU: PHASE() ..................................................................................................37
Instrukcje QPU: ROTX() i ROTY() ................................................................................38
3
Kup książkę
Poleć książkę
COPY: brakująca operacja ..........................................................................................................38
Łączenie operacji QPU ................................................................................................................39
Instrukcja QPU: ROOT-of-NOT ......................................................................................... 39
Czas na praktykę: kwantowy łowca szpiegów ..........................................................................41
Podsumowanie .............................................................................................................................44
3. Wiele kubitów .......................................................................................................... 45
Notacja kołowa rejestrów multikubitowych .............................................................................45
Rysowanie rejestru wielokubitowego ........................................................................................48
Operacje jednokubitowe w wielokubitowych rejestrach ........................................................48
Czytanie kubitu w wielokubitowym rejestrze .................................................................... 50
Wizualizowanie większej liczby kubitów ..................................................................................51
Instrukcja QPU: CNOT ...............................................................................................................52
Czas na praktykę: wykorzystanie par Bella w dzielonej losowości ........................................55
Instrukcje QPU: CPHASE i CZ ..................................................................................................56
Sztuczka QPU: odbicie fazowe ............................................................................................. 57
Instrukcja QPU: CCNOT (bramka Toffoliego) .......................................................................59
Instrukcje QPU: SWAP i CSWAP .............................................................................................60
Test SWAP .............................................................................................................................. 61
Tworzenie operacji warunkowej ................................................................................................63
Czas na praktykę: zdalnie kontrolowana losowość .................................................................66
Podsumowanie .............................................................................................................................68
4. Teleportacja kwantowa ........................................................................................... 69
Czas na praktykę: teleportujmy sobie coś .................................................................................69
Spacer po programie ....................................................................................................................74
Krok 1. Utworzenie splątanej pary ...................................................................................... 75
Krok 2. Przygotowanie ładunku .......................................................................................... 75
Krok 3.1. Połączenie ładunku ze splątaną parą .................................................................. 76
Krok 3.2. Wprowadź ładunek w superpozycję ................................................................... 76
Krok 3.3. Odczytaj oba kubity Alice .................................................................................... 77
Krok 4. Odbierz i przekształć ............................................................................................... 78
Krok 5. Weryfikacja wyniku ................................................................................................. 78
Interpretowanie wyników ...........................................................................................................80
Jak naprawdę używa się teleportacji? .........................................................................................81
Zabawne wypadki przy teleportacji ...........................................................................................81
4
Spis treści
Kup książkę
Poleć książkę
Część II. Prymitywy QPU
5. Kwantowe arytmetyka i logika ............................................................................... 85
Dziwnie odmienne ....................................................................................................................... 85
Arytmetyka na QPU .................................................................................................................... 87
Czas na praktykę: budowanie operatorów inkrementacji i dekrementacji ....................87
Dodawanie dwóch kwantowych liczb stałoprzecinkowych ................................................... 90
Ujemne liczby stałoprzecinkowe ............................................................................................... 91
Czas na praktykę: bardziej złożona matematyka ..................................................................... 92
Prawdziwa kwantowość .............................................................................................................. 93
Wykonanie kwantowo-warunkowe .....................................................................................94
Wyniki kodowane w fazie .....................................................................................................95
Odwracalność i kubity skreczowe .............................................................................................. 96
Odwracanie skutków obliczeń ................................................................................................... 98
Mapowanie logiki booleanowskiej do operacji QPU ............................................................ 101
Podstawowa logika kwantowa ........................................................................................... 101
Podsumowanie ........................................................................................................................... 103
6. Wzmacnianie amplitudy .........................................................................................105
Czas na praktykę: konwersja między fazą a wielkością ........................................................ 105
Iteracja wzmacniania amplitudy .............................................................................................. 108
Więcej iteracji? ........................................................................................................................... 108
Wiele wejść z flipem .................................................................................................................. 111
Wykorzystanie wzmocnienia amplitudy ................................................................................ 116
AA i QFT jako szacowanie sumy ....................................................................................... 116
Przyspieszanie konwencjonalnych algorytmów za pomocą AA ................................... 117
Wewnątrz QPU .......................................................................................................................... 117
Intuicja .................................................................................................................................. 117
Podsumowanie ........................................................................................................................... 119
7. QFT: Kwantowa transformata Fouriera ................................................................. 121
Ukryte wzorce ............................................................................................................................ 121
QFT, DFT i FFT ................................................................................................................... 123
Częstotliwości w rejestrze QPU ............................................................................................... 123
DFT .............................................................................................................................................. 126
Rzeczywiste i zespolone wejścia DFT ............................................................................... 128
DFT dowolnego sygnału ..................................................................................................... 130
Używanie QFT ........................................................................................................................... 132
QFT jest szybka .................................................................................................................... 132
Spis treści
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin