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

Qiskit - это фреймворк с открытым исходным кодом для квантовых вычислений . Он предоставляет инструменты для создания квантовых программ и управления ими, а также для их запуска на прототипах квантовых устройств в IBM Quantum Experience или на симуляторах на локальном компьютере. Он следует модели схемы для универсальных квантовых вычислений и может использоваться для любого квантового оборудования (в настоящее время поддерживает сверхпроводящие кубиты и захваченные ионы [4] ), которое следует этой модели.

Компания Qiskit была основана IBM Research для разработки программного обеспечения для своего сервиса облачных квантовых вычислений IBM Quantum Experience . [5] [6] Взносы также делают внешние спонсоры, обычно из академических институтов. [7]

В основной версии Qiskit используется язык программирования Python . Первоначально изучались версии для Swift [8] и JavaScript [9] , но разработка этих версий была остановлена. Вместо этого, минимальное повторное выполнение основных функций доступно как MicroQiskit , [10] , который сделал , чтобы быть легко портировать на альтернативные платформы.

Предлагается ряд ноутбуков Jupyter с примерами использования квантовых вычислений. [11] Примеры включают исходный код научных исследований с использованием Qiskit [12], а также набор упражнений, помогающих людям изучить основы квантового программирования. Учебник с открытым исходным кодом, основанный на Qiskit, доступен как университетский учебник по квантовым алгоритмам или как приложение к курсу квантовых вычислений. [13]

Компоненты [ править ]

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

Терра [ править ]

Qiskit Terra предоставляет инструменты для создания квантовых схем на уровне кода квантовых машин или близком к нему . [15] Это позволяет явно создавать процессы, выполняемые на квантовом оборудовании, в терминах квантовых вентилей . Он также предоставляет инструменты, позволяющие оптимизировать квантовые схемы для конкретного устройства, а также управлять пакетами заданий и запускать их на квантовых устройствах и симуляторах с удаленным доступом.

Ниже показан простой пример Qiskit Terra. При этом создается квантовая схема для двух кубитов , которая состоит из квантовых вентилей, необходимых для создания состояния Белла . Затем квантовая схема завершается квантовыми измерениями , которые извлекают бит из каждого кубита.

из  qiskit  import  QuantumCircuit ,  Aer ,  выполнитьqc  =  квантовая схема ( 2 ,  2 )qc . h ( 0 ) qc . cx ( 0 ,  1 ) qc . мера ([ 0 , 1 ],  [ 0 , 1 ])

После создания квантовой схемы ее можно запускать на бэкэнде (квантовом оборудовании или симуляторе). В следующем примере используется локальный симулятор.

backend  =  Aer . get_backend ( "qasm_simulator" ) job_sim  =  execute ( qc ,  backend ) sim_result  =  job_sim . результат () печать ( sim_result . get_counts ( qc ))

Последний оператор печати здесь покажет результаты, возвращенные серверной частью. Это словарь Python, который описывает битовые строки, полученные в результате нескольких прогонов квантовой схемы. В квантовой схеме, использованной в этом примере, битовые строки '00'и '11'должны быть единственно возможными результатами и должны возникать с равной вероятностью. Поэтому для полных результатов образцы обычно делятся примерно поровну между двумя, например {'00':519, '11':505} .

Эксперименты, проведенные на квантовом оборудовании с использованием Qiskit Terra, использовались во многих исследовательских работах [16], например, в тестах квантовой коррекции ошибок [17] , [18], генерировании запутанности [19] и моделировании далекой от равновесия динамики. [20]

Aqua [ править ]

Qiskit Aqua предоставляет инструменты, которые можно использовать без какого-либо явного квантового программирования, требуемого самим пользователем. [21] В настоящее время он поддерживает приложения в области химии , искусственного интеллекта , оптимизации и финансов . Пользователи могут сообщать о проблемах и получать результаты, определенные с помощью стандартных инструментов в этих областях, таких как PySCF для химии. Затем Qiskit Aqua реализует соответствующий квантовый алгоритм .

Aer [ править ]

В ближайшем будущем развитие квантового программного обеспечения будет во многом зависеть от моделирования малых квантовых устройств. Для Qiskit это обеспечивается компонентом Aer. Это обеспечивает имитаторы, размещенные локально на устройстве пользователя, а также ресурсы HPC, доступные через облако. [22] Симуляторы также могут имитировать эффекты шума для простых и сложных моделей шума. [23]

Игнис [ править ]

