Квантовое превосходство
- 1 year ago
- 0
- 0
Языки квантового программирования — языки программирования, позволяющие выражать квантовые алгоритмы с использованием высокоуровневых конструкций. Их цель не столько создание инструмента для программистов, сколько предоставление средств для исследователей для облегчения понимания работы квантовых вычислений .
Существующие языки квантового программирования: , , Haskell-подобный , Quipper , Q# , Q , qGCL , cQPL , OpenQASM .
Библиотеки симуляции квантовых компьютеров (квантовые виртуальные машины, Quantum virtual machine ): , .
Корпорация IBM выпустила набор инструментов для разработчиков под названием . И в следующем году IBM обещает предложить инструменты, которые упростят программистам создание программного обеспечения, включающего в себя как квантовые вычисления, так и традиционные вычислительные элементы в одной программе. Затем, начиная с 2023 года, IBM планирует предложить своим клиентам библиотеки предварительно созданных квантовых алгоритмов, которые программисты смогут использовать через простой облачный API - интерфейс . Это позволит разрабатывать программное обеспечение для квантового компьютера на языках программирования, которые уже известны разработчикам, без необходимости изучать новый язык. IBM заявила, что хочет, чтобы программисты, работающие в корпорациях, могли «самостоятельно исследовать модели квантовых вычислений, не задумываясь о квантовой физике». И к 2025 году, по словам IBM, она сможет предложить инструменты для квантовых вычислений, при использовании которых программистам больше не нужно будет думать о том, на каком именно квантовом компьютере (потому что одни используют сверхпроводники , другие — фотоны , а третьи построены на ловушках для ионов ) будет работать код или даже какая часть программы будет выполняться на квантовой системе, а не на традиционном сервере .
QCL, Quantum computing language — одна из первых реализаций языка квантового программирования. Близок к языку Си и классическим типам данных. Позволяет смешивать классический и квантовый код в одном исходном файле.
Базовый квантовый тип данных qureg (квантовый регистр, quantum register). Его можно представить в виде массива кубитов (квантовых битов).
qureg x1[2]; // двухкубитовый квантовый регистр x1 qureg x2[2]; // двухкубитовый квантовый регистр x2 H(x1); // Операция Адамара над x1 H(x2[1]); // Операция Адамара над первым кубитом регистра x2
Поскольку интерпретатор qcl использует библиотеку симуляции qlib, возможно наблюдать внутреннее состояние квантового компьютера во время исполнения:
qcl> dump : STATE: 4 / 32 qubits allocated, 28 / 32 qubits free 0.35355 |0> + 0.35355 |1> + 0.35355 |2> + 0.35355 |3> + 0.35355 |8> + 0.35355 |9> + 0.35355 |10> + 0.35355 |11>