Московский государственный университет имени М.В.Ломоносова
Опубликован: 15.03.2007 | Доступ: свободный | Студентов: 611 / 26 | Оценка: 5.00 / 4.50 | Длительность: 19:30:00
Специальности: Программист
Лекция 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), исправляющего одну ошибку.