Ignis - это компонент, который содержит инструменты для определения характеристик шума в устройствах краткосрочного использования, а также позволяет выполнять вычисления в присутствии шума. Сюда входят инструменты для сравнительного анализа устройств в ближайшем будущем, устранения ошибок и исправления ошибок. [24]

См. Также [ править ]

  • IBM Quantum Experience

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

  1. ^ Джей М. Гамбетта; Эндрю Кросс (27 марта 2018 г.). «Оглядываясь на год Qiskit» . Средний . Проверено 24 сентября 2019 года .
  2. ^ "Релизы - Qiskit" .
  3. ^ Лицензия
  4. ^ «Qiskit - пишите один раз, нацелено на несколько архитектур» . Блог исследований IBM . 2019-11-05 . Проверено 20 декабря 2019 .
  5. ^ Маги, Tamlim (24 августа 2018). «Что такое Qiskit, фреймворк IBM для квантовых вычислений с открытым исходным кодом» . Computerworld UK . Проверено 11 декабря 2018 .
  6. ^ Hemsoth, Nicole (7 августа 2018). «Ключ от разработок QISKit к квантовому взаимодействию IBM» . Следующая платформа . Проверено 11 декабря 2018 .
  7. ^ "Страница Qiskit Github" .
  8. ^ "Qiskit in swift" . GitHub . Проверено 24 сентября 2019 года .
  9. ^ «Qiskit (Набор квантовой информатики) для JavaScript» . GitHub . Проверено 24 сентября 2019 года .
  10. ^ "MicroQiskit" . GitHub . Проверено 10 февраля 2021 года .
  11. ^ «Коллекция записных книжек Jupyter, показывающая, как использовать Qiskit, синхронизированную с IBM Quantum Experience» . GitHub . Проверено 24 сентября 2019 года .
  12. ^ «Празднование сообщества IBM Q Experience и их исследований» . IBM . Редакция IBM Research. 8 марта 2018 . Проверено 24 сентября 2019 года .
  13. ^ «Изучите квантовые вычисления с помощью Qiskit» . Проверено 20 декабря 2019 .
  14. Джавади-Абхари, Али; Гамбетта, Джей М. (13 июля 2018 г.). «Qiskit и его основные элементы» . Средний . Проверено 10 января 2019 .
  15. ^ "Qiskit Terra" . Qiskit . Архивировано из оригинального 10 -го октября 2019 года . Проверено 24 сентября 2019 года .
  16. ^ "Документы сообщества" . IBM Quantum Experience .
  17. ^ Вуттон, Джеймс Р .; Потеря, Дэниел (2018). «Код повторения 15 кубитов». Physical Review . 97 (5). arXiv : 1709.00990 . DOI : 10.1103 / PhysRevA.97.052313 . ISSN 2469-9926 . 
  18. ^ Роффе, Йошка; Хедли, Дэвид; Канцлер Николай; Хорсман, Доминик; Кендон, Вив (2018). «Защита квантовой памяти с помощью когерентных кодов проверки четности». Квантовая наука и технология . 3 (3): 035010. arXiv : 1709.01866 . DOI : 10.1088 / 2058-9565 / aac64e . ISSN 2058-9565 . 
  19. ^ Ван, Юаньхао; Ли, Инь; Инь, Чжан-ци; Цзэн, Бэй (2018). «Универсальный квантовый компьютер IBM с 16 кубитами может быть полностью запутан» . npj Квантовая информация . 4 (1). DOI : 10.1038 / s41534-018-0095-х . ISSN 2056-6387 . 
  20. ^ Жуков, АА; Ремизов, С.В. Погосов В.В.; Лозовик, Ю. Е. (2018). «Алгоритмическое моделирование далекой от равновесия динамики с помощью квантового компьютера». Квантовая обработка информации . 17 (9). arXiv : 1807.10149 . DOI : 10.1007 / s11128-018-2002-у . ISSN 1570-0755 . 
  21. ^ "Сайт Qiskit Aqua" . Архивировано из оригинала на 2019-10-10 . Проверено 5 ноября 2018 .
  22. ^ "Открытый высокопроизводительный симулятор квантовых схем" . IBM . Редакция IBM Research. 1 мая 2018 . Проверено 24 сентября 2019 года .
  23. Вуд, Кристофер Дж. (19 декабря 2018 г.). «Представляем Qiskit Aer: высокопроизводительный симулятор квантовых схем» . Средний . Проверено 24 сентября 2019 года .
  24. ^ «Ignis предоставляет инструменты для квантовой проверки оборудования, определения характеристик шума и исправления ошибок» . GitHub . Проверено 24 сентября 2019 года .