2026 г.

Курс «Квантовые вычисления». Глава 11. Квантовая коррекция ошибок

Курс «Квантовые вычисления»

Цели главы. Пройти путь от трёх кажущихся возражений против квантовой коррекции до её теории и первых экспериментов ниже порога: трёхкубитные коды, код Шора, стабилизаторный язык, поверхностный код, теорема о пороге и цена T-вентиля. Это самая инженерно важная глава курса — именно здесь выясняется, что требуется для исполнения алгоритмов части II на реальных размерах задач и чего современные эксперименты ещё не доказали.

11.1. Три возражения

Классическая коррекция проста: продублируй бит трижды, голосуй большинством. Перенести это на кубиты мешают, казалось бы, непреодолимые препятствия:

  1. Запрет клонирования (глава 3): состояние α|0⟩ + β|1⟩ нельзя скопировать — тройного дубля не сделать.
  2. Измерение разрушает (глава 2): чтобы «проголосовать», надо прочитать кубиты — и уничтожить ту самую суперпозицию, которую защищаем.
  3. Ошибки непрерывны: классический бит либо перевернулся, либо нет; кубит же может повернуться на любой малый угол. Кажется, исправлять пришлось бы континуум ошибок.

Открытие Шора и Стина (1995–96), обходящее все три пункта разом, — по праву одно из великих в информатике. Разберём его на простейшем примере.

11.2. Трёхкубитный код против битовых переворотов

Кодирование. Клонировать нельзя — но можно запутать. Логический кубит кодируется в три физических:

α|0⟩ + β|1⟩ → α|000⟩ + β|111⟩

(двумя CNOT от первого кубита к остальным). Обратите внимание: это не три копии состояния — (α|0⟩+β|1⟩)⊗3 раскрывалось бы в восемь слагаемых. Это одно запутанное состояние; амплитуды существуют в единственном экземпляре — запрет клонирования соблюдён. Возражение 1 снято.

Синдромные измерения. Пусть шум перевернул один из кубитов, скажем второй: состояние стало α|010⟩ + β|101⟩. Как найти виновника, не измеряя данные? Измерим не кубиты, а чётности пар: операторы Z1Z2 (совпадают ли кубиты 1 и 2) и Z2Z3. Технически: анцилла в |0⟩, два CNOT от проверяемой пары на неё, измерение анциллы (схема — в лабораторной). Ключевое свойство: оба слагаемых нашего состояния — и |010⟩, и |101⟩ — дают одинаковые чётности («не совпадают», «не совпадают»), поэтому измерение чётностей не различает слагаемые и не разрушает суперпозицию — оно извлекает ровно один бит: где ошибка, ничего не сообщая о том, что закодировано. Пара результатов (s1, s2) — синдром — однозначно указывает виновника: (0,0) — ошибки нет, (1,0) — кубит 1, (1,1) — кубит 2, (0,1) — кубит 3. Применяем X к виновнику — состояние восстановлено. Возражение 2 снято.

Дискретизация ошибок. Пусть ошибка не полный переворот, а малый унитарный поворот: на кубит 2 подействовал e−iεX2 = cos ε·I − i sin ε·X2. Кодовое состояние стало суперпозицией «ошибки не было» и «был переворот». Синдромное измерение проецирует её на ортогональные синдромные подпространства: с вероятностью cos2ε синдром чист, а с вероятностью sin2ε указывает на кубит 2; в обоих случаях после условной коррекции логическое состояние восстановлено. Непрерывная когерентная ошибка превращается при диагностике в один из дискретных исходов — измерение из врага стало союзником. Возражение 3 снято. В общем случае любой однокубитный оператор раскладывается по базису {I, X, Y, Z}, поэтому код, исправляющий эти четыре компоненты, исправляет произвольную однокубитную ошибку. Реальный шум может быть коррелированным, нестационарным и затрагивать утечку за пределы вычислительного подпространства — одной независимой паулиевской моделью он не исчерпывается.

11.3. Фазовые перевороты и код Шора

Трёхкубитный код бессилен против Z-ошибки: Z2 превращает состояние в α|000⟩ − β|111⟩ — чётности чисты, а знак испорчен. Лекарство подсказало упражнение 3 главы 10: в базисе Адамара Z действует как X. Тот же трёхкубитный код, записанный в состояниях |+++⟩/|−−−⟩ (с проверками чётностей XiXj), исправляет один фазовый переворот — но теперь беззащитен перед битовым.

