Квантовые вычисления и язык Q# для начинающих
Немногие знают о существовании в арсенале компании Microsoft проекта Quantum Katas, в рамках которого собрана серия руководств с открытым исходным кодом для самостоятельного обучения программированию на Q# — новом компьютерном языке, созданном специально для квантовых вычислений.
Quantum Katas представляет собой набор упражнений, каждое из которых предлагает последовательность задач по определенной теме квантовых вычислений, от простых до сложных. Каждая задача требует ввода какого-то кода: для первой задачи может потребоваться лишь одна строка, а для последней — крупный фрагмент кода. Построенная на базе Visual Studio тестирующая среда проверяет решения, обеспечивая обратную связь в режиме реального времени. При удачном решении первой задачи участник может перейти к следующей. В противном случае ему предоставляются ссылки на справочные материалы для дополнительного изучения.
В настоящий момент в проекте доступны упражнения на следующие темы: «Основы квантовых логических элементов (квантовых вентилей)», «Суперпозиция», «Измерения», «Алгоритм Дойча-Йожи».
Ранее Microsoft выпустила бесплатную предварительную версию пакета средств разработки Quantum Development Kit, включающего язык программирования Q#, эмулятор квантовых вычислений и другие ресурсы для всех желающих начать писать приложения для квантового компьютера.
Пакет тесно интегрирован со средой разработки Microsoft Visual Studio, поэтому некоторые его аспекты будут знакомы тем, кто уже разрабатывает приложения на других языках программирования. Для работы необходим входящий в состав пакета локальный квантовый эмулятор, позволяющий эмулировать около 30 логических кубитов (logical qubits) квантовой вычислительной мощности на типичном ноутбуке. Это позволяет разработчикам выполнять отладку квантового кода и тестировать программы на обычных компьютерах. Для решения более серьёзных задач Microsoft предлагает эмулятор в облаке Azure, позволяющий эмулировать более 40 логических кубитов квантовой мощности.
Напомним, что квантовые вычислительные системы оперируют квантовыми битами, или кубитами. Они могут одновременно принимать значение и логического ноля, и логической единицы. Поэтому с ростом количества использующихся кубитов число обрабатываемых одновременно значений увеличивается в геометрической прогрессии. А это обеспечивает колоссальную производительность при решении задач определённых типов.
Подготовлено по материалам пресс-службы Microsoft