Q Sharp

Q#
Изображение логотипа
Класс языка язык квантового программирования[вд], функциональный, императивный и предметно-ориентированный язык программирования
Появился в 11 декабря 2017[2]
Автор Microsoft Research
Разработчик Microsoft Quantum Architectures and Computation group[вд] и Microsoft
Расширение файлов .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 (англ.). 11 декабря 2017. Архивировано 11 декабря 2017. Дата обращения: 27 декабря 2017.
  5. Microsoft readies dev kit, Q# language for quantum computing. InfoWorld (англ.). 15 декабря 2017. Дата обращения: 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.

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.