Это туго
![]() | В данной статье поднимается несколько вопросов. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
![]() | |
![]() | |
Разработчики) | IBM Research , сообщество Qiskit |
---|---|
Начальная версия | 7 марта 2017 г [1] | .
Стабильная версия | 0.45.0
/ 3 ноября 2023 г [2] |
Репозиторий | |
Написано в | Питон |
Операционная система | Кросс-платформенный |
Тип | SDK для квантовых вычислений |
Лицензия | Лицензия Апач 2.0 [3] |
Веб-сайт | маленький |
Qiskit — это открытым исходным кодом комплект разработки программного обеспечения (SDK) с для работы с квантовыми компьютерами на уровне схем, импульсов и алгоритмов. Он предоставляет инструменты для создания квантовых программ , управления ими и их запуска на прототипах квантовых устройств на IBM Quantum Platform или на симуляторах на локальном компьютере. Он следует модели схемы для универсальных квантовых вычислений и может использоваться для любого квантового оборудования (в настоящее время поддерживает сверхпроводящие кубиты и захваченные ионы ). [4] который следует этой модели.
Qiskit была основана IBM Research для разработки программного обеспечения для их облачных квантовых вычислений службы IBM Quantum Experience . [5] [6] Пожертвования также вносят внешние спонсоры, обычно из академических учреждений. [7] [8]
Основная версия Qiskit использует Python язык программирования . Версии для Swift [9] и JavaScript [10] изначально изучались, хотя разработка этих версий остановлена. Вместо этого минимальная повторная реализация базовых функций доступна как MicroQiskit . [11] который создан для того, чтобы его можно было легко портировать на альтернативные платформы.
В ряде ноутбуков Jupyter представлены примеры использования квантовых вычислений. [12] Примеры включают исходный код научных исследований, в которых используется Qiskit, [13] а также набор упражнений, которые помогут людям освоить основы квантового программирования. Учебник с открытым исходным кодом, основанный на Qiskit, доступен в качестве дополнения к курсу квантовых алгоритмов или квантовых вычислений университетского уровня. [14]
Компоненты [ править ]
Qiskit состоит из элементов, которые работают вместе, обеспечивая квантовые вычисления. Основная цель Qiskit — создать программный стек, который облегчит использование квантовых компьютеров каждому, независимо от уровня его навыков или области интересов; Qiskit позволяет пользователям разрабатывать эксперименты и приложения и запускать их на реальных квантовых компьютерах и/или классических симуляторах. Qiskit предоставляет возможность разрабатывать квантовое программное обеспечение как на машинного кода уровне OpenQASM , так и на абстрактных уровнях, подходящих для конечных пользователей, не имеющих опыта квантовых вычислений. Эту функциональность обеспечивают следующие компоненты. [15]
Кискит Терра [ править ]
Элемент Терра — это фундамент, на котором построена остальная часть Кискита. Qiskit Terra предоставляет инструменты для создания квантовых схем на уровне кода квантовой машины или близко к нему . [16] Это позволяет явно конструировать процессы, выполняемые на квантовом оборудовании, в терминах квантовых вентилей . Он также предоставляет инструменты, позволяющие оптимизировать квантовые схемы для устройства, а также управлять пакетами заданий и запускать их на квантовых устройствах и симуляторах с удаленным доступом.
Ниже показан простой пример Qiskit Terra. создается квантовая схема При этом для двух кубитов , состоящая из квантовых вентилей , необходимых для создания состояния Белла . Затем квантовая схема заканчивается квантовыми измерениями , которые извлекают бит из каждого кубита.
из qiskit import QuantumCircuit
qc = QuantumCircuit ( 2 , 2 )
qc . час ( 0 )
qc . сх ( 0 , 1 )
qc . мера ([ 0 , 1 ], [ 0 , 1 ])
Кискит Аэр [ править ]
Element Aer предоставляет высокопроизводительные симуляторы квантовых вычислений с реалистичными моделями шума. В ближайшем будущем развитие квантового программного обеспечения будет во многом зависеть от моделирования небольших квантовых устройств. Для Qiskit это обеспечивается компонентом Aer. Это обеспечивает размещение симуляторов локально на устройстве пользователя, а также ресурсы HPC , доступные через облако. [17] Симуляторы также могут моделировать эффекты шума для простых и сложных моделей шума. [18]
Продолжая предыдущий пример: после создания квантовой схемы ее можно запустить на серверной стороне (либо на квантовом оборудовании, либо на симуляторе). В следующем примере используется локальный симулятор.
из qiskit import Aer выполните
backend = Aer . get_backend ( "qasm_simulator" )
задание = выполнение ( qc , бэкэнд )
результат = задание . результат ()
печать ( result . get_counts ( qc ))
Последний оператор печати здесь покажет результаты, возвращаемые серверной частью. Это словарь Python, описывающий битовые строки, полученные в результате нескольких прогонов квантовой схемы. В квантовой схеме, используемой в этом примере, битовые строки '00'
и '11'
должны быть единственно возможными результатами и должны происходить с равной вероятностью. Таким образом, в полных результатах выборки обычно разделяются примерно поровну между ними, например: {'00':519, '11':505}
.
Эксперименты, проведенные на квантовом оборудовании с использованием Qiskit, использовались во многих исследовательских работах. [19] например, в тестах квантовой коррекции ошибок, [20] [21] возникновение запутанности [22] и моделирование динамики, далекой от равновесной. [23]
Кискит Игнис [ править ]
Начиная с версии 0.7.0, выпущенной 6 декабря 2021 года, Qiskit Ignis устарел и заменен проектом Qiskit Experiments. [24]
Элемент Ignis предоставляет инструменты для проверки квантового оборудования, определения характеристик шума и исправления ошибок. Ignis — это компонент, который содержит инструменты для определения характеристик шума в устройствах ближнего действия, а также позволяет выполнять вычисления в присутствии шума. Сюда входят инструменты для сравнительного анализа будущих устройств, устранения ошибок и исправления ошибок. [25]
Ignis предназначен для тех, кто хочет разработать коды квантовой коррекции ошибок или хочет изучить способы характеристики ошибок с помощью таких методов, как томография, или даже найти лучший способ использования вентилей путем изучения динамической развязки и оптимального управления.
Кискит Аква [ править ]
Начиная с версии 0.9.0, выпущенной 2 апреля 2021 года, Qiskit Aqua устарела, ее поддержка прекращена, а возможное архивирование произойдет не ранее, чем через 3 месяца с этой даты.
Элемент Aqua предоставил библиотеку междоменных алгоритмов, на основе которых можно создавать специализированные приложения. Однако выпуск Qiskit 0.25.0 включал реструктуризацию приложений и алгоритмов. То, что раньше называлось Qiskit Aqua, единый модуль приложений и алгоритмов Qiskit, теперь разделено на специальные модули приложений для оптимизации, финансов, машинного обучения и природы (включая физику и химию). Основные алгоритмы и функции оператора opflow были перенесены в Qiskit Terra.
Помимо реструктуризации, все алгоритмы следуют единой парадигме: алгоритмы классифицируются в зависимости от решаемых ими задач, и в рамках одного класса приложений алгоритмы могут использоваться взаимозаменяемо для решения одной и той же задачи. Это означает, что, в отличие от предыдущих случаев, экземпляры алгоритмов отделены от проблемы, которую они решают. [26]
Оптимизация Qiskit [ править ]
Qiskit Optimization — это платформа с открытым исходным кодом, которая охватывает весь диапазон: от высокоуровневого моделирования задач оптимизации с автоматическим преобразованием задач в различные требуемые представления до набора простых в использовании алгоритмов квантовой оптимизации, готовых к использованию. классических симуляторах, а также на реальных квантовых устройствах через Qiskit. Модуль «Оптимизация» позволяет легко и эффективно моделировать проблемы оптимизации с помощью docplex . [27]
Кискит Финанс [ править ]
Qiskit Finance — это платформа с открытым исходным кодом, которая содержит компоненты неопределенности для проблем с акциями и ценными бумагами, переводчики Ising для оптимизации портфеля и поставщиков данных для получения реальных или случайных данных для финансирования экспериментов. [28]
Машинное обучение Qiskit [ править ]
Пакет машинного обучения (по состоянию на 2021 год) в настоящее время содержит образцы наборов данных. Он имеет несколько алгоритмов классификации , таких как QSVM и VQC (вариационный квантовый классификатор), где эти данные можно использовать для экспериментов, а также есть алгоритм QGAN (квантовая генеративная состязательная сеть ). [29]
Кискит Природа [ править ]
Qiskit Nature — это платформа с открытым исходным кодом, которая поддерживает такие задачи, как расчет энергии основного состояния, возбужденных состояний и дипольных моментов молекул, как с открытой, так и с закрытой оболочкой. Код содержит химические драйверы, которые при наличии молекулярной конфигурации возвращают интегралы одного и двух тел, а также другие данные, которые эффективно вычисляются классическим способом. Эти выходные данные драйвера затем можно использовать в качестве входных данных в Qiskit Nature, который содержит логику, способную преобразовать их в форму, подходящую для квантовых алгоритмов. [30]
См. также [ править ]
- Квантовая платформа IBM
- Cirq , Google. квантовая платформа
- Квантовое программирование
Ссылки [ править ]
- ^ Джей М. Гамбетта; Эндрю Кросс (27 марта 2018 г.). «Оглядываясь назад на год Кискита» . Середина . Архивировано из оригинала 16 декабря 2021 года . Проверено 24 сентября 2019 г.
- ^ «Релизы – Кискит» . Гитхаб . Архивировано из оригинала 16 декабря 2021 г. Проверено 20 декабря 2019 г.
- ^ Лицензия
- ^ «Qiskit — напишите один раз, ориентируйтесь на несколько архитектур» . Блог исследований IBM . 05.11.2019. Архивировано из оригинала 26 ноября 2020 г. Проверено 20 декабря 2019 г.
- ^ Маги, Тамлим (24 августа 2018 г.). «Что такое Qiskit, платформа квантовых вычислений IBM с открытым исходным кодом» . Компьютерный мир Великобритании . Архивировано из оригинала 6 марта 2019 года . Проверено 11 декабря 2018 г.
- ^ Хемсот, Николь (7 августа 2018 г.). «Разработки QISKit — ключ к IBM Quantum Engagement» . Следующая платформа . Архивировано из оригинала 6 марта 2019 года . Проверено 11 декабря 2018 г.
- ^ «Страница Qiskit на Github» . Гитхаб . Архивировано из оригинала 4 февраля 2021 г. Проверено 5 ноября 2018 г.
- ^ Вилле, Р.; Метер, Р. Ван; Наве, Ю. (25 марта 2019 г.). «Цепочка инструментов IBM Qiskit: работа и разработка для настоящих квантовых компьютеров». Конференция и выставка «Проектирование, автоматизация и испытания в Европе» 2019 (ДАТА) . стр. 1234–1240. дои : 10.23919/ДАТА.2019.8715261 . ISBN 978-3-9819263-2-3 . S2CID 155108078 . Архивировано из оригинала 17 октября 2022 г. Проверено 30 декабря 2023 г.
- ^ «Кыскит в быстром темпе» . Гитхаб . Архивировано из оригинала 16 декабря 2021 года . Проверено 24 сентября 2019 г.
- ^ «Qiskit (набор для квантовой информатики) для JavaScript» . Гитхаб . Архивировано из оригинала 14 августа 2018 года . Проверено 24 сентября 2019 г.
- ^ «МикроКискит» . Гитхаб . Архивировано из оригинала 12 февраля 2022 года . Проверено 10 февраля 2021 г.
- ^ «Коллекция блокнотов Jupyter, показывающих, как использовать Qiskit, синхронизированный с IBM Quantum Experience» . Гитхаб . Архивировано из оригинала 7 июля 2018 года . Проверено 24 сентября 2019 г.
- ^ «Празднование сообщества IBM Q Experience и их исследований» . ИБМ . Редакция IBM Research. 8 марта 2018 года. Архивировано из оригинала 10 октября 2019 года . Проверено 24 сентября 2019 г.
- ^ «Изучите квантовые вычисления с помощью Qiskit» . Архивировано из оригинала 20 декабря 2019 года . Проверено 20 декабря 2019 г.
- ^ Джавади-Абхари, Али; Гамбетта, Джей М. (13 июля 2018 г.). «Кыскит и его фундаментальные элементы» . Середина . Архивировано из оригинала 8 января 2019 года . Проверено 10 января 2019 г.
- ^ «Кискит Терра» . Кискит . Архивировано из оригинала 10 октября 2019 года . Проверено 24 сентября 2019 г.
- ^ «Открытый высокопроизводительный симулятор квантовых схем» . ИБМ . Редакция IBM Research. 1 мая 2018 года. Архивировано из оригинала 14 июня 2019 года . Проверено 24 сентября 2019 г.
- ^ Вуд, Кристофер Дж. (19 декабря 2018 г.). «Представляем Qiskit Aer: высокопроизводительную среду симулятора квантовых схем» . Середина . Архивировано из оригинала 1 ноября 2019 года . Проверено 24 сентября 2019 г.
- ^ «Сообщество IBM Q Experience публикует исследование» . Блог исследований IBM . 08.03.2018. Архивировано из оригинала 10 октября 2019 г. Проверено 14 июля 2021 г.
- ^ Вуттон, Джеймс Р.; Потеря, Дэниел (2018). «Код повторения 15 кубитов». Физический обзор А. 97 (5): 052313. arXiv : 1709.00990 . Бибкод : 2018PhRvA..97e2313W . дои : 10.1103/PhysRevA.97.052313 . ISSN 2469-9926 . S2CID 53444623 .
- ^ Роффе, Йошка; Хедли, Дэвид; Канцлер Николас; Хорсман, Доминик; Кендон, Вив (2018). «Защита квантовой памяти с помощью когерентных кодов проверки четности». Квантовая наука и технология . 3 (3): 035010. arXiv : 1709.01866 . Бибкод : 2018QS&T....3c5010R . дои : 10.1088/2058-9565/aac64e . ISSN 2058-9565 . S2CID 51684176 .
- ^ Ван, Юаньхао; Ли, Ин; Инь, Чжанци; Цзэн, Бэй (2018). «16-кубитный универсальный квантовый компьютер IBM может быть полностью запутан» . npj Квантовая информация . 4 (1): 46. arXiv : 1801.03782 . Бибкод : 2018npjQI...4...46W . дои : 10.1038/s41534-018-0095-x . ISSN 2056-6387 .
- ^ Жуков А.А.; Ремизов С.В.; Погосов, Западная Вирджиния; Лозовик, Ю. Э. (2018). «Алгоритмическое моделирование далеко от равновесной динамики с помощью квантового компьютера». Квантовая обработка информации . 17 (9): 223. arXiv : 1807.10149 . Бибкод : 2018QuIP...17..223Z . дои : 10.1007/s11128-018-2002-y . ISSN 1570-0755 . S2CID 254991672 .
- ^ Qiskit/qiskit-ignis , Qiskit, заархивировано из оригинала 21 декабря 2021 г. , получено 21 декабря 2021 г.
- ^ «Ignis предоставляет инструменты для проверки квантового оборудования, определения характеристик шума и исправления ошибок» . Гитхаб . Архивировано из оригинала 25 марта 2019 года . Проверено 24 сентября 2019 г.
- ^ «Руководство по миграции алгоритмов Qiskit — документация Qiskit 0.28.0» . qiskit.org . Архивировано из оригинала 14 июля 2021 г. Проверено 14 июля 2021 г.
- ^ Qiskit/qiskit-optimization , Qiskit, 13 июля 2021 г., заархивировано из оригинала 21 января 2022 г. , получено 14 июля 2021 г.
- ^ Qiskit/qiskit-finance , Qiskit, 13 июля 2021 г., заархивировано из оригинала 18 декабря 2021 г. , получено 14 июля 2021 г.
- ^ Qiskit/qiskit-machine-learning , Qiskit, 13 июля 2021 г., заархивировано из оригинала 22 июля 2021 г. , получено 14 июля 2021 г.
- ^ Qiskit/qiskit-nature , Qiskit, 13 июля 2021 г., заархивировано из оригинала 16 августа 2021 г. , получено 14 июля 2021 г.