Qiskit¶
Qiskit — это открытая программная платформа для квантовых вычислений, разрабатываемая компанией IBM. Она предоставляет инструменты для создания, симуляции и выполнения квантовых алгоритмов на реальных квантовых процессорах, доступных через облачные сервисы IBM. Qiskit написан на языке Python и ориентирован как на исследователей и разработчиков, так и на студентов, изучающих квантовые вычисления.
¶История
Разработка Qiskit началась в 2016 году в исследовательском подразделении IBM Research. Первая публичная версия (Qiskit 0.1) была выпущена в марте 2017 года. Название представляет собой комбинацию слов «quantum» (квантовый) и «toolkit» (набор инструментов). Изначально платформа называлась QISKit (Quantum Information Science Kit), но в 2018 году название было изменено на Qiskit.
Основной целью создания Qiskit было предоставление открытого и доступного инструмента для работы с квантовыми компьютерами IBM, которые с 2016 года стали доступны через облачный сервис IBM Quantum Experience. Платформа быстро развивалась, и к 2020 году Qiskit стал одной из самых популярных библиотек для квантовых вычислений.
В 2021 году IBM объявила о создании Qiskit Runtime — сервиса, оптимизирующего выполнение квантовых схем на реальных процессорах. В 2023 году была выпущена версия Qiskit 1.0, которая значительно упростила интерфейс и повысила производительность.
¶Архитектура и компоненты
Qiskit состоит из нескольких взаимосвязанных модулей, каждый из которых отвечает за определённый этап квантового вычисления:
¶Terra
Terra — это ядро платформы. Оно включает в себя инструменты для создания и манипуляции квантовыми схемами, компиляции кода под конкретный квантовый процессор, а также для выполнения симуляций. Основные компоненты Terra:
- QuantumCircuit — класс для построения квантовой схемы из гейтов (квантовых вентилей).
- Transpiler — компилятор, который преобразует абстрактную схему в последовательность операций, совместимых с конкретным оборудованием.
- Backends — интерфейсы для взаимодействия с симуляторами и реальными квантовыми процессорами.
¶Aer
Aer — модуль для симуляции квантовых схем. Он включает высокопроизводительные симуляторы, которые могут моделировать квантовые состояния на классических компьютерах. Aer поддерживает:
- StatevectorSimulator — симуляция полного вектора состояния.
- QasmSimulator — симуляция с учётом шума и измерений.
- PulseSimulator — симуляция на уровне импульсов (для калибровки оборудования).
¶Ignis (устаревший)
Ранее существовал модуль Ignis, предназначенный для калибровки квантовых устройств и подавления ошибок. В версии Qiskit 1.0 его функциональность была перенесена в другие модули и отдельные библиотеки.
¶Optimization, Finance, Machine Learning, Nature
Набор прикладных модулей, которые предоставляют готовые алгоритмы и инструменты для решения задач в конкретных областях:
- Qiskit Optimization — для задач комбинаторной оптимизации (например, задача коммивояжёра).
- Qiskit Finance — для финансового моделирования (оценка рисков, портфельная оптимизация).
- Qiskit Machine Learning — для квантового машинного обучения (классификация, регрессия).
- Qiskit Nature — для квантовой химии и физики (моделирование молекул).
¶Принцип работы
Работа с Qiskit строится по следующей схеме:
- Создание схемы: Пользователь на языке Python определяет квантовую схему, состоящую из кубитов и квантовых гейтов (например, гейты Адамара, CNOT, T).
- Транспиляция: Схема компилируется под конкретный квантовый процессор с учётом его топологии (связей между кубитами) и набора доступных гейтов.
- Выполнение: Скомпилированная схема отправляется на симулятор (Aer) или на реальный квантовый компьютер через облачный сервис IBM Quantum.
- Обработка результатов: После выполнения пользователь получает результаты измерений (например, распределение вероятностей состояний кубитов).
¶Применение
Qiskit используется в научных исследованиях, образовании и промышленности. Основные области применения:
¶Квантовая химия
С помощью Qiskit Nature исследователи моделируют электронные структуры молекул. Например, в 2017 году IBM с использованием Qiskit впервые симулировала молекулу гидрида бериллия (BeH2) на квантовом компьютере.
¶Оптимизация
Qiskit Optimization применяется для решения задач логистики, маршрутизации и распределения ресурсов. Алгоритм QAOA (Quantum Approximate Optimization Algorithm) реализован в этом модуле.
¶Машинное обучение
Qiskit Machine Learning позволяет строить квантовые нейронные сети и классификаторы. Например, квантовые вариационные схемы (Variational Quantum Circuits) используются для задач классификации данных.
¶Криптография и безопасность
Платформа поддерживает реализацию алгоритмов квантовой криптографии, в том числе протокола BB84 для квантового распределения ключей.
¶Критика и ограничения
Несмотря на популярность, Qiskit имеет ряд недостатков:
- Зависимость от IBM: Платформа тесно связана с оборудованием IBM, что ограничивает её использование с квантовыми процессорами других производителей (хотя существуют адаптеры, например, для IonQ).
- Сложность для новичков: Несмотря на обилие документации, порог входа остаётся высоким из-за необходимости понимания квантовой механики и линейной алгебры.
- Производительность симуляторов: Симуляция на классических компьютерах становится невозможной при числе кубитов более 30–40 из-за экспоненциального роста требуемой памяти.
- Ошибки на реальном оборудовании: Современные квантовые процессоры (2024 год) имеют высокий уровень шума и ошибок, что ограничивает практическую пользу многих алгоритмов.
¶Пример кода
Ниже приведён простой пример создания и выполнения квантовой схемы на Qiskit, которая генерирует состояние Белла (запутанное состояние двух кубитов):
```python from qiskit import QuantumCircuit from qiskit_aer import AerSimulator
¶Создание схемы с двумя кубитами
qc = QuantumCircuit(2, 2) qc.h(0) # Гейт Адамара на первом кубите qc.cx(0, 1) # CNOT (управляемый NOT) — создание запутанности qc.measure([0, 1], [0, 1]) # Измерение
¶Симуляция
simulator = AerSimulator() result = simulator.run(qc, shots=1024).result() counts = result.get_counts() print(counts) # Вывод: {'00': ~512, '11': ~512} ```
¶Интересные факты
- Qiskit является одним из самых популярных репозиториев на GitHub среди квантовых вычислительных платформ (более 4 000 звёзд по состоянию на 2024 год).
- В 2021 году IBM запустила программу Qiskit Advocate, которая объединяет активных участников сообщества, помогающих развивать платформу.
- Название «Qiskit» является отсылкой к «квантовому набору инструментов» (quantum toolkit), а также к «скиту» (skit — короткая сценка), что символизирует лёгкость и модульность.
¶См. также
- Квантовые вычисления
- IBM Quantum
- Cirq (платформа от Google)
- PennyLane (библиотека для квантового машинного обучения)
¶Источники
- IBM Research. «Qiskit: An Open-Source Framework for Quantum Computing». 2017.
- Документация Qiskit (qiskit.org).
- J. M. Gambetta, J. M. Chow, M. Steffen. «Building logical qubits in a superconducting quantum computing system». npj Quantum Information, 2017.
- A. J. McCaskey et al. «A Language and Hardware Independent Approach to Quantum–Classical Computing». SoftwareX, 2020.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


