Перейти до основного вмісту
Цей проєкт у бета-версії. Знайшов(-ла) помилку? Відкрити issue на GitHub. Є запитання чи ідея? Запитати в Discussions — будемо раді твоєму відгуку!
Яка якість перекладу на цій сторінці?

Qiskit Paulice

qiskit-paulice — це пакет для вбудовування апаратно-ефективних перевірок Паулі в довільні кліффордові схеми на довільній зв'язності кубітів за допомогою просторово-часових стабілізаторних кодів. Ці перевірки можна використовувати для виявлення логічних помилок під час виконання схеми. Залишення лише вибірок без виявлених помилок може підвищити точність станів, отриманих за допомогою квантового процесора, ціною деякої кількості допоміжних кубітів і збільшення накладних витрат на вибірку. Цей метод особливо підходить для апаратури найближчого майбутнього, оскільки має значно менші накладні витрати за кубітами та гейтами порівняно з відмовостійкими квантовими обчисленнями, а накладні витрати на вибірку менші, ніж у методів пом'якшення помилок, таких як ZNE або PEC [1].

Хоча просторово-часові перевірки Паулі можна використовувати для реалізації окремих процедур виявлення помилок, вони також доречні в контексті пом'якшення та виправлення помилок. Виявлення помилок може доповнювати методи пом'якшення помилок, як-от імовірнісне скасування помилок (PEC), перехоплюючи частину шуму, що впливає на гейти та вимірювання, зменшуючи вплив шумового каналу, який інвертується, і тим самим знижуючи накладні витрати на вибірку. Їх також можна розглядати як ранній крок до практичної відмовостійкості, оскільки реалізація стабілізаторних кодів для захисту кубітів даних від логічних помилок є ключовою концепцією традиційного виправлення помилок. Оскільки цей метод надає одношотовий доступ до квантового стану, його можна використовувати як у робочих процесах на основі вибірок, так і в тих, що ґрунтуються на очікуваних значеннях.

Початок роботи​

Простий посібник, який допоможе швидко почати роботу з цим пакетом, доступний у короткому посібнику.

Приклади використання​

Цю техніку використано для підвищення точності вибірок із схем, у яких переважають кліффордові гейти, з використанням 97 фізичних кубітів для кодування 2415 логічних заплутувальних гейтів на 70 логічних кубітах [2].

Технічне обговорення​

Пошук хороших наборів просторово-часових перевірок Паулі​

Quantum circuit cartoon

Набір просторово-часових перевірок Паулі є «хорошим», якщо кожна перевірка коректна, має малу вагу та ефективна.

Перевірка складається з кількох керованих обертань Паулі, PP, розміщених на деяких лініях схеми, ww: {(P1,w1),...,(Pk,wk)}\{(P_1,w_1), ..., (P_k,w_k)\}. Для заданої перевірки керувальні кубіти лежать на одному допоміжному кубіті, а обертання відбуваються на лініях одного цільового кубіта. Для кліффордових схем перевірка коректна, якщо її зворотно поширений добуток є стабілізатором стану, підготовленого ідеальною схемою: ∏iB(Pi,wi)∈S\prod_{i}B(P_i,w_i) \in S, де B(P,w)B(P,w) — зворотний поширювач PP від ww до початку схеми, а SS — множина всіх стабілізаторів схеми.

Перевірка має малу вагу, якщо для її реалізації потрібно мало заплутувальних гейтів. Алгоритм вибору перевірок віддаватиме перевагу перевіркам малої ваги, які забезпечують найефективніше виявлення помилок.

Перевірка ефективна, якщо вона перехоплює набагато більше помилок, ніж вносить. Перевірка Паулі складається з кількох заплутувальних гейтів, а отже, вносить у обчислення додатковий шум гейтів. Важливо переконатися, що кожна додаткова перевірка дає додаткову здатність виявляти помилки. Ефективність набору перевірок можна оцінити наближено, склавши помилки Паулі, які виявляють перевірки, у постселектований шумовий канал і обчисливши його вплив. Мінімізація накладних витрат на вибірку для реалізації невиявленого оберненого шумового каналу є надійною евристикою для вибору хороших перевірок, оскільки вона показує, скільки помилок перевірки не можуть виявити. Повільніший, але реалістичніший підхід — виконати вибірку методом Монте-Карло із шумного стану й емпірично обчислити рівень логічних помилок постселектованого розподілу. Обидва ці підходи доступні як вбудовані функції вартості у функції qiskit_paulice.add_pauli_checks.

Постселекція вибірок на основі даних синдрому​

У цьому пакеті перевірка реалізується за допомогою заплутувальних гейтів між одним допоміжним кубітом і одним цільовим кубітом. Кожен допоміжний кубіт починає в стані ∣0⟩|0\rangle, тож ZancZ_\text{anc} стабілізує його вхідний стан. Пряме поширення ZancZ_\text{anc} від початку допоміжного кубіта крізь усю перевірену схему дає оператор Паулі на виході, який може мати більшу вагу й поширюватися на схему корисного навантаження. Індекси кубітів, на яких цей вихідний оператор має неодиничні члени, називаються носієм перевірки, а перевірка проходить, якщо біти, bb, у носії перевірки мають парну парність: ⨁i=1bi=0\bigoplus_{i=1} b_i = 0. Вибірку залишають, якщо кожна перевірка дає 00 для своєї перевірки парності.

Можливості програмного забезпечення​

  • Автоматичне створення моделі шуму з еталонних даних бекенда

  • Пошук перевірок, прискорений за допомогою Rust

  • 3 вбудовані алгоритми пошуку перевірок

  • Підтримка допінгу гейтами RZ

  • Підтримка поєднання виявлення помилок із пом'якшенням помилок

Відомі проблеми​

  • Шум простою не надається через NoiseModel.get_backend і ігнорується під час вибору перевірок

  • Хоча багато стохастичних кроків в алгоритмі можна контролювати за допомогою випадкового зерна, деякі можливості мають випадковість, яку зерном контролювати не можна. Зокрема, такі значення аргументів add_pauli_checks призводять до недетермінованого вибору перевірок: cost="LER", method="genetic" та method="windowed_genetic". Для детермінованої поведінки використовуй add_pauli_checks(..., cost="gamma", method="windowed"), які є значеннями за замовчуванням.

Майбутня робота​

  • Врахування шуму простою під час вибору перевірок

  • Контрольована випадковість для функції вартості на основі рівня логічних помилок і генетичних алгоритмів пошуку

Внесок у розробку​

Вихідний код доступний на GitHub.

Посібник розробника розташований у CONTRIBUTING.md у корені репозиторію цього проєкту. Беручи участь, ти зобов'язуєшся дотримуватися кодексу поведінки Qiskit.

Цитування цього пакета​

Якщо ти використовуєш цей пакет у своїх дослідженнях, скористайся файлом CITATION.bib у репозиторії цього проєкту, щоб процитувати відповідні джерела.

Ліцензія​

Apache License 2.0

Політика застарівання​

Ми дотримуємося семантичного версіонування. Іноді ми можемо вносити несумісні зміни, щоб покращити досвід користувача. Коли це можливо, ми зберігатимемо старі інтерфейси та позначатимемо їх як застарілі, доки вони можуть співіснувати з новими. Кожне суттєве покращення, несумісну зміну чи застарівання буде задокументовано в примітках до випуску.

Джерела​

  1. Simon Martiel, Ali Javadi-Abhari, Low-overhead error detection with spacetime codes, arXiv:2504.15725 [quant-ph].

  2. Simon Martiel, et al., Sampling hard circuits with verifiably high fidelity, arXiv:2607.25941 [quant-ph].