Код Шора [[9,1,3]] — конкатенация обоих: логический кубит кодируется тремя «фазовыми» блоками, каждый из которых — тройка «битовых» кубитов; итого девять физических на один логический. Код исправляет любую одиночную ошибку — X, Z, их комбинацию Y и любую их суперпозицию (раздел 11.2 объяснил почему). Историческое значение: первое доказательство самой возможности квантовой коррекции (1995). Обозначение [[n, k, d]] читается так: n физических кубитов, k логических, а кодовое расстояние d — минимальный вес паулиевского оператора, который действует на кодовом пространстве как нетривиальная логическая операция. Код гарантированно исправляет до ⌊(d−1)/2⌋ произвольных ошибок.

11.4. Язык стабилизаторов

Обобщим увиденное. Все наши проверки — Z1Z2, X1X2 и т.п. — операторы из матриц Паули с собственными значениями ±1. Стабилизаторный код задаётся набором коммутирующих паулиевских операторов (стабилизаторов); кодовое пространство — их общее собственное подпространство с собственным значением +1 («все проверки зелёные»). Ошибка, антикоммутирующая с каким-то стабилизатором, переводит состояние в подпространство −1 этой проверки — синдром загорается, не трогая закодированной информации. Формализм (Готтесман, 1997) свёл конструирование квантовых кодов к алгебре групп Паули — на этом языке написана вся современная литература по QEC, включая LDPC-коды, к которым движутся IBM и другие. Для курса достаточно словаря: стабилизатор = проверка чётности; синдром = вектор сработавших проверок; декодер = классический алгоритм, вычисляющий по синдрому наиболее вероятную коррекцию.

11.5. Поверхностный код

Девяти кубитов Шора мало: они исправляют лишь одну ошибку, а нам надо подавлять логическую ошибку на много порядков. Нужен код с растущим расстоянием — и совместимый с реальным железом, где взаимодействия часто локальны. Главный ориентир для двумерных архитектур — поверхностный код, восходящий к торическому коду Китаева и развитый в планарных вариантах многими авторами.

Устройство: кубиты данных размещаются на решётке вперемешку с измерительными; каждый измерительный кубит цикл за циклом снимает проверку нескольких соседей — часть проверок типа Z ловит X-компоненты ошибок, часть типа X ловит Z-компоненты. Операции локальны, что удобно, например, для сверхпроводящего чипа. Ошибки образуют цепочки в пространстве и времени, а изменения синдромов отмечают их границы. Классический декодер по всей истории синдромов выбирает наиболее вероятный класс ошибок — например, методом минимального совершенного паросочетания или более быстрыми приближениями — и ведёт паулиевскую рамку вместо обязательного физического исправления каждого события. Минимальный нетривиальный логический оператор имеет вес d; однако декодер уже может ошибиться при ⌈d/2⌉ подходящим образом расположенных сбоях, а не только после d одновременных переворотов.

Для повёрнутого планарного участка расстояния d требуется d2 кубитов данных и примерно столько же измерительных, всего 2d2−1; другие геометрии и операции имеют иной расход. Часто цитируемый порог порядка 1% относится к определённым схемам извлечения синдрома, моделям шума и декодерам, а не является универсальной константой устройства. Синдромы рождаются каждый цикл: в эксперименте Willow цикл занимал 1,1 мкс, а интегрированный декодер расстояния 5 выдавал результат в среднем за 63 мкс, продолжая обрабатывать поток. Это важная демонстрация реального времени, но задержка, точность и масштабирование классического декодера остаются частью инженерной задачи.

11.6. Порог: центральная теорема и её экспериментальная судьба

Теорема о пороге (Ааронов–Бен-Ор и другие независимые работы 1990-х, неформальная формулировка): для заданной модели локального шума существует ненулевой порог, ниже которого идеальное вычисление любой требуемой длины можно аппроксимировать отказоустойчивой схемой с управляемыми накладными расходами. Значение порога и вид расходов зависят от кода, набора операций, связности, корреляций шума и декодера. Для семейства поверхностных кодов часто используют эмпирическую аппроксимацию

pL ≈ A(p/pth)(d+1)/2,

где A тоже зависит от схемы. При p < pth рост d экспоненциально подавляет pL; выше порога простое увеличение участка уже не помогает. Это не формула самой общей теоремы, а полезная модель масштабирования конкретного семейства кодов.

Экспериментальный перелом шёл ступенями. В 2023 году поверхностный код расстояния 5 впервые немного превзошёл среднее по участкам расстояния 3. В 2024 году процессор Willow показал устойчивое подавление: при переходах d = 3 → 5 → 7 логическая ошибка за цикл уменьшалась в среднем в 2,14 раза; память d = 7 на 101 физическом кубите имела ошибку 0,143% за цикл и жила дольше лучшего составляющего физического кубита. В 2025 году поведение ниже порога и элементы универсальной отказоустойчивой архитектуры показали также на нейтральных атомах. Это доказательства принципа и заметный инженерный прогресс, но не демонстрация большого полезного вычисления: нужны множество логических кубитов, долгие стабильные вычисления, отказоустойчивые логические операции и гораздо меньшая суммарная вероятность отказа. Оценки физических ресурсов для RSA-2048 расходятся от сотен тысяч до миллионов и существенно зависят от архитектуры и допущений (глава 7).

