Квантові комп’ютери
Автор – Сухачов Денис Павлович
Коротко: “найкращий” квантовий комп’ютер = не один рецепт, а правильно зібрані технологічні рішення під вашу ціль (логічні кубіти, помилки < 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 Мінімально життєздатний прототип
- Чип 5–9 кубітів (1 плитка + читання): вимір T₁/T₂, спектроскопія.
- Гейти/читання: X/Y/RZ, CR або tunable-coupler-ZZ; побудова таблиці частот, Ramsey/echo.
- QEC-петля d=3: стабілізатори ZZ/XX, цикли < 1 μs, декодування в реальному часі.
- Робастність: варіації частот ±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λ∫0Ti∑λi(θ,t)dt+wU∫0T∥u(t;θ)∥2dt+wRrobustness(θ;шум)
де 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∑Mav,msin(2πfmt+ϕ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/Ω, енергії у ℏΩℏΩℏΩ, тощо).
- Задаємо базис керувань і стартові θ з фізично допустимими межами.
- Пропагуємо стан/унітар U(T;θ)U(T;θ)U(T;θ) (схема Рунге–Кутта/матричний експонент дискретно).
- Обчислюємо метрики Fgate,F_{\text{gate}},Fgate, втрати, штрафи.
- Оптимізуємо: GRAPE/Krotov для градієнтів; або Bayesian/CRAB/Nelder–Mead, якщо модель «шорстка».
- Робастність: усереднюємо J(θ)\mathcal{J}(\theta)J(θ) по ансамблях шуму/детюнінгів (∆E,δω,dr)(∆E, δω, dr)(∆E,δω,dr).
- Перевіряємо обмеження (амплітуди, потужність, тривалість, топологічний інтеграл) — штраф або проєкція.
- Сенситивіті-аналіз та 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 ти використовуєш як основну ціль) і одразу згенерую робочий оптимізатор під твої параметри.




