Підтримати нас на Patreon

Квантові комп’ютери (З Днем Незалежності Рідна Ненька)

Квантові комп’ютери

Автор – Сухачов Денис Павлович



Коротко: “найкращий” квантовий комп’ютер = не один рецепт, а правильно зібрані технологічні рішення під вашу ціль (логічні кубіти, помилки < 10⁻³, масштабування, вартість). Нижче — реалістична інструкція-чекліст і дві референс-архітектури (надпровідники й нейтральні атоми) з поетапним планом побудови від прототипу до логічних кубітів.


0) Визначаємо “найкращий”

  • Мета: ≥1 логічний кубіт з часом життя > 1 c і помилкою логічного гейта < 10⁻⁴; або ≥32 логічні кубіти для корисних варіантів VQE/QAOA.
  • Код корекції: поверхневий код d=3→7 (старт із d=3).
  • Ключові метрики: T₁, T₂, помилка 1-кубіт/2-кубіт/читання, час гейта, щільність з’єднань, yield, робастність до дрейфів, енергоспоживання/канал.

1) Референс-архітектура A: Надпровідні кубіти (surface-code)

1.1 Система зверху вниз

Кріо-стек (10–20 мК):

  • Розведення до мК; багатоступенева фільтрація/атенюатори ВЧ; ізоляція (circulators/isolators).
  • Квантовий чип: частотно-рознесені трансмон-кубіти з тільки-з’єднаннями ZZ/CR на планарній або 3D-стековій підкладці; розподілена читка (λ/4 резонатори → мультиплекс).
  • Флікси/драйви: окремі лінії для X/Y (микрохвилі) та Z (флюкс-тунінг).

Кімнатна електроніка:

  • Синтез/AWG (≥1 Гз дискретизації), IQ-модулятори, ланцюги синхронізації з єдиним опорним 10 МГц.
  • Схеми читання: апаратне усереднення, FPGA-демодуляція/класифікатор.
  • Маршрутизація/керування: PXI/μTCA шассі з ПЛІС для реального часу (<200 нс зворотний зв’язок).

ПЗ-стек:

  • Керування імпульсами (scheduler), калібрувальник (GRAPE/Krotov/CRAB + автокалібрування), оркестратор експериментів, шар QEC (цикл поверхневого коду з декодером MWPM/UF), компілятор.

1.2 Топологія та кодування

  • Розкладка невідповідних частот (freq-collision-free) у плитці 2×d×d.
  • Плитка surface-code: data/ancilla з nearest-neighbor зв’язками, крос-резонансні або iSWAP-гейти.
  • Маршрутизація читання: частотний мультиплекс 8–16 резонаторів/лінію.

1.3 Цільові параметри (реалістичні стартові)

  • T₁,T₂ ≥ 50–100 μs; 1Q помилка ≤ 5×10⁻⁴; 2Q ≤ 5×10⁻³ (з планом до ≤1×10⁻³); читання ≤ 1×10⁻²; час 1Q 20–40 нс, 2Q 150–300 нс.
  • Мультиплекс читання: SNR ≥ 6–8 dB/квб за 300–600 нс інтеграції.

1.4 Мінімально життєздатний прототип

  1. Чип 5–9 кубітів (1 плитка + читання): вимір T₁/T₂, спектроскопія.
  2. Гейти/читання: X/Y/RZ, CR або tunable-coupler-ZZ; побудова таблиці частот, Ramsey/echo.
  3. QEC-петля d=3: стабілізатори ZZ/XX, цикли < 1 μs, декодування в реальному часі.
  4. Робастність: варіації частот ±5–10 МГц, температури, дрейфи; автоматичний re-tune.

2) Референс-архітектура B: Нейтральні атоми (оптичні пінцети + Rydberg)

2.1 Система

  • Масив пінцетів (AOD/SLM) 100–1000 атомів (Rb/Cs), решітка 2D з можливістю переформування.
  • Охолодження/загрузка: MOT → суб-Допплер → транспортування в пінцети.
  • Лазерна система: стабілізовані лазери для підготовки/читання й Rydberg-збудження (двохфотонна схема), активна стабілізація фази.
  • Детекція: EMCCD/sCMOS з паралельним читанням.
  • Контролер: ПЛІС-затримки-нс, генерація огинаючих, замкнені петлі для інтенсивності/частоти.

