Komputer kwantowy. Programowanie, algorytmy, kod

39,09

Opis

Komputery kwantowe nie są już tylko urządzeniami teoretycznymi. Nie są też futurystycznym monstrum, obcą maszyną, która zamieni całe istniejące oprogramowanie w jakąś jego niezrozumiałą alternatywę. Komputery kwantowe (QPU) staną się raczej radykalnym rozszerzeniem możliwości współczesnej informatyki, które pozwoli nam rozwiązać problemy dotychczas nierozwiązywalne. Istnieją ważne zadania, z którymi QPU potrafią sobie świetnie poradzić, a których rozwiązanie byłoby niemożliwe na jakimkolwiek standardowym urządzeniu komputerowym. Z drugiej strony z wieloma standardowymi obliczeniami QPU nie radzi sobie dużo lepiej niż najzwyklejszy laptop. Z punktu widzenia programisty zatem stanowi rodzaj koprocesora o ciekawych możliwościach.Oto przewodnik po wspaniałym, nieodkrytym jeszcze do końca świecie informatyki kwantowej. Aby ją zrozumieć, niepotrzebny jest doktorat z fizyki kwantowej i wyższej matematyki. Dzięki tej książce opanujesz zestaw pojęć niezbędnych do zrozumienia działania QPU, dowiesz się, jakie problemy mogą rozwiązać aplikacje QPU i nauczysz się korzystać z narzędzi do pisania programów dla QPU. Zaprezentowane tu koncepcje są bogato ilustrowane przykładami, które można łatwo uruchomić na darmowym symulatorze QCEngine. Istnieje też możliwość korzystania z fizycznych QPU (kilka prototypów QPU udostępniono w chmurze). Interesującą, choć nieco trudniejszą częścią przewodnika jest rozdział poświęcony zastosowaniu obliczeń kwantowych w uczeniu maszynowym.W tej książce:koncepcje programowania procesorów kwantowychkubity, superpozycja i teleportacje kwantoweprymitywy QPUwzmacnianie amplitudy, kwantowa transformacja Fouriera i szacowanie fazyprzykłady aplikacji QPUQPU: zrób pierwszy krok ku technologii przyszłości!Spis treści:Wstęp 91. Wprowadzenie 13Wymagania wstępne 13Czym jest QPU? 14Podejście praktyczne 15Elementarz QCEngine 15Natywne instrukcje QPU 17Ograniczenia symulatorów 20Ograniczenia sprzętu 20QPU a GPU: charakterystyka ogólna 20CZĘŚĆ I. PROGRAMOWANIE DLA QPU2. Jeden kubit 25Krótkie spojrzenie na fizyczny kubit 26Wprowadzenie notacji kołowej 29Rozmiar kół 29Rotacja kół 30Pierwsze operacje QPU 31Instrukcja QPU: NOT 32Instrukcja QPU: HAD 32Instrukcja QPU: READ 33Instrukcja QPU: WRITE 33Czas na praktykę: idealnie losowy bit 34Instrukcja QPU: PHASE(?) 37Instrukcje QPU: ROTX(?) i ROTY(?) 38COPY: brakująca operacja 38Łączenie operacji QPU 39Instrukcja QPU: ROOT-of-NOT 39Czas na praktykę: kwantowy łowca szpiegów 41Podsumowanie 443. Wiele kubitów 45Notacja kołowa rejestrów multikubitowych 45Rysowanie rejestru wielokubitowego 48Operacje jednokubitowe w wielokubitowych rejestrach 48Czytanie kubitu w wielokubitowym rejestrze 50Wizualizowanie większej liczby kubitów 51Instrukcja QPU: CNOT 52Czas na praktykę: wykorzystanie par Bella w dzielonej losowości 55Instrukcje QPU: CPHASE i CZ 56Sztuczka QPU: odbicie fazowe 57Instrukcja QPU: CCNOT (bramka Toffoliego) 59Instrukcje QPU: SWAP i CSWAP 60Test SWAP 61Tworzenie operacji warunkowej 63Czas na praktykę: zdalnie kontrolowana losowość 66Podsumowanie 684. Teleportacja kwantowa 69Czas na praktykę: teleportujmy sobie coś 69Spacer po programie 74Krok 1. Utworzenie splątanej pary 75Krok 2. Przygotowanie ładunku 75Krok 3.1. Połączenie ładunku ze splątaną parą 76Krok 3.2. Wprowadź ładunek w superpozycję 76Krok 3.3. Odczytaj oba kubity Alice 77Krok 4. Odbierz i przekształć 78Krok 5. Weryfikacja wyniku 78Interpretowanie wyników 80Jak naprawdę używa się teleportacji? 81Zabawne wypadki przy teleportacji 81CZĘŚĆ II. PRYMITYWY QPU5. Kwantowe arytmetyka i logika 85Dziwnie odmienne 85Arytmetyka na QPU 87Czas na praktykę: budowanie operatorów inkrementacji i dekrementacji 87Dodawanie dwóch kwantowych liczb stałoprzecinkowych 90Ujemne liczby stałoprzecinkowe 91Czas na praktykę: bardziej złożona matematyka 92Prawdziwa kwantowość 93Wykonanie kwantowo-warunkowe 94Wyniki kodowane w fazie 95Odwracalność i kubity skreczowe 96Odwracanie skutków obliczeń 98Mapowanie logiki booleanowskiej do operacji QPU 101Podstawowa logika kwantowa 101Podsumowanie 1036. Wzmacnianie amplitudy 105Czas na praktykę: konwersja między fazą a wielkością 105Iteracja wzmacniania amplitudy 108Więcej iteracji? 108Wiele wejść z flipem 111Wykorzystanie wzmocnienia amplitudy 116AA i QFT jako szacowanie sumy 116Przyspieszanie konwencjonalnych algorytmów za pomocą AA 117Wewnątrz QPU 117Intuicja 117Podsumowanie 1197. QFT: Kwantowa transformata Fouriera 121Ukryte wzorce 121QFT, DFT i FFT 123Częstotliwości w rejestrze QPU 123DFT 126Rzeczywiste i zespolone wejścia DFT 128DFT dowolnego sygnału 130Używanie QFT 132QFT jest szybka 132Wewnątrz QPU 139Zrozumienie zasad 140Operacja po operacji 141Wnioski 1458. Szacowanie fazy kwantowej 147Uczymy się o operacjach QPU 147Fazy własne uczą nas czegoś użytecznego 148Co robi szacowanie fazy 149Jak korzystać z szacowania fazy 150Wejścia 150Wyjścia 152Drobnym drukiem 153Dobór rozmiaru rejestru wyjściowego 153Złożoność 154Operacje warunkowe 154Szacowanie fazy w praktyce 154Wewnątrz QPU 155Jak to działa? 156Operacja po operacji 157Podsumowanie 159CZĘŚĆ III. ZASTOSOWANIA QPU9. Prawdziwe dane 163Dane liczbowe 163QRAM 165Kodowanie wektorów 168Ograniczenia kodowania amplitudy 171Kodowanie amplitudy i notacja kołowa 172Kodowanie macierzy 173Jak operacja QPU może reprezentować macierz? 173Symulacja kwantowa 17410. Kwantowe wyszukiwanie 179Logika fazowa 180Budowanie podstawowych operacji logiki fazowej 182Budowanie złożonych zdań logiki fazowej 182Rozwiązywanie łamigłówek logicznych 185O kotkach i tygrysach 185Ogólny przepis na rozwiązanie problemu spełnialności formuły logicznej 189Czas na praktykę: rozwiązujemy formułę boolowską 3-SAT 190Czas na praktykę: problem 3-SAT niespełniający kryteriów 192Przyśpieszanie konwencjonalnych algorytmów 19411. Kwantowy supersampling 197Co QPU może zrobić dla grafiki komputerowej? 197Zwykły supersampling 198Czas na praktykę: obliczanie obrazów kodowanych fazą 199Kwantowy shader pikseli 200Wykorzystanie PHASE do rysowania 201Rysowanie krzywych 203Próbkowanie obrazów kodowanych fazowo 204Ciekawszy obrazek 205Supersampling 208QSS a konwencjonalny sampling Monte Carlo 208Jak działa QSS 209Dodawanie koloru 214Podsumowanie 21612. Algorytm faktoryzacji Shora 217Czas na praktykę: wykorzystanie algorytmu faktoryzacji Shora na QPU 218Jak właściwie działa algorytm Shora? 219Czy w ogóle potrzebujemy QPU? 220Podejście kwantowe 222Krok po kroku: faktoryzacja liczby 15 223Krok 1. Inicjalizacja rejestrów QPU 224Krok 2. Rozszerzenie do superpozycji kwantowej 224Krok 3. Warunkowe mnożenie przez 2 227Krok 4. Warunkowe mnożenie przez 4 228Krok 5. Kwantowa transformata Fouriera 229Krok 6. Odczytanie kwantowego wyniku 231Krok 7. Logika cyfrowa 231Krok 8. Sprawdzenie wyniku 234Drobnym drukiem 235Obliczanie reszty z dzielenia 235Czas a przestrzeń 236Kopierwsze inne niż 2 23613. Kwantowe uczenie maszynowe 237Rozwiązywanie układów równań liniowych 238Opisywanie i rozwiązywanie układów równań liniowych 238Rozwiązywanie układu równań liniowych za pomocą QPU 240Kwantowa analiza głównych składowych 249Standardowa analiza składowych głównych 249PCA z QPU 250Kwantowa maszyna wektorów podtrzymujących 254Standardowe maszyny wektorów podtrzymujących 254SVM z QPU 257Inne aplikacje uczenia maszynowego 260CZĘŚĆ IV. PERSPEKTYWY14. Bądź na bieżąco: przewodnik po literaturze 265Od notacji kołowej po wektory zespolone 265Subtelności i uwagi na temat terminologii 267Podstawy miary 268Rozkład bramki i kompilacja 269Teleportacja bramek 271Galeria sław 271Wyścig: komputery kwantowe a klasyczne 272Uwaga na temat algorytmów opartych na wyroczni kwantowej 273Algorytm Deutscha-Jozsy 273Algorytm Bernsteina-Vaziraniego 273Algorytm Simona 274Języki programowania kwantowego 274Obietnica kwantowej symulacji 275Korekcja błędu i urządzenia NISQ 276Co dalej? 276Książki 276Notatki z wykładów 277

sylwia kamińska, anna zieba, irk awf katowice, jak odpocząć

yyyyy