Возврат к списку

В популярные редакторы кода добавили поддержку языка программирования для квантовых компьютеров – Q#

30.07.2019     

Компания Microsoft расширила набор инструментов Quantum Development Kit и открыла код дополнений для редакторов Visual Studio и VS Code. Теперь в этих редакторах можно комфортно программировать на Q# – языке для квантовых компьютеров.

Что вошло в обновление

Свежая версия Quantum Development Kit (QDK) включает все необходимое для старта разработки на Q#:

  • инструмент командной строки;
  • компилятор для уникального языка программирования;
  • обработчик LanguageServer.

В набор включили дополнения для Visual Studio и VS Code. Если их загрузить и активировать, то разрабатывать приложения для квантовых вычислений вы сможете непосредственно в популярных редакторах кода Microsoft. Первая версия QDK вышла в конце 2017 года. Работать с ней можно было только из Windows. Позднее создатели добавили поддержку Linux и macOS. 

Чем интересен Q#

Q# – предметно-ориентированный язык программирования. Он создан для квантовых вычислений, одно из первых применений Q# – решение задачи скрытого шифра. В командах Q# можно выразить квантовые алгоритмы. Квантовые алгоритмы выполняются на квантовых компьютерах, существующих лишь в виде экспериментов, а Q# позволяет симулировать эти вычисления. 

Симулятор вычислений на квантовом компьютере – основа QDK. Таким образом, Q# делает квантовое программирование доступным всем желающим. Чтобы вызвать квантовый симулятор в QDK, используется .NET Framework. Он передает классические входные данные и забирает из него результат (также в классической форме). 

Синтаксис Q# похож на C# и F#. Для функций есть ключевое слово function, для операторов работы с кубитами – operation. При этом многострочные комментарии создавать нельзя, а вместо обработки ошибок следует использовать проверку. Документировать код можно в Markdown.

Как происходят квантовые вычисления

Квантовый алгоритм задает последовательность гейтов или вентилей. Это унитарные операции, которые нужно совершить над определенными кубитами. Кубит – это минимальная ячейка памяти квантового компьютера. Бит, только квантовый. У кубита есть два собственных состояния – 0 и 1, как у традиционного бита. Есть и третье состояние – суперпозиция первых двух. Ее выражают как А(0) + В(1), причем А и В – комплексные числа, а сумма их квадратов равна 1. 

В результате выполнения квантовых вычислений нельзя получить точный и конкретный ответ – только вероятность. Но если немного увеличить число операций в квантовом алгоритме, можно максимально приблизить вероятность правильного ответа к 1. Правильно составленный квантовый алгоритм и квантовый компьютер, для которого он создан, ускоряют выполнение классических вычислений. Это потенциальный прорыв для науки и техники.

Квантовый симулятор в QDK может обрабатывать до 30 кубитов на локальном ПК и 32-40 кубитов в облаке Azure. Кубиты могут запутываться, а квантовая суперпозиция создается через вентили Адамара. 

Исходный код набора доступен на GitHub. Разработчики опубликовали его под свободной лицензией MIT. 


Автор:
Ксения Шестакова Обозреватель


Комментарии
Избранное Подписка Сортировка: Рейтинг
1. VmvLer 30.07.19 16:10 Сейчас в теме
Создавать эффективные квантовые алгоритмы без глубоких знаний в высшей математике практически не реально.
Посему ход MS вполне логичен - привлечь как можно больше самородков в перспективную реальность.

Думаю, 1С-ки пенсионеры станут осваивать эту нишу.
Во-первых, у них часто хорошее физико-математическое образование.
Во-вторых, они достаточно психологически устойчивы после опыта работы с технологиями 1С.
Астиг; dmurk; acanta; +3 Ответить
4. realchel 30.07.19 22:58 Сейчас в теме
Какой я тупой
АлександрЯрославичъ; akimych; artbear; +3 Ответить
2. Darklight 19 30.07.19 16:50 Сейчас в теме
Дайте посмотреть на программу, написанную на Q#
5. Darklight 19 31.07.19 13:26 Сейчас в теме
(3)Спасибо за ссылку, уже успел прочесть - увы там слишком примитивные примеры, хоть и дающие базовое представление
Оставьте свое сообщение