2.2 Гейти/коди

  • 2Q-гейт через блокаду Рідберга (CZ/CR); n.n.-зв’язність у щільній 2D-решітці → природний surface-code.
  • Переформування масиву = ремап дефектів для підвищення yield.
  • Часові масштаби: 1Q ~ 100 нс–1 μс; 2Q ~ 200–700 нс; decoherence від чорного випромінювання та шумів лазера — критичні.

2.3 Переваги/ризики

  •  
  • Масштабування сотні/тисячі фіз. кубітів без кріо.
  • – Сувора стабільність лазерів/фази; чутливість до навколишнього середовища; вимоги до оптики.

3) Інженерний план побудови (незалежно від платформи)

Етап I — Ціль і специфікації

  • Визначити цільовий код (surface-code d=3) і потрібні помилки/часи.
  • Вивести “бюджет помилок” зверху вниз: скільки можна 1Q/2Q/читання → вимоги до H, керувань, шумів.

Етап II — Фізичний дизайн

  • Обрати платформу (A або B) і комірку-плитку: що входить у повторюваний модуль, його частотний/просторовий план.
  • Спроєктувати топологію з локальною зв’язністю і шляхами для QEC-циклів без конфліктів (розклад імпульсів/читань).

Етап III — Керування та читання

  • Піраміда годинників і синхронізація (один master-clock, low-jitter fan-out).
  • Генерація імпульсів: базис Фур’є/сплайни, обмеження смуги, квантування, попередня дисторсійна корекція (DRAG, pre-emphasis).
  • Мультиплекс читання (СВЧ або оптичний), класифікація на ПЛІС < 200 нс, API для feedback.

Етап IV — Автокалібрування та оптимізація

  • Пайплайн: скан → ідентифікація моделі → оптимізація імпульсів → валідація.
  • Алгоритми: GRAPE/Krotov для градієнтів, CRAB/BO для робастності. Моніторинг дрейфів і періодичний re-cal.
  • Вбудований ensamble-averaging по шумам (detuning, амплітуда, T₁/Тφ).

Етап V — QEC і логічний рівень

  • Реалізувати цикли стабілізаторів з жорстким розкладом (мікросекунди).
  • Декодер MWPM/Union-Find на ПЛІС/ГПУ, наскрізна телеметрія помилок.
  • Демонструвати логічний ідіот-гіт (Id), логічні X/Z, teleportation-based CNOT між логічними.

Етап VI — Масштабування

  • Модульність: кріо-модулі/оптичні модулі з активними міжмодульними лінками (мікрохвилеві/фотонні).
  • Комунікація: класичний backplane, синхронізація тригерів, протоколи low-latency.

4) Мінімальний BoM (рівень підсистем)

Для надпровідників

  • Розведений холодильник (10–20 мК), ВЧ-кабельний комплект, атенюатори, фільтри, ізолятори, циркулятори, JPA (кріо-підсилювач).
  • Чип: планарний Nb/Al, трансмони, резонатори читання, з’єднувачі (фіксовані або tunable couplers).
  • Електроніка: генератори, AWG/ADC, міксери IQ, локальні осцилятори, ПЛІС-прискорювач для читання/декодування.
  • Радыошум/вібрації: демпфери, ЕМ-екрани, чиста земля.

Для нейтральних атомів

  • Вакуум-камера UHV, MOT, магніти/катушки Гельмгольца.
  • Лазери з опорними кавітаціями, AOM/AOD/SLM, стабілізація частоти/інтенсивності.
  • Оптика: телецентричні об’єктиви NA≥0.5, детектори EMCCD/sCMOS.
  • Контролери таймінгу, швидкі затвори, фотодіоди з петлями керування.

