OpenQASM - OpenQASM
Эта статья слишком полагается на Рекомендации к основные источники.Сентябрь 2018 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Открытый квантовый язык ассемблера (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];
Рекомендации
- ^ а б Кросс, Эндрю В .; Епископ Лев С .; Смолин, Джон А .; Гамбетта, Джей М. «Открытый квантовый язык ассемблера». arXiv:1707.03429.
- ^ qiskit-openqasm: спецификация OpenQASM, International Business Machines, 2017-07-04, получено 2017-07-06
- ^ "openqasm / adder.qasm на главном сервере · QISKit / openqasm · GitHub".
внешняя ссылка
- OpenQASM на GitHub