Опубликован: 15.03.2007 | Уровень: профессионал | Доступ: платный | ВУЗ: Московский государственный университет имени М.В.Ломоносова
Лекция 14:

Классические и квантовые коды

Симплектические (стабилизирующие) коды [26]

Это аналог классических линейных кодов. Квантовые симплектические коды устроены так же, только вместо контрольных сумм будут использоваться \sigma -операторы ( \,\sigma(\alpha_1,\beta_1,\dots,\alpha_n,\beta_n) в предыдущих обозначениях).

Зададим, например, таким способом код Шора. Для него \calN=\BB^{\otimes r^2}, \dim\calM=2. Кодовое подпространство порождено двумя векторами, см. (14.11).

Каким условиям удовлетворяют базисные векторы \calM?

  1. Для любых j,l (l<r) выполнено \sigma^z_{jl} \sigma^z_{j(l+1)}\ket\xi=\ket\xi, т.е. каждая строка состоит из повторений одного бита.
  2. Для любого j<r выполнено \prod_{l}^{}\left(\sigma^x_{jl} \sigma^x_{(j+1)l}\right)\ket\xi=\ket\xi. Что означает это условие? Оператор \prod_{l}\left(\sigma^x_{jl}\sigma^x_{(j+1)l}\right) переводит
    \text{базисный вектор } {\def\arraystretch{0.9} \Bigg|\!\text{\footnotesize \begin{array}{l@{\;}c@{\;}l} \hdotsfor{3}\\ y_j&\dots&y_j\\ y_{j+1}&\dots&y_{j+1}\\ \hdotsfor{3} \end{array}}\!\Bigg\rangle \text{ в вектор } \Bigg|\!\text{\footnotesize \begin {array}{l@{\;}c@{\;}l} \hdotsfor{3}\\ y_j\oplus1&\dots&y_j\oplus1\\ y_{j+1}\oplus1&\dots&y_{j+1}\oplus1\\ \hdotsfor{3} \end{array}}\!\Bigg\rangle}
    (остальные строки не меняются). Эти два вектора должны входить в \ket\xi с одинаковыми коэффициентами.

Утверждение 14.4. Если \ket\xi удовлетворяет условиям 1 и 2, то \ket\xi\double=c_0\ket\xi_0+c_1\ket\xi_0.

Прежде чем перейти к изучению более общих симплектических кодов, рассмотрим подробнее свойства \sigma -операторов.

Как уже говорилось, \sigma -операторы удобно индексировать элементами группы G=\left(\ZZ_2\right)^2. Будем обозначать мультииндекс \sigma -оператора через \gamma=(\alpha_1,\beta_1,\dots,\alpha_n,\beta_n)\in G^n.

\sigma -операторы образуют базис в \LL(\BB^{\otimes n}), более того, есть естественная G^n -градуировка:

\LL(\BB^{\otimes n})=\bigoplus_{\gamma\in G^n} \CC\big(\sigma(\gamma)\big).

Для \sigma -операторов выполнены следующие соотношения

\sigma(\gamma_1)\sigma(\gamma_2)=(-i)^{\tilde\omega(\gamma_1,\gamma_2)} \sigma(\gamma_1+\gamma_2)= (-1)^{\omega(\gamma_1,\gamma_2)}\sigma(\gamma_2)\sigma(\gamma_1),
где
\begin{multiline}
\tilde\omega(\alpha^{\mathstrut}_1,\beta^{\mathstrut}_1,\dots,
\alpha^{\mathstrut}_n,\beta^{\mathstrut}_n;
\alpha'_1,\beta'_1,\dots,\alpha'_n,\beta'_n
) =\sum_{j=1}^{n}(\alpha^{\phantom{'}}_j\beta'_j
-\alpha'_j\beta^{\phantom{'}}_j)\bmod 4,\\
\omega(\gamma_1,\gamma_2)=\tilde\omega(\gamma_1,\gamma_2)\bmod 2.
\end{multiline}

