OpenQASM - OpenQASM

Открытый квантовый язык ассемблера (OpenQASM; выраженный открытый казм[1]) является промежуточное представление для квантовых инструкций. Впервые этот язык был описан в статье, опубликованной в июле 2017 года.[1] и реализация эталонного исходного кода была выпущена как часть IBM Пакет программного обеспечения Quantum Information (Qiskit ) для использования с их IBM Q Experience платформа облачных квантовых вычислений.[2] Язык имеет те же качества, что и традиционный языки описания оборудования Такие как Verilog.

OpenQASM определяет свою версию в заголовке исходного файла как действительное число, как в объявлении:

ОТКРЫТОСТЬ 2.0;

Уровень оригинальных опубликованных реализаций OpenQASM (например, Qiskit, инфра) - это OpenQASM 2.0. Уровень 3.0 спецификации в настоящее время находится в стадии разработки и может быть просмотрен на OpenQASM репозиторий на GitHub.

Примеры

Ниже приведен пример исходного кода OpenQASM из официальной библиотеки. Программа складывает два четырехбитных числа.[3]

// квантовый сумматор с переносом пульсации от Куккаро и др., Quant-ph / 0410184ОТКРЫТОСТЬ 2.0;включают "qelib1.inc";ворота большинство а,б,c {   сх c,б;   сх c,а;   ccx а,б,c; }ворота unmaj а,б,c {   ccx а,б,c;   сх c,а;   сх а,б; }qreg cin[1];qreg а[4];qreg б[4];qreg cout[1];Creg ответ[5];// устанавливаем состояния вводаИкс а[0]; // a = 0001Икс б;    // b = 1111// добавляем a к b, сохраняя результат в bбольшинство cin[0],б[0],а[0];большинство а[0],б[1],а[1];большинство а[1],б[2],а[2];большинство а[2],б[3],а[3];сх а[3],cout[0];unmaj а[2],б[3],а[3];unmaj а[1],б[2],а[2];unmaj а[0],б[1],а[1];unmaj cin[0],б[0],а[0];мера б[0] -> ответ[0];мера б[1] -> ответ[1];мера б[2] -> ответ[2];мера б[3] -> ответ[3];мера cout[0] -> ответ[4];

Рекомендации

  1. ^ а б Кросс, Эндрю В .; Епископ Лев С .; Смолин, Джон А .; Гамбетта, Джей М. «Открытый квантовый язык ассемблера». arXiv:1707.03429.
  2. ^ qiskit-openqasm: спецификация OpenQASM, International Business Machines, 2017-07-04, получено 2017-07-06
  3. ^ "openqasm / adder.qasm на главном сервере · QISKit / openqasm · GitHub".

внешняя ссылка