4.4. Языки программирования для квантового компьютера
К настоящему времени уже появились первые языки программирования для квантового компьютера, в частности, QCL (
). Как пишут разработчики языка в документации [131], квантовые вычисления сейчас все еще рассматривают как специальную дисциплину в рамках теоретической физики, несмотря на что она имеет много общего с классической информатикой. Одна из причин того, что сообщество программистов медленно принимает квантовые вычисления — запутывающее разнообразие формализма ( обозначения, матрицы плотности, , операторы и т. д.). Все эти теоретические инструменты не имеют ничего общего с классическими языками программирования, а изложение самих основ квантовых вычислений часто слишком усложнено. В результате программисты испытывают трудности при моделировании квантовых логических операций знакомыми им средствами. QCL пытается восполнить этот пробел: это архитектурно независимый язык программирования высокого уровня для квантовых компьютеров с синтаксисом, заимствованным от таких классических языков, как C или Паскаль. Этот синтез теории квантовых вычислений и обычных языков программирования обеспечивает моделирование и полное выполнение квантовых алгоритмов (включая классические компоненты) в одном совместимом формализме.По аналогии с классической машиной Тьюринга
[132], в квантовых вычислениях рассматривается квантовая машина Тьюринга. Классическая (булева) логика обобщается , а квантовым унитарным операторам ставятся в соответствие частично рекурсивные функции.Очевидно, что моделирование квантового компьютера на традиционном классическом компьютере — неразрешимая проблема. Требуемые ресурсы растут по экспоненте с количеством квантовых регистров памяти при моделировании. Операции даже с несколькими десятками кубитов выходят за пределы возможностей любого самого мощного суперкомпьютера, а добавление одного нового кубита каждый раз удваивает необходимые ресурсы. Поэтому естественно, что на QCL можно пока программировать только очень «маленькие» квантовые компьютеры. Но и этого достаточно, чтобы апробировать основные алгоритмы квантовых вычислений и отработать их прежде, чем появится возможность их применения на полноценных квантовых компьютерах.
Первый квантовый компьютер будет, вероятно, состоять из некоего экзотического «железа», которое хранит квантовые состояния и манипулирует ими. Его «жизнь» станут поддерживать аппаратные средства окружения, которые обеспечат его работоспособность и дадут пользователю разумный интерфейс для «общения» и программирования в некой среде. QCL моделирует такую программную среду, предоставляя классической программной структуре квантовые типы данных и специальные функции, позволяющие выполнить операции над ними.
В квантовом программировании уже развиваются и отдельные направления, например, работа со звуковыми сигналами. И чтобы дать вам, уважаемые читатели, небольшой отдых после восприятия серьезной информации, приведу в заключение
на эту тему из бульварной прессы [133].«Группа ученых из Французского центра национальных научных исследований разработала новый метод компрессии звука, который можно будет использовать в квантовых компьютерах», — сообщает газета «
».он Ли, а также его коллеги Дмитрий и Алексей утверждают, что «классические методы анализа аудио не применимы к квантовым сигналам». И подчеркивают при этом: «На данном этапе очень важно найти метод, который удовлетворял бы новым требованиям квантовой компьютерной техники».Первые результаты уже достигнуты.
I am a HAL 9000 computer. I became operational at the H. A. L. lab in Urbana, Illinois, on the 12th of January»). По словам исследователей, полученные ими в результате расчетов данные демонстрируют, что звуковые сигналы, сохраненные в квантовой памяти, могут свободно распознаваться настоящими квантовыми компьютерами.Как говорит Дмитрий
, 50-кубитный квантовый компьютер способен вместить в себя информацию, превосходящую по объему ту, что хранят сейчас все современные суперкомпьютеры вместе взятые.Объясняя теорию кодирования звука в квантовых компьютерах, Дмитрий
отметил, что сгенерированный ими голос HAL состоял из 18 кубитов и являл собой «волновую функцию квантового компьютера, которая была „записана“ в память квантового регистра, сформированного кубитами».