Jump to content

Quil (установить инструкцию по архитектуре)

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

абстрактная квантовая машина Базовая

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

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

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

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

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

Ригетти QVM [ править ]

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

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

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

# Declare classical memory
DECLARE ro BIT[2]
# Create Bell Pair
H 0
CNOT 0 1
# Teleport
CNOT 2 0
H 2
MEASURE 2 ro[0]
MEASURE 0 ro[1]
# Classically communicate measurements
JUMP-UNLESS @SKIP ro[1]
X 1
LABEL @SKIP
JUMP-UNLESS @END ro[0]
Z 1
LABEL @END

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

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

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

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6e35693d62cd02a472fe8e3b722de91e__1713894120
URL1:https://arc.ask3.ru/arc/aa/6e/1e/6e35693d62cd02a472fe8e3b722de91e.html
Заголовок, (Title) документа по адресу, URL1:
Quil (instruction set architecture) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)