Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Quil - это архитектура с квантовым набором команд, которая впервые представила общую квантовую / классическую модель памяти. Его представили Роберт Смит, Майкл Кертис и Уильям Зенг в книге «Практическая архитектура набора квантовых команд» . [1] Многие квантовые алгоритмы (включая квантовую телепортацию , квантовую коррекцию ошибок , моделирование [2] [3] и алгоритмы оптимизации [4] ) требуют архитектуры разделяемой памяти . Quil разрабатывается для сверхпроводящих квантовых процессоров, разработанных Rigetti Computing through the Forest.API квантового программирования . [5] [6] Python библиотека называется pyQuilбыла введена для разработки программ Квил с более высокими конструкциями уровня. Бэкэнд Quil также поддерживается другими средами квантового программирования. [7] [8]

Базовая квантовая абстрактная машина [ править ]

В статье, представленной Смитом, Кертисом и Зенгом, Квил определяет набор инструкций для квантовой абстрактной машины (QAM), подобной машине Тьюринга, но более практичной для выполнения задач «реального мира». [1] Состояние QAM может быть представлено в виде кортежа из 6, где:

  • - (квантовое) состояние фиксированного, но произвольного числа кубитов, проиндексированных с использованием индексации на основе 0 .
  • представляет собой классическую память ряда классических битов, проиндексированных с использованием индексации на основе 0.
  • фиксированный, но произвольный список статических вентилей ( квантовых вентилей , не зависящих от таких параметров, как вентиль Адамара ).
  • фиксированный, но произвольный список параметрических вентилей (вентилей, которые зависят от ряда сложных параметров, таких как вентиль фазового сдвига , для которого требуется полностью определить параметр угла ).
  • последовательность выполняемых инструкций Quil, представляющая программу. Длина обозначается .
  • целочисленный счетчик программы, указывающий на следующую инструкцию, которая должна быть выполнена. всегда начинается с 0 (указывает на инструкцию) и заканчивается при указании остановки программы (обратите внимание, что последняя инструкция имеет индекс ). Счетчик программы увеличивается после каждой инструкции, за исключением специальных инструкций потока управления (условных и безусловных переходов и специальная инструкция, которая останавливает программу, устанавливая на .HALT

В семантике ОК определяются с использованием тензорных произведений из гильбертовых пространств и линейных отображений между ними. [1]

Особенности [ править ]

Quil поддерживает определение возможно параметризованных вентилей в матричной форме (язык не включает способ проверки унитарности матриц , что является необходимым условием для физической реализуемости заданных вентилей) и их применение на кубитах. Язык также поддерживает макроподобные определения возможных параметризованных квантовых схем и их расширения, измерение кубитов и запись результата в классической памяти, синхронизацию с классическими компьютерами с помощью WAITинструкции, которая приостанавливает выполнение программы Quil до тех пор, пока классическая программа не завершит свою работу. выполнение, условное и безусловное ветвление , прагмаподдержка, а также включение файлов для использования в качестве библиотек (в качестве одной из библиотек предоставляется стандартный набор вентилей).

Rigetti QVM [ править ]

Компания Rigetti Computing разработала квантовую виртуальную машину на Common Lisp, которая имитирует определенную квантовую абстрактную машину на классическом компьютере и способна анализировать и выполнять программы Quil с возможным удаленным выполнением через HTTP. [9]

Пример [ править ]

Следующий пример демонстрирует классический поток управления , необходимый , чтобы сделать квантовую телепортацию из кубита в регистре 2 для регистрации 1: [10] [11]

# Объявить классическую память DECLARE  ro  BIT [ 2 ] # Создать Bell Pair H  0 CNOT  0  1 # Телепорт CNOT  2  0 H  2 MEASURE  2  ro [ 0 ] MEASURE  0  ro [ 1 ] # Измерения классической передачи JUMP-UNLESS  @ SKIP  ro [ 1 ] X  1 LABEL  @ SKIP JUMP-UNLESS  @ END  ro [ 0] Z  1 LABEL  @ END

В статье приведены примеры реализации квантового преобразования Фурье и вариационного квантового эйгенсольвера .

Ссылки [ править ]

  1. ^ a b c Смит, Роберт С .; Кертис, Майкл Дж .; Цзэн, Уильям Дж. (10 августа 2016 г.). «Практическая архитектура набора квантовых команд». arXiv : 1608.03355 [ квант-ф ].
  2. ^ McClean, Jarrod R .; Ромеро, Джонатан; Баббуш, Райан; Аспуру-Гузик, Алан (04.02.2016). «Теория вариационных гибридных квантово-классических алгоритмов». Новый журнал физики . 18 (2): 023023. arXiv : 1509.04279 . Bibcode : 2016NJPh ... 18b3023M . DOI : 10.1088 / 1367-2630 / 18/2/023023 . ISSN 1367-2630 . 
  3. ^ Рубин, Николас С. (2016-10-21). «Гибридный классический / квантовый подход для крупномасштабных исследований квантовых систем с теорией вложения матрицы плотности». arXiv : 1610.06910 [ квант-ф ].
  4. ^ Фархи, Эдвард; Голдстоун, Джеффри; Гутманн, Сэм (14 ноября 2014 г.). «Квантовый приближенный алгоритм оптимизации». arXiv : 1411,4028 [ квант-ф ].
  5. ^ "Rigetti запускает сервис квантовых вычислений полного стека и Quantum IC Fab" . IEEE Spectrum: Новости технологий, инженерии и науки . Проверено 6 июля 2017 .
  6. ^ «Ригетти незаметно выпускает бета-версию платформы Forest для квантового программирования в облаке | Отчет о квантовых вычислениях» . Quantumcomputingreport.com . Проверено 6 июля 2017 .
  7. ^ "XACC Rigetti Accelerator" . ornl-qci.github.io . Проверено 6 июля 2017 .
  8. ^ Дойрон, Ник (07.03.2017), jsquil: Квантовые компьютерные инструкции для разработчиков JavaScript , получено 06.07.2017.
  9. ^ Высокопроизводительная квантовая виртуальная машина @rigetti .: rigetti / qvm , Rigetti Computing, 26 апреля 2019 г. , получено 28 апреля 2019 г.
  10. ^ Нильсен, Майкл А .; Чуанг, Исаак Л. (2000). Квантовые вычисления и квантовая информация . Издательство Кембриджского университета. п. 27. ISBN 978-0-521-63503-5.
  11. Computing, Rigetti (28 мая 2019 г.). «Документация по pyQuil» (PDF) . pyQuil Documentaion . Проверено 6 июня 2019 .