11.7. Цена вычислений: отказоустойчивость и T-вентиль

Хранить логический кубит мало — надо вычислять, не выпуская ошибки из-под контроля. Отказоустойчивость — построение логических операций так, чтобы небольшой набор физических сбоев не размножался в неисправимую конфигурацию. Иногда это достигается трансверсально, попарными операциями над физическими кубитами блоков, но для поверхностного кода логические операции обычно выполняют также деформацией кода, lattice surgery и телепортацией. Теорема Истина–Нилла ставит общий предел: ни один квантовый код с конечномерными подсистемами не имеет трансверсального универсального набора вентилей.

Клиффордовские операции в поверхностной архитектуре сравнительно доступны, но сами по себе классически моделируемы по теореме Готтесмана–Нилла. Для универсальности добавляют, например, T-вентиль. Заготавливается магическое состояние |T⟩ = (|0⟩ + eiπ/4|1⟩)/√2, а схема с измерением и условной клиффордовской коррекцией телепортирует его действие в вычисление. Сырые магические состояния улучшают дистилляцией; известный протокол 15-к-1 превращает пятнадцать состояний в одно с ошибкой более высокого порядка при достаточно хорошем входе. В поверхностно-кодовых проектах фабрики магических состояний часто дают крупную, иногда доминирующую долю пространства и времени, поэтому важны T-count и T-depth. Но это не закон любой архитектуры: cultivation, другие коды и способы реализации не-клиффордовских операций меняют смету. Поэтому оценки главы 7 нельзя выводить одним умножением числа логических кубитов на площадь одного участка.

Итоги главы

  • Три возражения против квантовой коррекции снимаются одним пакетом идей: запутывание вместо копирования, измерение чётностей вместо данных, дискретизация непрерывных ошибок самим синдромным измерением.
  • Трёхкубитные коды исправляют X либо Z; код Шора [[9,1,3]] — любую одиночную ошибку; язык стабилизаторов делает всё это алгеброй Паули.
  • Поверхностный код использует локальные проверки на решётке; повёрнутый участок памяти занимает 2d²−1 физических кубитов, а порог и расход операций зависят от шума, декодера и архитектуры.
  • Теорема о пороге гарантирует масштабируемость в заданных моделях шума; эксперименты 2023–2025 годов показали режим ниже порога на отдельных логических памятях и операциях, но ещё не большой полезный отказоустойчивый расчёт.
  • В поверхностных архитектурах дорого обходятся не-клиффордовские операции: T-вентили часто требуют подготовки и улучшения магических состояний, поэтому T-count и T-depth заметно влияют на смету.

Упражнения

  1. Выпишите действие всех четырёх однокубитных X-ошибок (X1, X2, X3, «нет ошибки») на состояние α|000⟩ + β|111⟩ и таблицу синдромов (Z1Z2, Z2Z3). Убедитесь в однозначности диагностики.
  2. Что сделает трёхкубитный код из 11.2 с двумя битовыми переворотами (скажем, X1X3)? Проследите синдром и «коррекцию» и покажите, что результат — логическая ошибка X. Согласуйте с d = 3: сколько ошибок код исправляет?
  3. Пусть вероятность переворота каждого кубита за цикл равна p независимо. Вычислите вероятность логической ошибки трёхкубитного кода (два и более переворотов) и найдите «порог» этого игрушечного кода — значение p, при котором кодирование перестаёт помогать (pL = p). Ответ: pL = 3p² − 2p³; порог p = 1/2.
  4. Проверьте стабилизаторную арифметику: покажите, что ошибка X2 антикоммутирует с Z1Z2 и Z2Z3, а ошибка Z2 коммутирует с обоими (потому и невидима для этого кода). Указание: XZ = −ZX на одном кубите.
  5. В игрушечной оценке положите A = 1 и оцените число физических кубитов на один логический с ошибкой не выше 10−12 при p = 10−3 и pth = 10−2: из (p/pth)(d+1)/2 ≤ 10−12 найдите минимальное нечётное d и посчитайте 2d²−1. Почему результат нельзя просто умножить на число логических кубитов из оценки RSA-2048 и объявить окончательной сметой?
  6. Почему теорема Истина–Нилла не противоречит существованию универсальных квантовых компьютеров? Объясните разделение труда: что в отказоустойчивой машине делается трансверсально, а что — через магические состояния, и почему такой гибрид универсален.