5) Протоколи верифікації

  • Однокубітні: T₁, T₂, RB (Clifford RB), DRAG-оптимізація.
  • Двокубітні: CR/iSWAP calibration, interleaved RB, cross-entropy benchmarking.
  • Читання: S-крива, конфузійна матриця, інтеграційний час vs помилка.
  • QEC: частоти синдикатів, логічна помилка vs кодова відстань d, стабільність при дрейфах.

6) Архітектурні рішення по “що вибрати”

  • Максимальна швидкість і зрілий стек → Надпровідники (легко робити QEC-цикли < 1 μс; складна кріоніка та дроти).
  • Щільність/масштаб і ремап дефектів → Нейтральні атоми (масиви 10³+, але чутливі до лазерної стабільності).
  • Фотоніка (міжмодульні лінки) — для розподілених/мережевих архітектур.
  • Іонні пастки/спіни в кремнії — сильні альтернативи залежно від доступних лабораторних компетенцій.

7) План на 6–9 місяців до логічного прототипу (реалістично)

Місяці 1–2: специфікації, симулятор, закупівлі критичних підсистем, дизайн плитки.
Місяці 3–4: збирання апаратури, bring-up ліній керування/читання, калібрування одиночних кубітів.
Місяці 5–6: стабільні 2Q-гейти, RB ≤ 5×10⁻³; інтеграція декодера.
Місяці 7–9: surface-code d=3, логічний ідіот-гіт > 100 циклів без збоїв; перші логічні гейти.


8) Інструменти для оптимізації імпульсів і QEC

  • Імпульсна оптимізація: GRAPE/Krotov/CRAB (з урахуванням обмежень смуги/квантування).
  • Декодери: MWPM, Union-Find; real-time на ПЛІС/ГПУ.
  • Планувальник: конфлікт-free розклади для стабілізаторів (цикли, які не перехрещують ресурси).

9) Ризики та як їх гасити

  • Дрейфи параметрів → постійний авто-recal, термічна стабілізація, моніторинг.
  • Колізії частот/крос-токи → граматика частот, гард-тони, екрани, active cancellation.
  • Вузьке місце читання → кращі JPA/оптика, агрегація та класифікатор на ПЛІС.
  • Масштабування керувань → мультиплекс, розподілена електроніка біля кріо-фланця/вакууму.




1) Що тут за що відповідає (інтуїція)

  • Еволюція квантової системи: exp(-iHt/ℏ) · exp(iS/ℏ) — унітарна динаміка (ціль — потрібний гейт/стан за час t).
  • Декогеренція/втрати: exp[-∑ᵢ(λᵢ t)] — релаксації/дефази (хочемо мінімізувати ефективні λᵢ або час під імпульсами).
  • Керувальні поля/імпульси: ∏ᵥ Qᵥ(rᵥ,ωᵥ,φᵥ,t), kᵢⱼ(t), αₖ(t), βᵤ(t) — амплітуди/частоти/фази, куплінги й корекції; це — наші змінні керування (hardware knobs).
  • Шуми/стабільність: ∆(E,t), ∮(∇×v)·dS/(nh/m) — флуктуації, топологічні/інтегральні умови; впливають як обмеження/штраф.
  • Цільова якість: G(E,J,P), L(J,S), Z(Q), {Ψₑ ⊕ Ψₚ} — метрики/функціонали (фіделіті, поляризації, парність, імовірності збудження тощо).
  • Статичні/геометричні фактори: M₀(t), Fⱼ, V, Tₐ(t)Rₐ(r), Dᵦ(t)Wᵦ(r), Φ(r,t) — фон/геометрія/матеріали/температура; частково фіксуємо, частково — теж параметризуємо.

2) Перетворюємо на задачу оптимізації

Вводимо вектор параметрів керування θ, який включає:

  • часові профілі керувань Qᵥ(t), kᵢⱼ(t), αₖ(t), βᵤ(t) (зручно задавати базисом: Fourier/B-spline/кусково-сталий),
  • окремі «апаратні» константи (куплінги J, зсуви, частоти робочих точок, геометрію r).

Цільова функція (приклад багатокритеріальної):

