Tensor-network error mitigation (TEM): функція Qiskit від Algorithmiq
Дивись довідник API
Qiskit Functions — це експериментальна функція, доступна лише для користувачів IBM Quantum® Premium Plan, Flex Plan та On-Prem (через IBM Quantum Platform API) Plan. Вони перебувають у статусі попереднього випуску і можуть змінюватися.
Package versions
Код на цій сторінці розроблений із використанням наступних вимог. Рекомендуємо використовувати ці або новіші версії.
qiskit[all]~=2.4.0
Огляд
Метод Tensor-network Error Mitigation (TEM) від Algorithmiq — це гібридний квантово-класичний алгоритм, розроблений для виконання пом'якшення шуму повністю на класичному етапі постобробки. За допомогою TEM користувач може обчислювати очікувані значення спостережуваних величин, пом'якшуючи неминучі помилки, спричинені шумом на квантовому обладнанні, з підвищеною точністю та ефективністю витрат, що робить його дуже привабливим варіантом як для квантових дослідників, так і для практиків в індустрії.
Мето д полягає у побудові тензорної мережі, що представляє обернений глобальний канал шуму, який впливає на стан квантового процесора, а потім у застосуванні цього відображення до інформаційно повних результатів вимірювань, отриманих від зашумленого стану, для отримання незміщених оцінок спостережуваних величин.
Перевагою TEM є те, що він використовує інформаційно повні вимірювання для надання доступу до великого набору пом'якшених очікуваних значень спостережуваних величин і має оптимальний вибірковий overhead на квантовому обладнанні, як описано у Filippov et al. (2023), arXiv:2307.11740, та Filippov et al. (2024), arXiv:2403.13542. Вибірковий overhead стосується кількості додаткових вимірювань, необхідних для ефективного пом'якшення помилок — це критичний фактор у здійсненності квантових обчислень. Тому TEM має потенціал для забезпечення квантової переваги у складних сценаріях, таких як застосування в галузях квантового хаосу, фізики багатьох тіл, динаміки Габбарда та симуляцій хімії малих молекул.
Основні особливості та переваги TEM можна підсумувати так:
- Оптимальний вибірковий overhead: TEM є оптимальним щодо теоретичних меж, що означає, що жоден метод не може досягти меншого вибіркового overhead. Іншими словами, TEM потребує мінімальну кількість додаткових вимірювань для пом'якшення помилок. Це, у свою чергу, означає, що TEM використовує мінімальний квантовий час виконання.
- Ефективність витрат: Оскільки TEM обробляє пом'якшення шуму повністю на етапі постобробки, немає потреби додавати додаткові схеми до квантового комп'ютера, що не тільки здешевлює обчислення, але й зменшує ризик внесення додаткових помилок через недосконалість квантових пристроїв.
- Оцінка кількох спостережуваних величин: Завдяки інформаційно повним вимірюванням TEM ефективно оцінює кілька спостережуваних величин з одними й тими ж даними вимірювань від квантового комп'ютера.
- Пом'якшення помилок вимірювання: Функція TEM Qiskit також включає пропрієтарний метод пом'якшення помилок вимірювання, здатний значно зменшити помилки зчитування після короткого калібрувального запуску.
- Точність: TEM значно підвищує точність та надійність цифрових квантових симуляцій, роблячи квантові алгоритми більш прецизійними та надійними.
Опис
Функція TEM дозволяє отримувати очікувані значення з пом'якшенням помилок для кількох спостережуваних величин на квантовій схемі з мінімальним вибірковим overhead. Схема вимірюється за допомогою інформаційно повної позитивної операторно-значної міри (IC-POVM), і зібрані результати вимірювань обробляються на класичному комп'ютері. Це вимірювання використовується для виконання методів тензорних мереж та побудови карти інверсії шуму. Функція застосовує відображення, яке повністю інвертує весь зашумлений ланцюг за допомогою тензорних мереж для представлення зашумлених шарів.
Після відправки схем до функції вони транспілюються та оптимізуються для мінімізації кількості шарів з двокубітними вентилями (найбільш зашумлені вентилі на квантових пристроях). Шум, що впливає на шари, вивчається через Qiskit Runtime за допомогою розрідженої моделі шуму Паулі-Ліндблада, як описано у E. van den Berg, Z. Minev, A. Kandala, K. Temme, Nat. Phys. (2023). arXiv:2201.09866.
Модель шуму є точним описом шуму на пристрої, здатним уловлювати тонкі особливості, включаючи перехресні завади між кубітами. Однак шум на пристроях може коливатися та дрейфувати, і вивчений шум може бути неточним на момент виконання оцінки. Це може призвести до неточних р езультатів.
Початок роботи
Автентифікуйтеся за допомогою свого ключа API IBM Quantum Platform та виберіть функцію TEM наступним чином. (Цей фрагмент коду передбачає, що ви вже зберегли свій акаунт у локальному середовищі.)
# Added by doQumentation — required packages for this notebook
!pip install -q qiskit qiskit-ibm-catalog
from qiskit_ibm_catalog import QiskitFunctionsCatalog
tem_function_name = "algorithmiq/tem"
catalog = QiskitFunctionsCatalog(channel="ibm_quantum_platform")
# Load your function
tem = catalog.load(tem_function_name)
Приклад
Наступний фрагмент коду показує приклад, де TEM використовується для обчислення очікуваних значень спостережуваної величини для простої квантової схеми.
from qiskit import QuantumCircuit
from qiskit.quantum_info import SparsePauliOp
# Create a quantum circuit
qc = QuantumCircuit(3)
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)
for _ in range(2):
qc.barrier()
qc.cx(0, 1)
qc.cx(2, 1)
qc.barrier()
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)
# Define the observables
observable = SparsePauliOp("IYX", 1.0)
# Define the execution options
pub = (qc, [observable])
options = {"default_precision": 0.02}
# Define backend to use. TEM will choose the least-busy device reported by IBM if not specified
backend_name = "ibm_marrakesh"
# Run the TEM function (uses around three minutes of QPU time)
job = tem.run(pubs=[pub], backend_name=backend_name, options=options)
Використовуйте API Qiskit Serverless для перевірки статусу вашого робочого навантаження Qiskit Function:
print(job.status())
QUEUED
Ви можете отримати результати так:
result = job.result()
evs = result[0].data.evs
print(evs[0])
0.02165380888171687
Очікуване значення для безшумної схеми для даного оператора повинно бути приблизно 0.18409094298943401.
Отримання підтримки
Звертайся до qiskit_ibm@algorithmiq.fi
Обов'язково включіть наступну інформацію:
- ID завдання Qiskit Function (
qiskit-ibm-catalog),job.job_id - Детальний опис проблеми
- Будь-які відповідні повідомлення або коди помилок
- Кроки для відтворення проблеми
Наступні кроки
- Запросити доступ до Algorithmiq Tensor-network error mitigation.
- Відвідай довідник API для цієї функції Qiskit.