Чи існує посібник з дослідження, який починається з "чисто CS-середовища" і рухається до "створення нової мови квантового програмування"?


12

Я походження з інформатики, і мені важко визначитися з ресурсами, на яких слід зосередитись під час вивчення квантових обчислень, оскільки читати / дивитись так багато. Моя кінцева мета - зробити так, щоб мова програмування виступала як інтерфейс між квантовими комп'ютерами та людиною, подібною до 1972 року, коли C був зроблений. Як реалістичний проміжний етап, я хотів би перейти до суті написання програм на IBM QISKit.

Для цього мені знадобиться схематичний посібник з вивчення, щоб отримати необхідні знання з фізики та суміжних полів, необхідних для занурення в поле квантових обчислень. Це вже існує: упорядкований перелік незамінних понять та вмінь для оволодіння, які, якщо можливо, також згадують адекватний матеріал для придбання кожного з них ?

Припустимо знання фізики середнього рівня. Надайте навчальний посібник, тобто від початківця до експертного посібника. Спробуйте перелічити ресурси відео / книг, за якими слід дотримуватися у хронологічному порядку, щоб стати експертом у галузі квантових обчислень до рівня, який я можу написати власною мовою квантових обчислень (якщо припустити, що вже володію іншими навичками CS для написання мови) .



3
Ласкаво просимо в Quantum Computing SE! В даний час в заголовку цього питання видно, що ви задаєте щось широке та на основі думок (а саме це не призначений для формату запитів і відповідей SE), хоча головна частина питання дає зрозуміти, що це насправді запит на ресурси (що прийнятно). Таким чином, було б найбільш корисно, якби ви відредагували назву питання, щоб бути більш конкретним щодо того, що ви хочете знати. Крім того, це може бути корисно, якщо ви включили саме те, що відсутні відповіді на питання, пов'язані в коментарях, тому ми можемо краще допомогти. Дякую!
Mithrandir24601

1
Зокрема, див. Нашу політику щодо запитів щодо використання ресурсів . Це далеко занадто широко.
Хізер

1
Ви думаєте про щось на кшталт nand2tetris, але квантове? Або щось на кшталт книги "Квантове обчислення для вчених-комп'ютерів"?
Джеймс Вуттон,

1
Завдяки вашим правкам, я вважаю, що це зараз відповідає вимогам щодо запиту ресурсів, тому я знову відкрився.
Хізер

Відповіді:


11

Я не думаю, що існує жодного золотого ресурсу, який може надати вам усі необхідні знання. Але я можу запропонувати шлях (або схематичний посібник з вивчення ваших слів):

Якщо ваша мета полягає у створенні нової мови квантового програмування, я б сказала, що ви повинні досконало вивчити існуючу мову програмування кванту спочатку разом з основними поняттями квантових обчислень, як з фізики, так і з боку інформатики (можливо, навіть з математики стороні!).

  • Microsoft має свою квантову мову програмування під назвою Q # (яка є частиною їхнього квантового набору розробок ). Повний посібник із документацією-спермою знаходиться на їх веб-сайті: https://docs.microsoft.com/en-us/quantum . Якщо ви з боку CS, я сподіваюся, що ви вже маєте деякі знання про вектори, матриці та лінійну алгебру взагалі. Якщо це так, ви можете безпосередньо почати читати посібник по статті. Спочатку вони починаються з короткого перегляду матриць, векторів тощо, після чого йде коротке ознайомлення з кубітами. Цього достатньо, щоб принаймні почати писати базову квантову програму з мінімальним розумінням фізики, що стоїть за нею. До речі, якщо ваші поняття лінійної алгебри слабкі, ви завжди можете спробуватиЛекції Ханської академії про те саме.

  • Далі ви хочете вивчити хоча б деякі основи квантової механіки. Я особисто люблю лекції професора Вазірані , які зараз на Youtube. У майже 60 десятихвилинних лекціях він висвітлює всі необхідні основи квантової механіки та алгоритми квантових обчислень. Після цього ви зможете самостійно підібрати нові алгоритми.

  • В якості третього кроку я б запропонував підібрати « Квантові обчислення та квантову інформацію Ісаака Чуанга та Майкла Нільсена », а також « Квантові обчислення для вчених-комп’ютерів Мірко А. Маннуччі та Носона С. Янофського » для висвітлення важливих тем, які ви пропустили.

Цього має бути достатньо, щоб ви отримали ґрунтовну основу, щоб почати писати власну мову квантового програмування. Ви також можете ознайомитись з навчальними посібниками для інших загальних квантових обчислювальних мов, щоб отримати уявлення про те, як писати квантові програми та розробляти мови квантового програмування.


6

Я б запропонував вам поміркувати над тим, чи підходить мета "створення нової мови квантового програмування" на даний момент у розвитку квантових обчислень. Це не найпоширеніший підхід, оскільки в основному ми все ще перебуваємо на стадії мислення з точки зору того, що по суті є машинною мовою. Коли ми створюємо алгоритми, рівень, на якому це робиться, аналогічний вираженню класичних алгоритмів з точки зору логічних воріт (наприклад, цей приклад для множення). Квантові SDK, як і QISKit, по суті є способами створення робочих місць для надсилання на квантове обладнання або тренажери. Сюди входять інструменти для моделювання, оптимізації часу виконання або рівня шуму тощо. Вони насправді не є мовами в тому сенсі високого рівня, до якого ми звикли для класичних обчислень.

Для ознайомлення з тим, що відбувається на цьому рівні квантового стеку, Q може бути квантом Террі Рудольфа.

Для вашої проміжної мети написання програм за допомогою QISKit я рекомендую посібник з QISKit . У ньому є багато опрацьованих прикладів впровадження коротких квантових програм. Існує також публікація QISKit на Medium, в якій детальніше пояснюються деякі речі в підручнику. Також є підручник з QISKit , який може бути розробленим , який може бути корисним як розминка для повного навчального посібника з QISKit.

Повне розкриття інформації: Я зробив внесок у всі речі, згадані в заключному пункті.


3
Я хотів би не погодитися з цим. Як тільки FORTRAN був розроблений (коли цифрові комп'ютери були ще досить примітивними), люди почали використовувати його замість машинної мови, і це, мабуть, був найбільшим стрибком мов програмування в історії класичних комп'ютерів. Чому ми повинні змушувати людей програмувати машинною мовою для квантових комп'ютерів? (Я впевнений, що вони будуть для ефективності, але їх не варто змушувати.)
Пітер Шор

1
Чудова точка! Я б сказав, що на даний момент апаратне забезпечення не надто мислить поза машинною мовою. Але було б чудово довести неправильність.
Джеймс Вуттон

Я трохи відредагував свою відповідь, щоб зменшити негатив, і просто зазначив, що наразі це не звичайний спосіб робити речі (хоча це не означає, що це неправильно)
Джеймс Вуттон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.