Запутывание логических кубитов без физических операций

Эйнштейн тоже был напуган запутанностью

Эйнштейн назвал это «spukhafte Fernwirkung» (жутким дальнодействием) в письме к Бору в 1947 году. Моё же удивление было более обыденным — оно возникло, когда я впервые узнал о стоимости запутывания логических кубитов на современном оборудовании.

Логическое запутывание — это непросто

Недавно я слушал доклад, в котором говорилось, что «логическое запутывание — это просто», и я не могу с этим согласиться. Это может показаться простым по сравнению с малыми угловыми воротами, примерно так же, как я кажусь маленьким рядом с Шакилом О’Нилом. Но это не значит, что 6’5″ и 240 фунтов — это маленький размер.

Чтобы понять, почему это непросто, полезно рассмотреть, как на самом деле реализуются логические запутанные вентили. Логический кубит — это не отдельный физический объект. Это устойчивый к ошибкам кубит, построенный из нескольких шумных, подверженных ошибкам физических кубитов.

Код квантовой коррекции ошибок (QEC) с параметрами [[n,k,d]] использует nn физических кубитов для кодирования kk логических кубитов таким образом, чтобы можно было обнаружить до d−1 физических ошибок и исправить до ⌊(d−1)/2⌋ из них.

Эта избыточность делает возможным отказоустойчивые квантовые вычисления. Она же делает логические операции дорогостоящими.

На платформах с нейтральными атомами и захваченными ионами стандартный подход — это трансверсальный CNOT: вы применяете двухкубитные вентили попарно по блокам кода (кубит ii в блоке A взаимодействует с кубитом ii в блоке B). Это требует nn физических двухкубитных вентилей для запутывания kk логических кубитов одного кодового блока с kk логическими кубитами другого.

Призрачные коды: логическое запутывание без физических операций

Чтобы ответить на вопрос, насколько это может быть просто, полезно начать со слегка противоречивого наблюдения: иногда логическое запутывание может быть сгенерировано исключительно путём перестановки физических кубитов.

Рассмотрим [[4,2,2]] стабилизаторный код, который кодирует 4 физических кубита в 2 логических, которые могут обнаружить 1 ошибку, но не могут её исправить. Ниже приведены его логические операторы; стрелка указывает на то, что происходит, когда мы физически меняем местами кубиты 1 и 3 (чёрточки обозначают логические операторы).

Для получения более подробной информации о том, что происходит, нажмите на стрелку ниже.

Логическое запутывание без физических операций

На логическом уровне мы идентифицируем вентили по тому, как они преобразуют логические операторы Паули. Это та же идея, которая используется в обычных квантовых схемах: вентиль определяется не только тем, что он делает с состояниями, но и тем, как он перетасовывает наблюдаемые.

Вентиль CNOT имеет очень характерное действие. Если кубит 1 является управляющим, а кубит 2 — целевым, то: XX на управляющем распространяется на целевой, ZZ на целевом распространяется обратно на управляющий, а другие операторы Паули остаются неизменными.

Именно это мы и видим выше.

Чтобы понять, почему это порождает запутывание, полезно перейти от операторов к состояниям. Канонический пример того, как создать запутывание в квантовых схемах, выглядит следующим образом. Сначала вы помещаете один кубит в суперпозицию, используя Адамара. Начиная с |00⟩, это даёт:

|00⟩→12(|00⟩+|10⟩).

На этом этапе запутывания ещё нет — только суперпозиция.

Запутывание появляется, когда вы применяете CNOT. CNOT коррелирует две ветви суперпозиции, производя:

12(|00⟩+|11⟩),

что является максимально запутанным состоянием Белла. Адамар создаёт суперпозицию; CNOT превращает эту суперпозицию в корреляцию.

Преобразования операторов выше — это просто алгебраическая версия этой истории.

Призрачные коды

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

Фраза «каждая упорядоченная пара» является строгим требованием. Для трёх логических кубитов это означает, что код должен поддерживать логические CNOT между кубитами (1,2), (2,1), (1,3), (3,1), (2,3) и (3,2).

Вместо выполнения каких-либо перестановок мы просто отслеживаем их классически и переименовываем выходные данные в конце. С точки зрения аппаратного обеспечения ничего не произошло.

Это ключевой момент. Поскольку никакие физические вентили не применяются, логическая запутанная операция имеет нулевые накладные расходы. И по той же причине она имеет идеальную точность. Мы достигли минимальной возможной стоимости логической запутанной операции.

Призракные коды — это не форма отслеживания логической Паули-рамки: призрачное свойство сохраняется в присутствии неклиффордовых вентилей. Они не строго ограничены одним кодовым блоком: поскольку они являются CSS-кодами, несколько блоков могут быть сшиты вместе с помощью физических CNOT в линейной глубине.

В недавнем препринте мы попытались ответить на три вопроса: существуют ли другие призрачные коды? Могут ли эти коды иметь преимущества, которые сохранятся для масштабируемых приложений в реальных условиях шума? Каким структурным ограничениям они подчиняются (параметры, другие вентили и т. д.)?

Мы обнаружили, что призрачных кодов гораздо больше — сотни тысяч дополнительных примеров, а также бесконечные семейства, которые позволяют масштабировать как kk, так и dd. Мы изучаем их структурные свойства и определяем, какие другие логические вентили они поддерживают помимо своих характерных призрачных.

Во-вторых, мы показываем, что призрачные коды могут быть практически полезны для определённых задач — по сути, для тех, которые насыщены запутанными вентилями. В конце концов, мы обнаруживаем, что призрачные коды могут превосходить поверхностный код, достигая уменьшения логической неточности на один–два порядка для подготовки ресурсных состояний (подготовка GHZ-состояний) и моделирования многих тел при сопоставимых затратах на кубиты и с умеренной предварительной скоростью принятия около 24%.

Почему это важно?

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

Первая причина, которой я больше всего взволнован, имеет меньшее отношение к какому-либо конкретному коду и больше к тому, как поле неявно организует пространство QEC-кодов. Большинство этого пространства структурировано вокруг знакомых структурных свойств: скорость кодирования, расстояние, вес стабилизатора, LDPC-ность. Они формируют оси, которые делают код хорошей памятью. И они имеют большое значение.

Но вычисления живут в другой плоскости. Логические вентили стоят чего-то, и эта стоимость иногда рассматривается как нисходящая — что-то, что нужно оптимизировать после выбора кода, а не то, что нужно проектировать напрямую. В результате стоимость логических операций обычно наследуется, а не проектируется.

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

Тем не менее важный урок заключается в том, что даже в этой крайней точке коды могут превосходить LDPC-архитектуры в хорошо выбранных задачах. Это наблюдение мотивирует подход к дизайну QEC-кодов, при котором логические вентили, представляющие интерес, помещаются в центр процесса проектирования, а не рассматриваются как запоздалая мысль. Это мой первый вывод из этой работы.

Второе — это то, что призрачные коды естественным образом хорошо подходят для схем, насыщенных логическими запутанными вентилями. Некоторые интересные приложения попадают в эту категорию, включая фермионное моделирование и подготовку коррелированных фаз. В сочетании с недавними алгоритмическими достижениями, которые уменьшают накладные расходы на цифровое фермионное моделирование, эти идеи на уровне кода могут потенциально улучшить экспериментальную осуществимость в краткосрочной перспективе.

Источник