Ініціалізація кубітів
Package versions
The code on this page was developed using the following requirements. We recommend using these versions or newer.
qiskit-ibm-runtime~=0.46.1
Коли схема виконується на квантовому процесорі (QPU) IBM®, на початку схеми зазвичай вставляється неявне скидання, щоб гарантувати ініціалізацію кубітів до нуля. Це контролюється прапором init_qubits, встановленим як параметр виконання примітиву.
Однак недосконалість процесу скидання може призводити до помилок підготовки стану. Щоб пом'якшити помилку, QPU також вставляє час затримки повторення (rep_delay) між схемами. Кожен бекенд має різне значення rep_delay за замовчуванням, але воно зазвичай встановлюється так, щоб збалансувати точність скидання та загальний час виконання. Виконай backend.default_rep_delay, щоб дізнатися значення rep_delay за замовчуванням для конкретного QPU.
Оскільки всі QPU IBM використовують виконання з динамічною частотою повторення, ти можеш змінювати rep_delay для кожного завдання. Схеми, які ти подаєш у завданні з примітивом, групуються разом для виконання на QPU. Ці схеми виконуються шляхом перебору схем для кожного запитаного знімка; виконання відбувається по стовпцях у матриці схем і знімків, як показано на наступному малюнку.

Оскільки rep_delay вставляється між схемами, кожен знімок під час виконання зустрічає цю затримку. Тому зі зменшенням rep_delay загальний час виконання на QPU скорочується, але коштом збільшення частоти помилок підготовки стану, як ілюструє наступне зображення:

Якщо встановити одночасно rep_delay=0 та init_qubits=False, схеми «зливаються» разом, оскільки кубіти починатимуться у кінцевому стані від попереднього знімка.
Зауваж, що хоча схеми в завданні з примітивом групуються разом для виконання на QPU, порядок виконання схем з PUB не гарантується. Наприклад, якщо ти подаєш pubs=[pub1, pub2], схеми з pub1 можуть не виконуватися раніше, ніж схеми з pub2. Також немає гарантії, що схеми з одного завдання будуть виконані як один пакет на QPU.
Вказати rep_delay для завдання з примітивом
Завжди перевіряй підтримуваний діапазон rep_delay для конкретного QPU, який ти використовуєш. Ці значення різняться для різних QPU і можуть змінюватися з часом.
Зверни увагу, що збільшення rep_delay безпосередньо вплине на час виконання та споживання ємності.
# Added by doQumentation — required packages for this notebook
!pip install -q qiskit-ibm-runtime
from qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2 as Sampler
service = QiskitRuntimeService()
# Make sure your backend supports it
backend = service.least_busy(
operational=True, min_num_qubits=100, dynamic_reprate_enabled=True
)
# Determine the allowable range
backend.rep_delay_range
sampler = Sampler(mode=backend)
# Specify a value in the supported range
sampler.options.execution.rep_delay = 0.0005
Наступні кроки
- Спробуй приклад у посібнику Квантовий алгоритм апроксимаційної оптимізації (QAOA).
- Ознайомся з тим, як почати роботу з Estimator.
- Ознайомся з тим, як почати роботу з Sampler.