Q Sharp

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Q#
Система типов статическая, сильная

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

История

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

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

Q# возможен для использования только как отдельно загружаемое расширение для Visual Studio.[4] 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. 1,0 1,1 Announcing the Microsoft Quantum Development Kit (англ.), Microsoft Quantum (11 December 2017). Архивировано 11 декабря 2017 года. Дата обращения 27 декабря 2017.
  2. Microsoft readies dev kit, Q# language for quantum computing (англ.), InfoWorld (15 December 2017). Дата обращения 28 декабря 2017.
  3. Mathias Soeken, Thomas Häner, Martin Roetteler. Programming Quantum Computers Using Design Automation (англ.). arXiv.org (2 марта 2018). Дата обращения: 19 июня 2018. Архивировано 19 июня 2018 года.
  4. Installing and Validating the Q# Development Environment (англ.). Microsoft Docs (11 декабря 2017). Дата обращения: 27 декабря 2017.

Ссылки