Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Grin_A_S_i_dr__Vvedenie_v_kvantovoe_program.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
102.44 Кб
Скачать

Уважаемый читатель!

Все переводные материалы, представленные в каталоге «Переводы», выложены в свободный доступ для свободного использования в образовательных и научных целях. Я, как переводчик, рад, что мои труды не пропадают даром и используются хорошими людьми. Однако я был бы ещё больше рад, если бы хорошие люди благодарили меня за мой непростой труд. Благодарность можно выразить при помощи переводов (как говорится, «перевод за перевод») на следующие счета в различных платёжных системах:

  • Яндекс.Деньги: 4100137733052.

  • WebMoney: R211895623295.

  • PayPal: darkus.14@gmail.com.

Ваша благодарность поможет мне и дальше заниматься переводами и выкладывать их в свободный доступ.

Введение в квантовое программирование на языке Quipper Грин а. С., Лумсдайне п. Л., Росс н. Дж., Зелингер п., Валирон б.

Университет Далхаузи, Институт перспективных исследований, Университет Пенсильвании

Аннотация

Quipper — это недавно разработанный язык программирования для описания квантовых алгоритмов. Эта статья даёт краткое введение в язык при помощи описания его ключевых свойств и демонстрации их использования. Мы показываем многие свойства языка Quipper при помощи реализации нескольких широко известных квантовых алгоритмов и концепций, включая квантовую телепортацию, квантовое преобразование Фурье и квантовую схему для выполнения операции сложения.

Ключевые слова: квантовые вычисления, языки программирования, Quipper.

1. Введение

1.1. Обзор

Язык программирования Quipper [10] является встроенным языком программирования для квантовых вычислений. Он был разработан как часть проекта QCS [13] агенства IARPA. Задекларированной целью проекта QCS является «аккуратно оценить и сократить вычислительные ресурсы, которые требуются для реализации квантовых алгоритмов на реалистичном квантовом компьютере» с акцентом на использовании техник, разработанных в рамках компьютерных наук (CS).

В этой статье мы покажем, как язык Quipper может быть использован для реализации существующих квантовых алгоритмов при помощивнимательного рассмотрения некоторых из возможностей языка, которые были специально добавлены для выполнения этой задачи. Развитие языка Quipper руководствовалось целью реализации семи нетривиальных квантовых алгоритмов, которые можно найти в литературе [3, 5, 11, 12, 14, 17, 18]. Эти алгоритмы были выбраны в рамках проекта QCS и предоставлены ​​нам в модифицированной форме. Они охватывают широкий спектр методов, используемых в рамках квантовых вычислений. Каждый алгоритм имеет свои собственные особенности, которые помогли разработать возможности языка Quipper, которые теперь в нём доступны.

Чтобы попытаться продемонстрировать использование языка Quipper и дать представление о тех типах задач, в рамках решения которых полезны различные языковые особенности, мы будем использовать простые примеры. Далее мы рассмотрим три основных независимых друг от друга примеров:

  • Квантовая телепортация покажет нам: модель квантовых схем в основе языка Quipper, примитивные операции языка Quipper, квантовые типы данных, обобщённые функции, комментарии и метки.

  • Квантовое преобразование Фурье и квантовое сложение поможет нам увидеть: рекурсию, операторы на уровне схем, схемы в виде процедур и симуляцию.

  • Мы закончим рассмотрение таких особенностей языка Quipper, которые могут быть использованы для генерации квантовых оракулов, а именно: автоматическая генерация квантовых схем на основе классических функций, синтез обратимых схем и преобразование схем.

Мы так же кратко рассмотрим возможности языка Quipper, которые позволяют оценить вычислительные ресурсы, необходимые для реализации алгоритма.

В другой недавней работе [10] мы более подробно описали обоснование различных вариантов проектирования возможностей языка, в том числе высокоуровневый обзор его особенностей. Также мы дали больше общих сведений по имеющимся квантовым языкам программирования, и о создании самого языка Quipper. С другой стороны, целью настоящей работы является предоставить введение в язык Quipper для программистов, используя примеры, которые были выбраны для проведения читателей по некоторым из основных особенностей языка.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]