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

Огляд квантової діагоналізації на основі вибірок (SQD)

Квантова діагоналізація на основі вибірок (SQD) — це класична техніка постобробки, яка діє на вибірки, отримані з квантової схеми після виконання на QPU. Вона корисна для пошуку власних значень і власних векторів квантових операторів, таких як гамільтоніан квантової системи, і використовує квантові та розподілені класичні обчислення разом. Ця техніка постобробки може бути особливо корисною для користувачів, що моделюють хімічні або інші квантові системи.

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

Інструмент SQD може працювати з гамільтоніанами, вираженими у вигляді лінійних комбінацій операторів Паулі або фермільних операторів у вторинному квантуванні. Вхідні вибірки отримуються з квантових схем, визначених користувачем, які, як вважається, є хорошими представленнями власних станів (наприклад, основного стану) цільового оператора. Швидкість збіжності SQD як функції кількості вибірок покращується зі збільшенням розрідженості цільового власного стану.

Встановлення пакету SQD

Існує два способи встановлення пакету SQD: через PyPI або зі збіркою з вихідного коду. Рекомендується виконувати встановлення пакетів у віртуальному середовищі, щоб забезпечити ізоляцію залежностей пакетів.

Встановлення через PyPI

Найпростіший спосіб встановити пакет qiskit-addon-sqd — через PyPI.

pip install qiskit-addon-sqd

Збірка з вихідного коду

Натисни тут, щоб дізнатися, як встановити цей пакет вручну

Якщо хочеш зробити внесок у цей пакет або встановити його вручну, спочатку клонуй репозиторій:

git clone git@github.com:Qiskit/qiskit-addon-sqd.git

і встанови пакет через pip. Репозиторій також містить приклади у вигляді ноутбуків, які можна запускати. Якщо плануєш розробляти в репозиторії, можна встановити залежності dev.

Налаштуй параметри відповідно до своїх потреб.

pip install tox notebook -e '.[notebook-dependencies, dev]'

Теоретична основа

Робочий процес SQD з самоузгодженим відновленням конфігурацій детально описано в [1]. Цей розділ надає огляд техніки, зображеної на наступній діаграмі.

Діаграма SQD, що зображує відновлення конфігурацій, збір підвибірок та отримання власних станів з цих підвибірок

Тут Xˉ\bar{\mathcal{X}} — це набір зашумлених вибірок, що містять у контексті модельованого гамільтоніана фізичні та нефізичні конфігурації (представлені у вигляді бітових рядків), отримані при виконанні на QPU. Нефізичні конфігурації виникають через шум і можуть бути оброблені методом sqd.configuration_recovery.recover_configurations() для уточнення вибірок у новий набір XR\mathcal{X}_R.

З цього набору батчі конфігурацій S(1)... S(K)\mathcal{S}^{(1)}...\ \mathcal{S}^{(K)} відбираються відповідно до розподілу, пропорційного емпіричним частотам кожного x\mathbf{x} у XR\mathcal{X}_R. Кожен батч відібраних конфігурацій охоплює підпростір S(k):k=1,...,K\mathcal{S}^{(k)}: k = 1, ..., K, в якому гамільтоніан проєктується та діагоналізується:

H^S(k)=P^S(k)H^P^S(k), with P^S(k)=xS(k)xx, \hat{H}_{S^{(k)}} = \hat{P}_{\mathcal{S}^{(k)}}\hat{H}\hat{P}_{\mathcal{S}^{(k)}}\text{, with } \hat{P}_{\mathcal{S}^{(k)}} = \sum_{\mathbf{x} \in \mathcal{S}^{(k)}} |\mathbf{x}\rangle\langle\mathbf{x}|,

де H^S(k)\hat{H}_{\mathcal{S}^{(k)}} — гамільтоніан даного підпростору.

Основна частина робочого процесу SQD полягає саме тут: кожен з цих гамільтоніанів підпростору діагоналізується. Основні стани, отримані з кожного підпростору, ψ(k)|\psi^{(k)}\rangle, використовуються для отримання оцінки еталонного вектора заповненостей n(K)\mathbf{n}^{(K)}, усередненого по кожному з KK підпросторів. Потім генерується новий набір конфігурацій XR\mathcal{X}_R шляхом імовірнісного перевертання окремих бітів на основі цього середнього заповнення та відомої загальної кількості частинок (ваги Гаммінга) в системі. Цей процес відновлення конфігурацій повторюється шляхом підготовки нового набору підпросторів для діагоналізації, отримання нових власних станів і усередненої орбітальної заповненості та генерації нового набору конфігурацій. Цей цикл повторюється до досягнення заданого користувачем критерію, і весь процес аналогічний фільтрації зашумленого сигналу для покращення його якості.

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

Рекомендації

Посилання

[1] Robledo-Moreno, Javier, et al. "Chemistry beyond exact solutions on a quantum-centric supercomputer" arXiv preprint arXiv:2405.05068 (2024).