ЯдроКодаподготовка к экзаменам
Научная библиотека

Загружаем научный разбор

Подготавливаем текст, источники и редакционные примечания без изменения разметки страницы.

Каталог статейМатериал и источники

Симуляция состояния кота: чётность фотонов и ошибка усечения

Автор: · Обновлено

Как представить чётное состояние кота конечным массивом, проверить нормировку и обнаружить слишком маленький базис. Самостоятельный пример на стандартном Python.

# Симуляция состояния кота: чётность и усечение

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

Статья показывает собственный расчёт распределения для идеального чётного состояния кота без потерь и сжатия. Он нужен для понимания численной проверки. В нём нет моделирования реальной экспериментальной установки, а выводы об оптимальном антисжатии из такого кода получать нельзя.

От состояния к массиву

В фотонном базисе компонентам соответствуют 0, 1, 2 и далее фотонов. У чётной суперпозиции когерентных состояний с амплитудами alpha и −alpha нечётные компоненты взаимно сокращаются. Для вещественного alpha вероятность чётного n имеет вид alpha^(2n) / (n! × cosh(alpha²)); для нечётного n она равна нулю.

QuTiP предоставляет представления состояний, операторов и преобразований с явно указанной размерностью. Документация состояний. Наш пример ниже обходится стандартной библиотекой Python и независимо вычисляет только фотонные вероятности. Для динамики открытой системы потребуются более общие объекты и решатели, например описанные в работе QuTiP 2.

Почему не надо сразу перенормировать

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

from math import cosh, factorial

def even_cat_probabilities(alpha, dimension):
    if dimension < 1:
        raise ValueError("dimension must be positive")
    return [
        alpha ** (2 * n) / (factorial(n) * cosh(alpha * alpha))
        if n % 2 == 0 else 0.0
        for n in range(dimension)
    ]

for dimension in (4, 12, 24):
    probabilities = even_cat_probabilities(2.0, dimension)
    captured_mass = sum(probabilities)
    print(dimension, round(captured_mass, 6))
    assert all(p == 0 for p in probabilities[1::2])

p = even_cat_probabilities(2.0, 24)
assert abs(sum(p) - 1.0) < 1e-9

Для D = 4 захвачено лишь около 0,330. При D = 12 — около 0,999. При D = 24 сумма с указанным округлением равна 1,0. Изменение размерности здесь важнее количества знаков, которые программа печатает для отдельной вероятности. Значения получены на искусственном идеальном состоянии с alpha = 2.

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

Чётность не доказывает всю физику

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

Если добавить потери, состояние в общем случае станет смешанным. Простое уменьшение alpha и повторный расчёт чистого кота не является общей заменой канала потерь. Если добавить сжатие, изменится распределение по числу фотонов и прежней размерности может уже не хватить. Контроль нужно повторять для самого сложного режима во всём переборе параметров.

План проверки исследовательского кода

Сначала проверяют аналитически известный предел: при alpha = 0 должен остаться вакуум. Затем проверяют отсутствие нечётных компонент в рассматриваемой идеальной модели. После этого увеличивают D и сравнивают целевую величину, например вероятность ошибки конкретного решения. Малый хвост вероятности полезен, но не заменяет проверки сходимости самого результата.

Для воспроизводимого отчёта запишите параметры, размерность и допуск. Полезно сохранить таблицу D и результата, а не только окончательную картинку. Если изменение D меняет вывод о преимуществе метода, публикационный график ещё рано считать проверенным.

Связь с основной темой проста: [исследование APS](/research/antisqueezed-cat-states-phase-detection) использует численные расчёты, а любая такая работа нуждается в контроле приближений. Далее можно изучить [правило решения по отсчётам](/research/photon-counts-likelihood-decisions) или перейти к другой цели применения состояний кота — [квантовой памяти](/research/cat-qubits-stabilization-and-noise).

Источники

Формат и права

Формат
Авторский разбор

Атрибуция

Авторский русскоязычный разбор ЯдроКода с первичными источниками. Учебные примеры и инженерные предположения отделены от результатов исследований. Не перевод и не перепечатка.

Код, данные и иллюстрации

Таблицы, код и синтетические данные созданы для этого материала. Иллюстрации, код и экспериментальные данные авторов исследований не переносятся.