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