Q Sharp

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Q#
Изображение логотипа
Класс языка язык квантового программирования[вд], язык функционального программирования и императивный
Появился в 11 декабря 2017[2]
Автор Microsoft Research
Разработчик Microsoft Quantum Architectures and Computation group[вд] и Майкрософт
Расширение файлов .qs
Выпуск
Система типов статическая, сильная
Испытал влияние C# и F#
Лицензия лицензия MIT[3]
Сайт docs.microsoft.com/en-us…
Платформа Common Language Infrastructure
Логотип Викисклада Медиафайлы на Викискладе

Q# (Q Sharp) — предметно-ориентированный язык, используемый для выражения квантовых алгоритмов. Впервые был представлен в составе Quantum Development Kit[4][5].

Во время конференции Microsoft Ignite[англ.] 26 сентября 2017, Microsoft анонсировала релиз нового языка программирования, направленного на квантовые технологии.[4] 11 декабря язык был представлен официально в составе Quantum Development Kit. В марте 2018 появилась научная статья, в которой описывается применение языка к решению проблемы скрытого шифта.[6]

Использование

[править | править код]

Q# возможен для использования только как отдельно загружаемое расширение для Visual Studio.[7] Quantum Development Kit поставляется вместе с квантовым симулятором, на котором может запуститься Q#.

Для вызова квантового симулятора используется другой .NET Framework, который отдаёт входные (классические) данные в симулятор и забирает выходные (классические) данные из него.

Возможности

[править | править код]

Базовая возможность языка: создание и использование кубитов для алгоритмов. Как следствие — одна из наиболее характерных особенностей Q# — возможность запутываться и создавать квантовую суперпозицию между кубитами через вентили CNOT и Адамара (H), соответственно.

В Q# кубиты создаются топологически[англ.].

В пакет Quantum Development Kit входит квантовый симулятор, способный обрабатывать до 30 кубитов локально и от 32 до 40 кубитов в облаке Azure.

Q# синтаксически похож на C# и F#, с некоторыми отличиями.

  • функции определяются словом function;
  • операторы для работы над квантами определяются словом operation;
  • отсутствуют многострочные комментарии;
  • использование проверок вместо обработки ошибок;
  • документация пишется в Markdown.

Примечания

[править | править код]
  1. Release 99045 — 2019.
  2. The future is quantum: Microsoft releases free preview of Quantum Development Kit — 2017.
  3. https://api.github.com/repos/Microsoft/Quantum
  4. 1 2 "Announcing the Microsoft Quantum Development Kit". Microsoft Quantum (англ.). 2017-12-11. Архивировано 11 декабря 2017. Дата обращения: 27 декабря 2017.
  5. "Microsoft readies dev kit, Q# language for quantum computing". InfoWorld (англ.). 2017-12-15. Дата обращения: 28 декабря 2017.
  6. Mathias Soeken, Thomas Häner, Martin Roetteler. Programming Quantum Computers Using Design Automation (англ.). arXiv.org (2 марта 2018). Дата обращения: 19 июня 2018. Архивировано 19 июня 2018 года.
  7. Installing and Validating the Q# Development Environment (англ.). Microsoft Docs (11 декабря 2017). Дата обращения: 27 декабря 2017.