J(θ)=wF(1−Fgate(θ))+wλ∫0T∑iλi(θ,t) dt+wU∫0T∥u(t;θ)∥2dt+wR robustness(θ;шум)\mathcal{J}(\theta)= w_F \big(1-F_{\text{gate}}(\theta)\big) + w_\lambda \int_0^T \sum_i \lambda_i(\theta,t)\,dt + w_U \int_0^T \|\mathbf{u}(t;\theta)\|^2 dt + w_R\,\text{robustness}(\theta;\text{шум})J(θ)=wF​(1−Fgate​(θ))+wλ​∫0T​i∑​λi​(θ,t)dt+wU​∫0T​∥u(t;θ)∥2dt+wR​robustness(θ;шум)

де FgateF_{\text{gate}}Fgate​ випливає з блоку G⋅L⋅Z⋅[Ψe⊕Ψp]G·L·Z·[Ψ_e ⊕ Ψ_p]G⋅L⋅Z⋅[Ψe​⊕Ψp​], u(t)\mathbf{u}(t)u(t) — вектор керувань з Q,k,α,βQ,k,α,βQ,k,α,β. Обмеження: амплітуди/потужність/смуга, топологічний інтеграл, теплова бюджетність, технологічні межі.

3) Практична параметризація

  • Час t∈[0,T]t∈[0,T]t∈[0,T] дискретизуємо на N кроків.
  • Для кожного керування (наприклад, QvQ_vQv​):

Qv(t)=∑m=1Mav,m sin⁡(2πfmt+ϕv,m)Q_v(t) = \sum_{m=1}^{M} a_{v,m}\, \sin(2\pi f_{m} t + \phi_{v,m})Qv​(t)=m=1∑M​av,m​sin(2πfm​t+ϕv,m​)

або B-spline з коефіцієнтами av,ma_{v,m}av,m​. Саме коефіцієнти av,m,ϕv,ma_{v,m}, \phi_{v,m}av,m​,ϕv,m​ — частина θ.

  • H(t)H(t)H(t) будуємо з апаратно-реалістичних термів (напр., для надпровідних кубітів: приводи X/ZX/ZX/Z, крос-резонанс, ZZ-куплінги; для іонів — спін-фонон тощо).

4) Алгоритм

  1. Нормуємо всі величини (час у одиницях 1/Ω1/Ω1/Ω, енергії у ℏΩℏΩℏΩ, тощо).
  2. Задаємо базис керувань і стартові θ з фізично допустимими межами.
  3. Пропагуємо стан/унітар U(T;θ)U(T;θ)U(T;θ) (схема Рунге–Кутта/матричний експонент дискретно).
  4. Обчислюємо метрики Fgate,F_{\text{gate}},Fgate​, втрати, штрафи.
  5. Оптимізуємо: GRAPE/Krotov для градієнтів; або Bayesian/CRAB/Nelder–Mead, якщо модель «шорстка».
  6. Робастність: усереднюємо J(θ)\mathcal{J}(\theta)J(θ) по ансамблях шуму/детюнінгів (∆E,δω,dr)(∆E, δω, dr)(∆E,δω,dr).
  7. Перевіряємо обмеження (амплітуди, потужність, тривалість, топологічний інтеграл) — штраф або проєкція.
  8. Сенситивіті-аналіз та trade-off криві (Pareto) між часом, фіделіті та потужністю.

5) Мінімальний робочий шаблон (можна підставити свій H, обмеження)

import numpy as np

# ———- фізичні допоміжні ———-

def dagger(U): return U.conj().T

# Паулі

I2 = np.eye(2, dtype=complex)

X  = np.array([[0,1],[1,0]], complex)

Y  = np.array([[0,-1j],[1j,0]], complex)

Z  = np.array([[1,0],[0,-1]], complex)

# еволюція одного кубіта з керуваннями Ωx(t), Ωz(t)

def H_of_t(ux, uz):

    return 0.5*(ux*X + uz*Z)  # ℏ=1

def step_unitary(U, H, dt):

    # 1-й порядок для простоти; у практиці — 4-й РК або expm

    return U @ (np.eye(2) – 1j*H*dt)

