Вступ до 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 для спрощення квантового програмування.