Pochodzę z informatyki i trudno mi decydować o zasobach, na których powinienem się skoncentrować, ucząc się obliczeń kwantowych, ponieważ jest tak wiele do czytania / oglądania. Moim ostatecznym celem jest stworzenie języka programowania działającego jako interfejs między komputerami kwantowymi a osobą podobną do roku 1972, kiedy powstało C. Jako realistyczny etap pośredni chciałbym przejść do pisania programów na QISKit IBM.
W tym celu potrzebowałbym schematycznego przewodnika po studiach, aby uzyskać niezbędne podstawy fizyki i powiązanych dziedzin wymaganych do nurkowania w dziedzinie obliczeń kwantowych. Czy to już istnieje: uporządkowana lista niezbędnych pojęć i umiejętności do opanowania, która, jeśli to możliwe, wymienia również odpowiedni materiał do zdobycia każdego z nich ?
Załóż znajomość fizyki na poziomie szkoły średniej. Zapewnij przewodnik do nauki, tj. Przewodnik dla początkujących i ekspertów. Spróbuj wymienić zasoby wideo / książkowe, których należy przestrzegać w porządku chronologicznym, aby stać się ekspertem w dziedzinie obliczeń kwantowych do poziomu, w którym mogę pisać własny język obliczeń kwantowych (zakładając, że masz już inne umiejętności CS do pisania języka) .
źródło
Odpowiedzi:
Nie sądzę, że istnieje jeden złoty zasób, który może zapewnić ci całą niezbędną wiedzę. Ale mogę zasugerować ścieżkę (lub schematyczny przewodnik po twoich słowach):
Jeśli twoim celem jest stworzenie nowego języka programowania kwantowego, wolę powiedzieć, że powinieneś najpierw dokładnie nauczyć się istniejącego języka programowania kwantowego wraz z podstawowymi pojęciami obliczeń kwantowych, zarówno od strony fizyki, jak i informatyki (może nawet matematyki bok!).
Microsoft ma swój kwantowy język programowania o nazwie Q # (który jest częścią ich Quantum Development Kit ). Kompletny przewodnik po dokumentacji znajduje się na ich stronie internetowej: https://docs.microsoft.com/en-us/quantum . Jeśli jesteś po stronie CS, mam nadzieję, że masz już pewną wiedzę na temat wektorów, macierzy i algebry liniowej w ogóle. Jeśli tak, możesz bezpośrednio zacząć czytać przewodnik po artykule. Początkowo zaczynają się od krótkiej rewizji macierzy, wektorów itp., A następnie krótkiego wprowadzenia do kubitów. Tyle wystarczy, aby przynajmniej zacząć pisać podstawowy program kwantowy, przy minimalnym zrozumieniu fizyki. Nawiasem mówiąc, jeśli twoje pojęcia algebry liniowej są słabe, zawsze możesz spróbowaćWykłady Khan Academy na ten sam temat.
Następnie chciałbyś nauczyć się przynajmniej kilku podstaw mechaniki kwantowej. Osobiście uwielbiam wykłady profesora Vazirani , które są teraz na Youtube. W około 60 dziesięciominutowych wykładach omawia wszystkie niezbędne podstawy mechaniki kwantowej i algorytmów obliczeń kwantowych. Po tym będziesz w dobrym stanie, aby samodzielnie wybrać nowe algorytmy.
Jako trzeci krok zaproponowałbym wybranie „ Obliczeń kwantowych i informacji kwantowych” Isaaca Chuanga i Michaela Nielsena, a także „ Obliczeń kwantowych dla informatyków Mirco A. Mannucciego i Nosona S. Yanofsky'ego ” za omówienie ważnych tematów przegapiłem.
To powinno wystarczyć, aby uzyskać solidne podstawy do pisania własnego kwantowego języka programowania. Możesz także zapoznać się z samouczkami dotyczącymi innych popularnych języków obliczeń kwantowych, aby dowiedzieć się, jak pisać programy kwantowe i projektować kwantowe języki programowania.
źródło
Proponuję zastanowić się nad tym, czy cel „stworzenia nowego języka programowania kwantowego” jest odpowiedni na tym etapie rozwoju obliczeń kwantowych. To nie jest najczęstsze podejście, ponieważ przeważnie wciąż jesteśmy na etapie myślenia o tym, czym jest język maszynowy. Kiedy tworzymy algorytmy, poziom, na którym się to robi, jest podobny do wyrażania klasycznych algorytmów w kategoriach bramek logicznych (takich jak ten przykład mnożenia). Kwantowe zestawy SDK, takie jak QISKit, są zasadniczo sposobami do tworzenia zadań wysyłanych do sprzętu kwantowego lub symulatorów. Obejmuje to narzędzia do przeprowadzania symulacji, optymalizacji czasu pracy lub poziomu hałasu itp. Nie są to tak naprawdę języki w sensie wysokiego poziomu, do którego jesteśmy przyzwyczajeni w obliczeniach klasycznych.
Dla wprowadzenia do tego, co dzieje się na tym poziomie stosu kwantowego, pomocne może być Q dla Quantum autorstwa Terry'ego Rudolpha.
Jako pośredni cel pisania programów za pomocą QISKit polecam samouczek QISKit . Ma wiele sprawdzonych przykładów wdrażania krótkich programów kwantowych. Istnieje również publikacja QISKit na Medium, w której niektóre elementy tego samouczka są wyjaśnione bardziej szczegółowo. Istnieje także z gamizowany samouczek dotyczący QISKit , który może być przydatny jako rozgrzewka do pełnego samouczka QISKit.
Pełne ujawnienie: przyczyniłem się do wszystkich rzeczy wymienionych w ostatnim akapicie.
źródło