Классические и квантовые коды
Основные определения и простейшие следствия.
Следующее определение дает в квантовом случае формальное выражение требования "различные состояния переходят в различные состояния" (это необходимое условие возможности восстановления исходных состояний физически реализуемым преобразованием).
Определение 14.6. Квантовый код (подпространство ) исправляет ошибки из
, если
![]() |
( 14.8) |
Определение 14.7. Физически реализуемое преобразование
![P\colon\LL(\calN')\to\LL(\calM)](/sites/default/files/tex_cache/00b39d102bd1596ca37e3288606b2378.png)
![\calM](/sites/default/files/tex_cache/6de7f59e8221730d1f224bcb46c85967.png)
![\calE](/sites/default/files/tex_cache/4a0c590aeef1b5b92cc7dd5158f89ca0.png)
![\forall\,T\in \calE\cdot\calE^\dagger\: \exists\, c=c(T)\: \forall\,\rho\in\LL(\calM)\: \bigl(PT\rho=c(T)\rho\bigr).](/sites/default/files/tex_cache/a16014ccca744dcd1e2e6a854477219c.png)
![T](/sites/default/files/tex_cache/b9ece18c950afbfa6b0fdbfa4ff731d3.png)
![c(T)=1](/sites/default/files/tex_cache/233c1da45414fb1d86e47bd1dd31e3d3.png)
Теорема 14.2. Если код исправляет ошибки из
, то исправляющее преобразование существует.
Доказательство будет дано ниже. Обратное утверждение доказано в [4].
Пример 14.4. Тривиальный код типа : пусть
, а
, т.е. для кодирования используются первые
q-битов, а ошибки действуют на остальные q-биты. Условие (14.8), очевидно, выполнено. В качестве исправляющего преобразования можно взять
, где
. Преобразование
реализуется очень просто: выбрасываем последние
q-битов и заменяем их на новые q-биты в состоянии
. Практической пользы от такого кода, конечно, мало. Интересно, однако, что любой квантовый код, исправляющий ошибки, в определенном смысле похож на тривиальный (см. лемму 14.3 ниже).
Пример 14.5. Рассмотрим квантовый аналог кода с повторением. Пусть пространство . Рассмотрим два состояния
и
. Ошибку выберем так:
,
. Очевидно, что
. При этом
, что противоречит определению кода, исправляющего ошибки. Мы видим, что код с произвольно большим повторением не защищает даже от одной ошибки.
Ошибки вида называются классическими, а ошибки вида
называются фазовыми.
В определении 14.6 речь шла только о парах ортогональных состояний. Давайте посмотрим, что получается на произвольных парах. Зафиксируем и обозначим
. Оказывается, что
![]() |
( 14.9) |
![c(Z)](/sites/default/files/tex_cache/e427374d4fd4d9a574264f989a78bb57.png)
![\ket{\xi_1},\ket{\xi_2}](/sites/default/files/tex_cache/cc40e531df45ca86633a6478fd4f63a3.png)
![\ket{\eta_1},\dots, \ket{\eta_m}](/sites/default/files/tex_cache/1277a867ad03cfd6be29b31df8ea8b42.png)
![\calM](/sites/default/files/tex_cache/6de7f59e8221730d1f224bcb46c85967.png)
![\langle \eta_j|Z|\eta_k\rangle =0](/sites/default/files/tex_cache/98c9b9c72eef94d60483412c7f5597cb.png)
![j\ne k](/sites/default/files/tex_cache/ca00a34859aed5be8611c55580b20c36.png)
![\langle\eta_j|Z|\eta_j\rangle](/sites/default/files/tex_cache/e5270ad2a05b0b2fec7a599001501398.png)
![j](/sites/default/files/tex_cache/363b122c528f54df4a0446b6bab05515.png)
![\langle\eta_j|Z|\eta_j\rangle - \langle\eta_k|Z|\eta_k\rangle = \langle\eta_j-\eta_k|Z|\eta_j+\eta_k\rangle + \langle\eta_k|Z|\eta_j\rangle - \langle\eta_j|Z|\eta_k\rangle =0.](/sites/default/files/tex_cache/6443aa9918dfdb2ed276b78626258ec3.png)
Заметим, что если , то
.
Определение 14.8. Код обнаруживает ошибки из
, если
![\forall\,\ket{\xi_1},\ket{\xi_2}\in\calM\: \forall\, Z\in\calE'\: \langle \xi_2|Z|\xi_1\rangle = c(Z)\langle \xi_2|\xi_1\rangle.](/sites/default/files/tex_cache/a33e8b9936c68a1773cead4da44ac391.png)
![d=d(\calM)](/sites/default/files/tex_cache/6e723fe048eaa08f708d287935d76590.png)
![\calE(n,d)](/sites/default/files/tex_cache/ce62434745d13c025b300bbceb0255c4.png)
Таким образом, код исправляет ошибок, если
.
Теперь мы перейдем к доказательству теоремы 14.2.
Лемма 14.3. Пусть квантовый код исправляет ошибки из
. Тогда существует унитарное пространство
, изометрическое вложение
и линейное отображение
, такие что
![]() |
( 14.10) |
Доказательство. Пусть . Рассмотрим фактор-пространство
и естественное отображение
. Линейное отображение
, удовлетворяющее условию (14.10), строится каноническим образом; нужно лишь проверить его изометричность.
Скалярное произведение на пространстве можно задать при помощи функции
из свойства кода (14.9): если
и
, то
. Очевидно, что эта величина не зависит от выбора
и
. Ясно также, что
, если
. Формула (14.9) как раз и означает, что отображение
является изометрическим.
Доказательство (теоремы 14.2). Представим пространство как сумму взаимно ортогональных подпространств:
, где
— отображение из предыдущей леммы. Пусть
— каноническое вложение, а
— произвольное физически реализуемое преобразование. Тогда мы можем определить
![P\colon\rho\mapsto\, Tr_\calF(V^\dagger\rho V) +R(W^\dagger\rho W),\qquad c\colon X\cdot Y^\dagger\mapsto\, \langle f(Y)|f(X)\rangle.](/sites/default/files/tex_cache/038c473b1c4e88dc926dfd9fa1456a62.png)
![с](/sites/default/files/tex_cache/91b2417d13d076fabf08a2684f817476.png)
![\calE\cdot\calE^\dagger](/sites/default/files/tex_cache/ab8190dfcb7c6df6cbf600a2c5d386fa.png)
Лемму 14.3 и доказательство теоремы 14.2 можно неформально изложить таким образом. Код, исправляющий ошибки, характеризуется тем, что ошибка не смешивается с закодированной информацией, т.е. остается в виде отдельного тензорного сомножителя. Исправляющее преобразование извлекает эту "встроенную ошибку" и выбрасывает ее в мусорную корзину.
Задача 14.3. Пусть код обнаруживает ошибки из
. Докажите, что состояние
можно восстановить, не используя q-битов из множества
.