Ответы и указания. 2: X1X3 переводит состояние в α|101⟩ + β|010⟩; обе чётности нарушены — синдром (1,1), декодер решит «ошибка в кубите 2», применит X2 и получит α|111⟩ + β|000⟩ — логический переворот; код с d = 3 исправляет ⌊(3−1)/2⌋ = 1 ошибку. 5: отношение p/pth = 0,1, поэтому (d+1)/2 ≥ 12 и минимальное нечётное d = 23; участок памяти занимает 2·23²−1 = 1057 физических кубитов. Простое умножение нескольких тысяч логических кубитов даёт уже несколько миллионов, но всё равно не учитывает разные расстояния для разных регистров, время алгоритма, маршрутизацию, логические операции, фабрики и альтернативные коды. Поэтому оно не обязано совпадать с оценкой Гидни 2025 года менее миллиона кубитов: там другая полная архитектура и набор допущений.

Лабораторная работа 5. Код повторения в Qiskit

Цель — собрать трёхкубитный код с синдромной диагностикой и измерить его логическую ошибку как функцию физической.

Задание 1. Кодирование и канал шума. Кубиты 0–2 — данные, 3–4 — анциллы синдрома. Закодируйте состояние (для проверки возьмите |1⟩L: X на кубите 0, затем CNOT 0→1, 0→2). Смоделируйте канал битовых переворотов: на каждый кубит данных независимо применяйте X с вероятностью p. Если случайность задаёт Python, новый набор ошибок надо выбирать для каждого статистического испытания; тысячи shots одной и той же схемы с уже зафиксированными X не моделируют новые ошибки.

Задание 2. Синдром и коррекция. Измерьте чётности: CNOT 0→3, CNOT 1→3 (анцилла 3 накапливает Z1Z2); CNOT 1→4, CNOT 2→4 (анцилла 4 — Z2Z3); измерьте анциллы. По таблице синдромов из упражнения 1 примените коррекцию — условные X через with qc.if_test(...), как в лабораторной 2. Измерьте кубиты данных и декодируйте логическое значение большинством.

Задание 3. Кривая логической ошибки. Для p от 0,01 до 0,5 (десяток точек, не менее 2000 независимых образцов ошибок на точку) постройте график: доля испытаний с неверным логическим значением против p. На тот же график нанесите теоретическую кривую 3p² − 2p³ из упражнения 3 и прямую pL = p (незакодированный кубит). Найдите экспериментально точку пересечения — «порог» игрушечного кода — и убедитесь, что ниже неё кодирование помогает, а выше вредит: миниатюра порогового поведения.

Задание 4*. Пять кубитов. Расширьте код до пяти повторений (d = 5, четыре синдромные анциллы, декодирование большинством). Убедитесь, что при малых p логическая ошибка падает быстрее (~p³), и сравните кривые d = 3 и d = 5. Это простая аналогия графика масштабирования, а не воспроизведение Willow: здесь нет фазовых, измерительных, временно коррелированных и вентильных ошибок.

Задание 5* (обсуждение). Наш код не ловит фазовые ошибки, а его «синдромные измерения» выполняются идеальными вентилями. Перечислите, что ещё отделяет эту модель от настоящего поверхностного кода (подсказки: ошибки самих проверок и анцилл, повторение циклов измерения во времени, декодер сложнее большинства, ошибки измерения).

Литература к главе

  1. P. Shor, "Scheme for reducing decoherence in quantum computer memory," Phys. Rev. A 52, 1995.
  2. D. Gottesman, "Stabilizer Codes and Quantum Error Correction," PhD thesis, 1997. arxiv.org/abs/quant-ph/9705052
  3. A. Fowler, M. Mariantoni, J. Martinis, A. Cleland, "Surface codes: Towards practical large-scale quantum computation," Phys. Rev. A 86, 2012. arxiv.org/abs/1208.0928
  4. Google Quantum AI, "Suppressing quantum errors by scaling a surface code logical qubit," Nature, 2023. doi.org/10.1038/s41586-022-05434-1
  5. Google Quantum AI, "Quantum error correction below the surface code threshold," Nature, 2024. doi.org/10.1038/s41586-024-08449-y
  6. S. Bravyi, A. Kitaev, "Universal quantum computation with ideal Clifford gates and noisy ancillas," Phys. Rev. A 71, 2005. arxiv.org/abs/quant-ph/0403025

Предыдущая глава || Содержание курса || Следующая глава

404 Not Found

404 Not Found


nginx/1.24.0 (Ubuntu)

Связь с редакцией