~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ BBB5C544728D8ED465C0DCC1432A2BCD__1717261200 ✰
Заголовок документа оригинал.:
✰ OpenQASM - Wikipedia ✰
Заголовок документа перевод.:
✰ OpenQASM — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/OpenQASM ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/bb/cd/bbb5c544728d8ed465c0dcc1432a2bcd.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/bb/cd/bbb5c544728d8ed465c0dcc1432a2bcd__translat.html ✰
Дата и время сохранения документа:
✰ 23.06.2024 12:45:03 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 1 June 2024, at 20:00 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

OpenQASM — Википедия Jump to content

OpenQASM

Из Википедии, бесплатной энциклопедии
OpenQASM
Лицензия Лицензия Апач 2.0
Расширения имен файлов .qasm
Веб-сайт openqasm

Открытый квантовый язык ассемблера ( OpenQASM ; произносится как открытый казм) [1] ) — язык программирования, предназначенный для описания квантовых схем и алгоритмов для выполнения на квантовых компьютерах. Он спроектирован как промежуточное представление , которое может использоваться компиляторами более высокого уровня для взаимодействия с квантовым оборудованием и позволяет описывать широкий спектр квантовых операций, а также классическое управление потоком с прямой связью на основе результатов измерений.

Язык включает в себя механизм описания явного времени выполнения инструкций и позволяет прикреплять к вентилям низкоуровневые определения для таких задач, как калибровка. [1] OpenQASM не предназначен для классических вычислений общего назначения, а аппаратные реализации языка могут не поддерживать полный спектр манипуляций с данными, описанных в спецификации. Ожидается, что компиляторы OpenQASM будут поддерживать широкий спектр классических операций с константами времени компиляции, но поддержка этих операций со значениями времени выполнения может различаться в зависимости от реализации. [2]

Язык был впервые описан в статье, опубликованной в июле 2017 года. [1] а реализация эталонного исходного кода была выпущена как часть IBM Quantum Information Software Kit ( Qiskit ) для использования с их IBM Quantum Experience облачной платформой квантовых вычислений . [3] Этот язык имеет схожие качества с традиционными языками описания аппаратного обеспечения, такими как Verilog .

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

ОПЕНКАСМ   3  ; 

Уровень исходных опубликованных реализаций OpenQASM — OpenQASM 2.0. Версия спецификации 3.0 является текущей и ее можно посмотреть в репозитории OpenQASM на GitHub .

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

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

/* 
 * квантовый сумматор с пульсирующим переносом 
 * Cuccaro et al, quant-ph/0410184 
 */ 
 OPENQASM   3  ; 
  включить   «stdgates.inc»  ; 

 ворот    большинство   a  ,   b  ,   c   { 
     cx   c  ,   b  ; 
      сх   с  ,   а  ; 
      ccx   а  ,   б  ,   в  ; 
  } 

 ворота   unmaj   а  ,   б  ,   c   { 
     ccx   а  ,   б  ,   c  ; 
      сх   с  ,   а  ; 
      сх   а  ,   б  ; 
  } 

 кубит  [  1  ]   cin  ; 
  кубит  [  4  ]   а  ; 
  кубит  [  4  ]   б  ; 
  кубит  [  1  ]   cout  ; 
  бит  [  5  ]   ответ  ; 
  uint  [  4  ]   a_in   =   1  ;     // a = 0001 
 uint  [  4  ]   b_in   =   15  ;    // b = 1111 
 // инициализация кубитов 
 сброс   cin  ; 
  сбросить   ; 
  сброс   б  ; 
  сбросить   счетчик  ; 

  // устанавливаем входные состояния 
 для   i   in   [  0  :   3  ]   { 
   if  (  bool  (  a_in  [  i  ]))   x   a  [  i  ]; 
    if  (  bool  (  b_in  [  i  ]))   x   b  [  i  ]; 
  } 
 // добавляем a к b, сохраняя результат в 
 большинстве   b cin  [  0  ],   b  [  0  ],   a  [  0  ]; 
  для   я   в   [  0  :   2  ]   {   большинство   a  [  i  ],   b  [  i   +   1  ],   a  [  i   +   1  ];    } 
 cx   a  [  3  ],   cout  [  0  ]; 
  для   я   в   [  2  :   -  1  :   0  ]   {   unmaj   a  [  я  ],  b  [  я  +  1  ],  а  [  я  +  1  ];    } 
 unmaj   cin  [  0  ],   b  [  0  ],   a  [  0  ]; 
  мера   b  [  0  :  3  ]   ->   ответ  [  0  :  3  ]; 
  измерить   cout  [  0  ]   ->   ans  [  4  ]; 

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

  1. ^ Перейти обратно: а б с Кросс, Эндрю В.; епископ Лев С.; Смолин, Джон А.; Гамбетта, Джей М. (2017). «Открытый квантовый язык ассемблера». arXiv : 1707.03429 [ квант-ph ].
  2. ^ «Живая спецификация OpenQASM» . Проверено 26 декабря 2022 г.
  3. ^ qiskit-openqasm: спецификация OpenQASM , International Business Machines, 4 июля 2017 г. , дата обращения 6 июля 2017 г.
  4. ^ «openqasm/adder.qasm на мастере · openqasm/openqasm · GitHub» . Гитхаб . 29 января 2022 г.

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

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: BBB5C544728D8ED465C0DCC1432A2BCD__1717261200
URL1:https://en.wikipedia.org/wiki/OpenQASM
Заголовок, (Title) документа по адресу, URL1:
OpenQASM - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)