Цели главы. Ввести чистое состояние кубита и правило проективного измерения, научиться изображать однокубитные состояния на сфере Блоха и освоить основные однокубитные вентили. Завершает главу первая лабораторная работа.
Кубит — квантовая система с двумерным гильбертовым пространством. Чистое состояние кубита можно представить нормированным вектором
|ψ⟩ = α|0⟩ + β|1⟩, |α|2 + |β|2 = 1, α, β ∈ ℂ.
Векторы, различающиеся только общим фазовым множителем, представляют одно физическое состояние; это уточнение понадобится в разделе 2.3. Физическая природа кубита может быть разной: два энергетических уровня сверхпроводящей схемы или захваченного иона, две поляризации фотона. Как абстракция классического бита не зависит от того, реализован он напряжением или намагниченностью, так и математическая модель кубита не зависит от носителя.
У классического бита два чистых состояния — 0 и 1, а чистые состояния кубита образуют континуум. Это не превращает один кубит в хранилище произвольного объёма доступной классической информации: результат отдельного измерения дискретен, а неизвестные амплитуды нельзя восстановить по единственному экземпляру состояния.
Рассмотрим идеальное проективное измерение в вычислительном базисе. Правило Борна утверждает:
В терминах главы 1: вероятность исхода k равна |⟨k|ψ⟩|2 — квадрату модуля проекции состояния на базисный вектор.
Отсюда три следствия, определяющие лицо квантовых вычислений:
Состояния |ψ⟩ и eiγ|ψ⟩ дают одинаковые вероятности при любом измерении: множитель eiγ общий у всех амплитуд и исчезает при взятии модуля. Такая глобальная фаза физически ненаблюдаема, и её принято игнорировать.
Совсем другое дело — относительная фаза между амплитудами: состояния |+⟩ = (|0⟩ + |1⟩)/√2 и |−⟩ = (|0⟩ − |1⟩)/√2 различаются знаком при |1⟩. В вычислительном базисе оба дают 0 и 1 с вероятностями 1/2 — но это ортогональные состояния, надёжно различимые измерением в базисе Адамара (раздел 2.6). Относительная фаза — это и есть та «скрытая» степень свободы, на которой работает квантовая интерференция; научиться ею управлять — значит научиться квантово программировать.
С учётом нормировки и ненаблюдаемости глобальной фазы любое чистое состояние кубита можно записать двумя вещественными параметрами:
|ψ⟩ = cos(θ/2)·|0⟩ + eiφ·sin(θ/2)·|1⟩, 0 ≤ θ ≤ π, 0 ≤ φ < 2π.
Пара (θ, φ) — сферические координаты точки на единичной сфере, которая называется сферой Блоха. Полюса — базисные состояния: северный (θ = 0) — |0⟩, южный (θ = π) — |1⟩. На экваторе лежат равновесные суперпозиции: |+⟩ на оси X (θ = π/2, φ = 0), |−⟩ — напротив (φ = π). Ортогональные состояния диаметрально противоположны на сфере (а не перпендикулярны — угол на сфере вдвое больше «квантового»).
Поверхность сферы описывает чистые состояния. Смешанные состояния, которые появятся при рассмотрении шума в главе 10, изображаются точками внутри шара Блоха; его центр соответствует максимально смешанному состоянию.
С точностью до глобальной фазы любой однокубитный вентиль действует как поворот сферы Блоха вокруг некоторой оси. Геометрическая картина не заменяет вычисления во всех случаях, но часто позволяет предсказать действие короткой схемы без перемножения матриц.
Вентиль — унитарная матрица 2×2. Стандартный набор:
X = ⎡ 0 1 ⎤ Y = ⎡ 0 −i ⎤ Z = ⎡ 1 0 ⎤
⎣ 1 0 ⎦ ⎣ i 0 ⎦ ⎣ 0 −1 ⎦
H = 1/√2 · ⎡ 1 1 ⎤ S = ⎡ 1 0 ⎤ T = ⎡ 1 0 ⎤
⎣ 1 −1 ⎦ ⎣ 0 i ⎦ ⎣ 0 e^(iπ/4) ⎦
Пример 1 (интерференция на одном кубите). Вычислим схему H → Z → H, применённую к |0⟩:
|0⟩ → |+⟩ → |−⟩ → |1⟩.
Если измерить состояние сразу после первого H, получится равномерно случайный бит. Однако полная композиция с Z между двумя H даёт единицу с вероятностью 1: амплитуды ветвей |0⟩ и |1⟩ интерферируют. Без Z было бы HH|0⟩ = |0⟩. Это простейшая модель общей идеи квантовых алгоритмов: преобразования фаз меняют интерференцию и тем самым распределение выходов.
Измерять можно в любом ортонормированном базисе {|u⟩, |u⊥⟩}: вероятность первого исхода — |⟨u|ψ⟩|2. В схемной модели измерение обычно записывают в вычислительном базисе, а другой базис предварительно унитарно переводят в вычислительный. Измерение в базисе Адамара — это «применить H, затем измерить». Так состояния |+⟩ и |−⟩, неразличимые по статистике вычислительного измерения, различаются безошибочно: H|+⟩ = |0⟩, H|−⟩ = |1⟩.
Этот приём — измерение через предварительный поворот — будет использоваться в каждом алгоритме курса, а в главе 14 мы увидим его криптографическое применение: в протоколе BB84 законные стороны случайно чередуют базисы, и перехватчик, не знающий базиса, неизбежно вносит обнаружимые ошибки.
Идеальная схема квантового генератора случайных чисел укладывается в одну строку: приготовить |0⟩, применить H и измерить. Квантовая модель предсказывает равные вероятности исходов и не позволяет заранее определить отдельный результат. Реальное устройство сложнее: несовершенство подготовки, детектора и электроники создаёт смещение и корреляции, поэтому источник оценивают по минимальной энтропии, контролируют и дополняют экстрактором случайности. Кроме того, генераторы могут использовать не кубитную схему, а другие квантовые процессы, например измерение времени прихода фотонов.
Ответы и указания. 1: P(0) = 1/4, P(1) = 3/4; после исхода «1» состояние |1⟩ (фазовый множитель eiπ/3 глобален и отбрасывается). 2: |ψ'⟩ = i·|ψ⟩; θ = π/2, φ = π/2. 3: с точностью до глобальной фазы выход равен cos(π/8)|0⟩ − i·sin(π/8)|1⟩, поэтому P(1) = sin2(π/8) ≈ 0,146; для фазового вентиля с углом γ получаем cos(γ/2)|0⟩ − i·sin(γ/2)|1⟩ и P(1) = sin2(γ/2). 4: из H2 = I и прямого перемножения матриц следуют HXH = Z и HZH = X; на сфере Блоха H меняет местами оси X и Z. 5: нет; состояния неортогональны (⟨0|+⟩ = 1/√2), а безошибочно различить одним измерением можно только ортогональные чистые состояния. Неортогональность сигнальных состояний используется в квантовом распределении ключей.
Подготовка. Создайте отдельное виртуальное окружение с поддерживаемой версией CPython и установите пакеты командой python -m pip install qiskit qiskit-aer matplotlib. Квантовое оборудование не требуется: схемы этой работы выполняются на локальном симуляторе.
Задание 1. Квантовая монета. Соберите и выполните схему из раздела 2.7:
from qiskit import QuantumCircuit from qiskit_aer import AerSimulator qc = QuantumCircuit(1) qc.h(0) qc.measure_all() sim = AerSimulator() counts = sim.run(qc, shots=1000).result().get_counts() print(counts)
Убедитесь, что частоты исходов близки к 500/500. Увеличьте shots до 100000 и сравните не абсолютное отклонение числа единиц от половины запусков, а относительную частоту: её типичное отклонение убывает как 1/√shots.
Задание 2. Интерферометр. Реализуйте схему H → Z → H из примера 1 (метод qc.z(0) между двумя qc.h(0)) и на идеальном симуляторе получите исход «1» во всех запусках. Затем замените Z на T (qc.t(0)) и сравните частоты с теоретическим ответом упражнения 3.
Задание 3. Фазовая развёртка. Постройте график зависимости P(1) от угла γ фазового вентиля (метод qc.p(gamma, 0)) для γ от 0 до 2π с шагом π/8, по 1000 запусков на точку. Сравните с теоретической кривой sin2(γ/2).
Задание 4*. Различение неортогональных состояний. Смоделируйте ситуацию упражнения 5: случайно готовьте |0⟩ или |+⟩ и угадывайте состояние после измерения (а) в вычислительном базисе, (б) в базисе Адамара. Для каждого базиса явно задайте правило принятия решения и оцените долю правильных ответов. Теоретический максимум при равных априорных вероятностях — cos2(π/8) ≈ 0,854 (граница Хелстрома). Он достигается измерением вдоль оси, пропорциональной разности векторов Блоха этих состояний: примените qc.ry(pi/4, 0), затем измерьте и при исходе 0 выбирайте |0⟩, а при исходе 1 — |+⟩.