{\looseness=1\tolerance=400

Рассмотрим унитарные преобразования — действия унитарных операторов X\mapsto UXU^\dagger. Такое действие не меняется при домножении U на число, равное по модулю единице, поэтому группа унитарных преобразований имеет вид UT(\BB^{\otimes n})=\U(\BB^{\otimes n})/\U(1). Отметим, что унитарные преобразования — это в точности автоморфизмы * -алгебры \LL(\BB^{\otimes n}).

Нас интересуют такие преобразования, для которых U\sigma(\gamma)U^\dagger \double=\sigma(u(\gamma))\cdot c(\gamma) ( u\colon G^n\to G^n — некоторая функция). Оператор U\sigma(\gamma)U^\dagger эрмитов, поэтому c(\gamma)=\pm 1, то есть мы можем написать

\begin{equation}\label{симплект-преобр} U\sigma(\gamma)U^\dagger = (-1)^{v(\gamma)}\, \sigma(u(\gamma)),\qquad u\colon G^n\to G^n,\quad\, v\colon G^n\to\ZZ_2. \end{equation} ( 14.14)
Группа таких преобразований называется расширенной симплектической группой и обозначается \ESp_2(n). Операторы из этой группы будем называть симплектическими. Приведем примеры.

  1. \sigma -операторы. \sigma(f)\sigma(\gamma)\sigma(f)^\dagger = \sigma(f)\sigma(\gamma)\sigma(f)=(-1)^{\omega(f,\gamma)}\sigma(\gamma). В данном случае u(\gamma)=\gamma.
  2. Оператор H=\frac{1}{\sqrt2}\leftp\begin{array}{*2 r} 1&1\\ 1&-1\end{array}\rightp. Непосредственно проверяется, что H\sx H=\sz,\quad H\sz H=\sx,\quad H\sy H=-\sy. Таким образом, преобразование H\cdot H^\dagger\in \ESp_2(1).

Можно показать, что |\ESp_2(1)|=24. Если учитывать фазовые множители, то получилась бы группа Клиффорда из 24\cdot8=192 элементов.

Основные свойства введенного отображения u\colon G^n\to G^n таковы:

  1. u линейно на G^n.
  2. u сохраняет форму \omega, т.е. \omega(u(f),u(g))=\omega(f,g).

Отображения с такими свойствами, как известно, называются симплектическими; они образуют симплектическую группу \Sp_2(n). Таким образом, определен гомоморфизм \theta\colon  \ESp_2(n)\to \Sp_2(n).

Теорема 14.3. \Im\theta =\Sp_2(n), \Ker\theta= G^n (ядро состоит из \sigma -операторов). Таким образом, \ESp_2(n)/G^n\double\cong\Sp_2(n).

Для понимания доказательства желательно знать что-нибудь про расширения и когомологии групп [15]. Читателю, незнакомому с этими понятиями, будет предложен "обходной путь" (см. ниже).

Доказательство. Преобразование (14.14) должно быть автоморфизмом * -алгебры \LL(\BB^{\otimes n}). Это имеет место тогда и только тогда, когда сохраняются правила умножения операторов \sigma(\gamma). Это означает, что функция u обладает указанными свойствами, а v удовлетворяет уравнению

\begin{equation}\label{кограница} v(x+y)-v(x)-v(y)=w(x,y), \end{equation} ( 14.15)
где w(x,y)=\frac{\tilde\omega(u(x),u(y))-\tilde\omega(x,y)}{2}\in\ZZ_2.

В случае, когда u — тождественное отображение, правая часть уравнения (14.15) равна нулю. Решениями являются все линейные функции. Это доказывает, что \Ker\theta= G^n.

Утверждение \Im\theta=\Sp_2(n) равносильно тому, что уравнение (14.15) имеет решение при любом u из \Sp_2(n). Чтобы доказать это, заметим, что функция w обладает следующими свойствами:

w(y,z)-w(x+y,\,z)+w(x,\,y+z)-w(x,y) = 0, ( 14.16)

w(x,y) = w(y,x), ( 14.17)

w(x,x) = 0. ( 14.18)

Формула (14.16) — это уравнение коцикла. Оно означает, что функция w задает структуру группы на декартовом произведении множеств G^n\times\ZZ^2 согласно правилу (x,p)\cdot(y,q)=(x+y,\,p+q+w(x,y)). Полученная группа (обозначим ее E ) является расширением G^n посредством \ZZ_2, т.е. определен гомоморфизм \lambda\colon E\to G^n, \lambda\colon(x,p)\mapsto x с ядром \ZZ_2.

Уравнение (14.17) означает, что группа E абелева. Наконец, уравнение (14.18) означает, что все элементы группы E имеют порядок 2 (или 1 ). Следовательно, E\cong(\ZZ_2)^{2n+1}. Отсюда вытекает, что расширение E\to G^n тривиально: существует гомоморфизм \mu\colon G^n\to E, такой что \lambda\mu={\rm id}_{G^n}. Записывая этот гомоморфизм в виде \mu\colon x\mapsto(x,\,v(x)), получаем решение уравнения (14.15).

Существует другой, несколько кустарный способ доказать, что \Im\theta =\Sp_2(n). Рассмотрим следующие симплектические преобразования: (H\cdot H^\dagger)[j], (K\cdot K^\dagger)[j] и \left(\Lambda(\sx)\cdot\Lambda^\dagger(\sx)\right)[j,k]. (Напомним, что K=\begin{pmatrix} 1&0\\0&\ii\end{pmatrix} ). Их образы при гомоморфизме \theta порождают всю группу \Sp_2(n). (Намек на доказательство: любую пару векторов \gamma_1,\gamma_2\in G^n, такую что \omega(\gamma_1,\gamma_2)=1, можно перевести этими преобразованиями в (1,0, 0,0,\dots) и (0,1,0,0,\dots).) На самом деле, таким способом можно получить и другой интересный результат. Указанные элементы группы \ESp_2(n) порождают все матрицы Паули, т.е. ядро гомоморфизма \theta. Следовательно, верно такое утверждение.

Утверждение 14.5. Группа \ESp_2(n) порождается элементами

(H\cdot H^\dagger)[j],\ (K\cdot K^\dagger)[j],\ \left(\Lambda(\sx)\cdot\Lambda^\dagger(\sx)\right)[j,k].

Для примера посмотрим на действие оператора U= \Lambda(\sx)[1,2]. По определению имеем U \ket{a,b}=\ket{a,a\oplus b}. Действие U на образующие алгебры \LL(\BB^{\otimes 2}):

\begin{align*} U\sz_1U^\dagger&=\sz_1,\\ U\sz_2U^\dagger&=\sz_1\sz_2,\\ U\sx_2U^\dagger&=\sx_2,\\ U\sx_1U^\dagger&=\sx_1\sx_2. \end{align*}
Приведенные равенства можно без труда проверить прямым вычислением. Однако полезно привести объяснение на "пальцах". Оператор \sz можно понимать как измерение значения соответствующего q-бита. Первые два равенства просто показывают, как меняются эти значения при замене базиса, задаваемой U. Третье равенство показывает, что изменение значения второго q-бита коммутирует с заменой базиса U. Четвертое — что изменение значения первого q-бита при неизменном втором бите в повернутом базисе означает одновременное изменение значений обоих q-битов в исходном базисе.

Дадим теперь определение симплектического кода. В пространстве \calN=\BB^{\otimes n} мы выделим подпространство \calM условиями X_j\ket\xi=\ket\xi ( X_j будем называть проверочными операторами ). Проверочные операторы будут иметь вид

\begin{equation}\label{проверочные} X_j=(-1)^{\phi_j}\sigma(f_j), \quad f_j\in G^n, \quad \phi_j\in\ZZ_2. \end{equation} ( 14.19)
Без ограничения общности можно считать, что \{f_j\} линейно независимы. Потребуем еще, чтобы все операторы X_j коммутировали. Поскольку X_jX_k=(-1)^{\omega(f_j,f_k)}X_kX_j, условие коммутирования означает, что \omega(f_j,f_k) =0.

Определение 14.9. Симплектический квантовый код задается условиями (14.19), где все X_j коммутируют.

Итак, симплектическому квантовому коду соответствует изотропное подпространство F\subseteq G^n ; изотропность означает, что для любых f,\,g\in F выполнено \omega(f,g)=0. Поэтому размерность симплектического кода легко вычисляется.

Теорема 14.4. \dim\calM=2^{n-\dim F}.

Лемма 14.6. Любой симплектический код приводится преобразованиями из \ESp_2(n) к стандартному виду, когда проверочными операторами являются \sigma^z[1],\dots,\sigma^z[s], где s=\dim F.

Доказательство. Подпространство F\subseteq G^n можно перевести отображением из \Sp_2(n) в подпространство F', состоящее из векторов вида (0,\beta_1,0,\beta_2,\dots,0,\beta_s,0,\dots,0), где \beta_j — произвольные. Согласно теореме 14.3, этому отображению соответствует некоторое унитарное преобразование U\cdot U^\dagger. Оно переводит кодовое подпространство в подпространство, заданное проверочными операторами \pm\sigma^z[j] ( j=1,\dots,s ). Применяя дополнительное преобразование вида \sigma(f)\cdot\sigma(f)^\dagger, все знаки можно сделать плюсами.

Теперь посмотрим, какие ошибки способен обнаруживать симплектический код. Напомним, что код обнаруживает ошибки из \calE(n,k), если

\begin{equation}\label{замечаетошибку} \forall\, \ket\xi,\ket\eta\in\calM\:\forall\, Z\in\calE(n,k)\: \langle\xi |Z|\eta\rangle =c(Z)\langle \xi|\eta\rangle \end{equation} ( 14.20)
По соображениям линейности достаточно рассматривать лишь Z\double=\sigma(g), |g|\leq k.

Пусть \ket\eta\in\calM, т.е. X_j\ket\eta=\ket\eta для всех j, где X_j=(-1)^{\phi_j}\sigma(f_j). Обозначим Z\ket\eta=\ket\psi, где Z=\sigma(g). Как мы сейчас увидим, вектор \ket\psi является собственным для всех проверочных операторов X_j, поэтому он либо принадлежит кодовому подпространству \calM, либо ему ортогонален. Подействуем проверочным оператором на \ket\psi:

\begin{align*}
X_j\ket\psi=X_jZ\ket\eta=
(-1)^{\omega(f_j,g)}ZX_j\ket\eta=(-1)^{\omega(f_j,g)}Z\ket\eta=\\=
(-1)^{\omega(f_j,g)}\ket\psi.
\end{align*}

Условие \ket\psi\in\calM равносильно условию \omega(f_j,g)=0 для всех j. Такие g образуют линейное подпространство, которое мы обозначим F_+, т.е. F_+\double=\{ g\in G^n: \forall\,f\in F\:\omega(f,g)=0\}.

Возможны следующие три случая:

  1. g\not\in F_+. При этом \ket\psi\perp\calM, поэтому \langle\xi|\sigma(g)|\eta\rangle =0. Такую ошибку код обнаружит.
  2. g\in F. Такая ошибка фактически неотличима от тождественного оператора, так как она не меняет кодового вектора \ket\eta (с точностью до фазового множителя). Пусть g=a_1f_1+\ldots+a_sf_s, тогда \sigma(g)=c(g) X_1^{a_1}\cdot\ldots\cdot X_s^{a_s}, где c(g)\double=\pm 1,\pm\ii. В этом случае \langle \xi|\sigma(g)|\eta\rangle \double=с(g)\langle \xi|\eta\rangle — условие (14.20) выполнено.
  3. g\in F_+\setminus F. В этом случае (проверьте!) \langle \xi|\sigma(g)|\eta\rangle не имеет вида c(g)\langle \xi|\eta\rangle. Такую ошибку код не обнаруживает.

Этими рассуждениями доказана следующая теорема.

Теорема 14.5. Кодовое расстояние для симплектического кода \calM

d(\calM)=\min\{|f|: f\in F_+\setminus F\}.

Заметим отличие от классических линейных кодов. Там кодовое расстояние определяется как наименьшая норма вектора из подпространства с выкинутым нулем. А у симплектических кодов нуль раздувается до подпространства.

Задача 14.4. Постройте симплектический квантовый код типа (5,1), исправляющий одну ошибку.

Задача 14.5. Докажите, что не существует квантового кода типа (4,1), исправляющего одну ошибку.

Андрей С
Андрей С
Россия
Иван Филиппов
Иван Филиппов
Россия, Москва, Московский Государственный Институт Электроники И Математики(Технический Университет), 2009