def unitary_from_controls(T, N, ax, phx, az, phz, freqs):

    t = np.linspace(0, T, N)

    U = np.eye(2, dtype=complex)

    for k in range(N-1):

        tk, dt = t[k], t[1]-t[0]

        ux = sum(ax[m]*np.sin(2*np.pi*freqs[m]*tk + phx[m]) for m in range(len(freqs)))

        uz = sum(az[m]*np.sin(2*np.pi*freqs[m]*tk + phz[m]) for m in range(len(freqs)))

        Ht = H_of_t(ux, uz)

        U = step_unitary(U, Ht, dt)

    return U

def gate_fidelity(U_target, U):

    d = U.shape[0]

    return abs(np.trace(dagger(U_target) @ U))/d

# штрафи: потужність і амплітудні межі

def control_penalty(ax, az, amp_limit=1.0):

    pen = 0.0

    for a in list(ax)+list(az):

        pen += max(0.0, abs(a)-amp_limit)**2

        pen += a*a * 1e-3  # L2

    return pen

# ефективна декогеренція (проста модель)

def decoherence_penalty(T, lambdas):

    # lambdas = [T1^{-1}, Tphi^{-1}, …]

    return 1.0 – np.exp(-T*sum(lambdas))

# цільова

def objective(theta, U_target, T=40e-9, N=800, freqs=(50e6, 100e6, 150e6),

              wF=1.0, wP=0.1, wD=0.2, amp_limit=1.0, lambdas=(1/40e-6, 1/20e-6)):

    M = len(freqs)

    ax, phx = theta[0:M], theta[M:2*M]

    az, phz = theta[2*M:3*M], theta[3*M:4*M]

    U = unitary_from_controls(T, N, ax, phx, az, phz, freqs)

    F = gate_fidelity(U_target, U)

    P = control_penalty(ax, az, amp_limit=amp_limit)

    D = decoherence_penalty(T, lambdas)

    # мінімізуємо:

    return wF*(1-F) + wP*P + wD*D, F, P, D

# простий random-restart пошук (підстав свої межі/стратегію)

rng = np.random.default_rng(0)

M = 3

best = (1e9, None)

U_target = X  # приклад: робимо X-гейт

for _ in range(2000):

    theta = np.concatenate([

        rng.uniform(-0.8, 0.8, M),          # ax

        rng.uniform(0, 2*np.pi, M),         # phx

        rng.uniform(-0.8, 0.8, M),          # az

        rng.uniform(0, 2*np.pi, M),         # phz

    ])

    J, F, P, D = objective(theta, U_target)

    if J < best[0]:

        best = (J, (theta, F, P, D))

print(“best_J, F, P, D =”, best[0], best[1][1:])

Як цим користуватись

  • Заміни одно-кубітний H(t)H(t)H(t) на свій (2-кубітний, з куплінгом JJJ, крос-резонанс тощо).
  • Розшир базис керувань (частоти freqs, число гармонік M) і введи реальні обмеження (bandwidth, rise/fall, кванти AWG).
  • Заміни decoherence_penalty на модель з твоїми λi(t)λ_i(t)λi​(t) і залежностями від керувань/температури (частина з ∆(E,t), Φ(r,t)).
  • Якщо потрібно — додай робастність: усереднюй objective по ансамблю шумів/детюнінгів.
  • Коли структура працює — заміни random search на GRAPE/Krotov або Bayesian Optimization.

6) Що вважати “оптимальним” на практиці

  • Фіделіті цільових гейтів ≥ 0.999 (або згідно з кодом корекції помилок).
  • Час гейта мінімальний за умови заданої фіделіті й теплового бюджету.
  • Потужність/витрати в межах ліній, без нагріву та витоків.
  • Робастність до дрейфів (±δJ, ±δω, ±T₁/Тφ) — падіння фіделіті не більше X ppm.
  • Сумісність із стеком керування (частоти/семпл-рейти/квантування/ДСП-фільтри).

Хочеш — я підставлю твій конкретний H(r,t)H(r,t)H(r,t), реальні діапазони керувань і метрику (яку саме частину з G·L·Z ти використовуєш як основну ціль) і одразу згенерую робочий оптимізатор під твої параметри.