Перейти до основного вмісту

Вступ до Qiskit

Назва "Qiskit" є загальним терміном, що позначає колекцію програмного забезпечення для виконання програм на квантових комп'ютерах. Найважливішим серед цих програмних інструментів є відкритий Qiskit SDK та середовище виконання (доступне через Qiskit Runtime), за допомогою якого можна запускати робочі навантаження на квантових процесорах (QPU) IBM®. Разом з еволюцією квантових технологій розвивається і Qiskit — щороку з'являються нові можливості, що розширюють цю базову колекцію квантового програмного забезпечення.

Крім того, багато проєктів із відкритим кодом є частиною ширшої екосистеми Qiskit. Ці програмні інструменти не є частиною самого Qiskit, але взаємодіють з ним і можуть надавати цінну додаткову функціональність.

IBM прагне до відповідального розвитку квантових обчислень. Дізнайся більше та ознайомся з нашими принципами відповідальних квантових обчислень у розділі Відповідальні квантові обчислення.

Qiskit SDK

Qiskit SDK (назва пакету qiskit) — це SDK з відкритим кодом для роботи з квантовими комп'ютерами на рівні розширених (статичних, динамічних та запланованих) квантових схем, операторів і примітивів. Ця бібліотека є основним компонентом Qiskit; це найбільший пакет під назвою Qiskit з найширшим набором інструментів для квантових обчислень, і з нею взаємодіють багато інших компонентів.

Деякі з найкорисніших можливостей Qiskit SDK:

  • Інструменти для побудови схем (qiskit.circuit) — для ініціалізації та маніпулювання регістрами, схемами, інструкціями, вентилями, параметрами та об'єктами управляючого потоку.

  • Бібліотека схем (qiskit.circuit.library) — широкий набір схем, інструкцій і вентилів — ключових будівельних блоків для квантових обчислень на основі схем.

  • Бібліотека квантової інформації (qiskit.quantum_info) — набір інструментів для роботи з квантовими станами, операторами та каналами з використанням точних обчислень (без шуму вибірки). Використовуй цей модуль для задання вхідних спостережуваних і аналізу точності результатів запитів до примітивів.

  • Транспілятор (qiskit.transpiler) — для перетворення та адаптації квантових схем під конкретну топологію пристрою та оптимізації для виконання на реальних квантових процесорах (QPU).

  • Примітиви (qiskit.primitives) — модуль, що містить базові визначення та еталонні реалізації примітивів Sampler і Estimator, на основі яких різні постачальники квантового обладнання можуть створювати власні реалізації. Дивись більше інформації про примітиви Qiskit Runtime у документації.

Встановлення

Для більш детального ознайомлення зі встановленням Qiskit SDK переглянь сторінку встановлення. Якщо ти готовий встановити його зараз, просто виконай:

pip install qiskit

Бенчмаркінг і пакет Benchpress

Бенчмаркінг важливий для порівняння відносної продуктивності квантового програмного забезпечення на різних етапах робочого процесу розробки. Тести бенчмаркінгу для квантового програмного забезпечення можуть, наприклад, оцінювати швидкість і якість побудови, маніпулювання та транспіляції схем. IBM Quantum прагне надавати максимально продуктивний SDK, і з цією метою Qiskit SDK тестується за допомогою понад 1000 тестів, розроблених провідними університетами, національними лабораторіями та дослідниками IBM. Набір тестів для цих перевірок під назвою Benchpress тепер доступний як пакет з відкритим кодом. Тепер ти можеш використовувати пакет Benchpress для власного аналізу продуктивності квантових SDK.

Доповнення Qiskit

Доповнення Qiskit — це колекція дослідницьких можливостей для пошуку алгоритмів рівня корисності. Ці можливості ґрунтуються на продуктивній основі Qiskit — інструментах для створення та запуску квантових алгоритмів. Доповнення — це модульні програмні компоненти, що інтегруються в робочий процес для масштабування або проектування нових квантових алгоритмів. Щоб дізнатися більше про набір доступних доповнень Qiskit і як почати їх використовувати, відвідай документацію.

Екосистема Qiskit

Поза межами Qiskit існує багато проєктів з відкритим кодом, які використовують назву "Qiskit", але не є частиною самого Qiskit; натомість вони взаємодіють з Qiskit і можуть надавати цінну додаткову функціональність для доповнення основного робочого процесу Qiskit. Деякі з цих проєктів підтримуються командами IBM Quantum, тоді як інші підтримуються ширшою спільнотою відкритого коду. Qiskit SDK розроблено модульним і розширюваним способом, що полегшує розробникам створення таких проєктів, що розширюють його можливості.

Деякі популярні проєкти в екосистемі Qiskit:

  • Qiskit Aer (qiskit-aer) — пакет для симуляторів квантових обчислень з реалістичними моделями шуму. Він надає інтерфейси для запуску квантових схем з шумом або без нього з використанням різних методів симуляції. Підтримується IBM Quantum.
  • qBraid SDK (qbraid) — платформо-незалежний фреймворк квантового виконання для постачальників квантового програмного та апаратного забезпечення, призначений для оптимізації повного циклу управління квантовими завданнями — від визначення специфікацій програм до подачі завдань і до подальшої обробки та візуалізації результатів. Підтримується qBraid.
  • mthree (mthree) — пакет для реалізації M3 (Matrix-free Measurement Mitigation) — методу пом'якшення помилок вимірювання, що вирішує задачу виправлених імовірностей вимірювання за допомогою кроку зниження розмірності з подальшим або прямим LU-розкладанням, або передобумовленим ітеративним методом, що номінально збігається за O(1) кроків і може обчислюватися паралельно. Підтримується IBM Quantum.

Каталог проєктів можна знайти на сторінці екосистеми Qiskit, а також інформацію про те, як запропонувати власний проєкт.

Наступні кроки

Рекомендації
  • Дізнайся про бібліотеку схем та інструкцій, доступних у бібліотеці схем Qiskit.
  • Прочитай про транспілятор Qiskit та численні варіанти транспіляції у розділі Транспілятор.
  • Дізнайся, як використовувати примітиви Qiskit для спрощення квантового програмування.