Я из области компьютерных наук, и мне трудно определиться с ресурсами, на которых я должен сосредоточиться при изучении квантовых вычислений, так как есть так много для чтения / просмотра. Моя конечная цель - сделать язык программирования, действующий как интерфейс между квантовыми компьютерами и человеком, похожим на человека 1972 года, когда был создан язык Си. В качестве реалистичного промежуточного этапа я хотел бы приступить к написанию программ на QISKit от IBM.
Для этого мне понадобится схематическое учебное пособие, чтобы получить необходимые знания по физике и смежным областям, необходимым для погружения в область квантовых вычислений. Существует ли это уже: упорядоченный список необходимых понятий и способностей для освоения, в котором, по возможности, также упоминается достаточный материал для приобретения каждого из них ?
Примите знания физики на уровне средней школы. Предоставить учебное пособие, то есть от начинающего до опытного руководства. Постарайтесь перечислить ресурсы видео / книг, которым нужно следовать в хронологическом порядке, чтобы стать экспертом в области квантовых вычислений, до уровня, на котором я могу написать свой собственный язык квантовых вычислений (при условии, что у меня уже есть другие навыки CS для написания языка) ,
источник
Ответы:
Я не думаю, что есть единственный золотой ресурс, который может дать вам все необходимые знания. Но я мог бы предложить путь (или схематичное учебное пособие в ваших словах):
Если ваша цель - создать новый язык квантового программирования, я бы скорее сказал, что вы должны сначала тщательно изучить существующий язык квантового программирования, а также основные понятия квантовых вычислений, как со стороны физики, так и со стороны компьютерных наук (возможно, даже математики). сторона!).
У Microsoft есть свой квантовый язык программирования под названием Q # (который является частью их Quantum Development Kit ). Полное руководство по документации находится на их веб-сайте: https://docs.microsoft.com/en-us/quantum . Если вы со стороны CS, я надеюсь , что у вас уже есть некоторые знания векторов, матриц и линейной алгебры в целом. Если это так, вы можете начать читать руководство постатейно. Первоначально они начинаются с краткого пересмотра матриц, векторов и т. Д., За которым следует краткое введение в кубиты. Этого достаточно для того, чтобы хотя бы начать писать основную квантовую программу с минимальным пониманием физики, стоящей за ней. Кстати, если ваши понятия линейной алгебры слабы, вы всегда можете попробоватьЛекции ханской академии о том же.
Далее вы бы хотели изучить хотя бы некоторые основы квантовой механики. Я лично люблю лекции профессора Вазирани , которые сейчас на Youtube. Около 60 десятиминутных лекций он охватывает все необходимые основы квантовой механики и алгоритмов квантовых вычислений. После этого вы будете в хорошей форме, чтобы самостоятельно выбирать новые алгоритмы.
В качестве третьего шага я бы предложил взять « Квантовые вычисления и квантовую информацию Исаака Чуанга и Майкла Нильсена », а также « Квантовые вычисления для компьютерных ученых» Мирко А. Маннуччи и Носона С. Янофски »для освещения важных тем, которые вы пропустил.
Этого должно быть достаточно для того, чтобы вы получили прочную основу, чтобы начать писать свой собственный квантовый язык программирования. Вы также можете изучить учебные пособия для других распространенных языков квантовых вычислений, чтобы получить представление о том, как писать квантовые программы и разрабатывать квантовые языки программирования.
источник
Я бы посоветовал вам задуматься над тем, подходит ли цель «создания нового языка квантового программирования» на данном этапе разработки квантовых вычислений. Это не самый распространенный подход, поскольку в основном мы все еще находимся на стадии мышления с точки зрения того, что по сути является машинным языком. Когда мы создаем алгоритмы, уровень, на котором это делается, подобен выражению классических алгоритмов в терминах логических элементов (таких как этот пример для умножения). Квантовые SDK, такие как QISKit, по сути являются способами создания рабочих мест для отправки на квантовое оборудование или симуляторы. Это включает в себя инструменты для выполнения моделирования, оптимизации для времени выполнения или уровня шума и т. Д. Они на самом деле не являются языками в том высокоуровневом смысле, к которому мы привыкли при классических вычислениях.
Для введения в то, что происходит на этом уровне квантового стека, Терри Рудольф может помочь Q для Quantum .
Для вашей промежуточной цели написания программ с использованием QISKit я бы порекомендовал учебник по QISKit . Он имеет много отработанных примеров реализации коротких квантовых программ. Существует также публикация QISKit на Medium, в которой некоторые вещи из учебника объясняются более подробно. Существует также игровое руководство по QISKit , которое может быть полезно в качестве разминки для полного руководства по QISKit.
Полное раскрытие: я внес вклад во все вещи, упомянутые в последнем абзаце.
источник