Q Sharp

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

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

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

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

Использование[править | править код]

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

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

Возможности[править | править код]

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

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

В пакет 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 (11 December 2017). Дата обращения 27 декабря 2017.
  5. Microsoft readies dev kit, Q# language for quantum computing (англ.), InfoWorld (15 December 2017). Дата обращения 28 декабря 2017.
  6. Mathias Soeken, Thomas Häner, Martin Roetteler. Programming Quantum Computers Using Design Automation (англ.). arXiv.org (2 March 2018). Дата обращения 19 июня 2018. Архивировано 19 июня 2018 года.
  7. Installing and Validating the Q# Development Environment (англ.). Microsoft Docs (11 December 2017). Дата обращения 27 декабря 2017.

Ссылки[править | править код]