Московский государственный университет имени М.В.Ломоносова
Опубликован: 15.03.2007 | Доступ: свободный | Студентов: 611 / 26 | Оценка: 5.00 / 4.50 | Длительность: 19:30:00
Специальности: Программист
Лекция 14:

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

Примеры классических кодов.

  1. M_n типа (n,1) ; для него d(M_n)=n.

    M_n=\{(\underbrace{0,\dots,0}_{n}), \(\underbrace{1,\dots,1}_{n})\}.

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

    Эта серия кодов, как будет показано ниже, не обобщается на квантовый случай.

  2. Проверка на четность. Код M_n^{(2)} типа (n,\,n-1), для него d(M^{(2)}_n)\double=2. Состоит из всех четных слов, т.е. слов, содержащих четное число единиц.
  3. Код Хэмминга H_r. Это код типа (n,\, n-r), где число n=2^r-1.


    Слова из \cb^n — это последовательности битов x=(x_\alpha:\alpha=1,\dots,n). Номер каждого бита можно записать в двоичной системе как \alpha\double=(\alpha_1,\dots,\alpha_n). Введем множество контрольных сумм

    \hskip2cm \mu_j(x)=\sum_{\alpha:\alpha_j=1}^{}x_\alpha
    (суммирование здесь понимается по модулю 2). На рисунке выделены множества битов, входящих в контрольные суммы при r=3 (полезно видеть в этой картинке трехмерный куб).

    Множество слов кода Хэмминга задается условием равенства всех контрольных сумм 0 (т.е. оно является подпространством по модулю 2). Можно показать, что для кода Хэмминга d=3.

Линейные коды.

Пусть есть множество N=\cb^n=\FF_2^n. Линейный код M\subseteq N — это линейное подпространство. Линейные коды удобно задавать двойственным базисом (как множество решений системы линейных уравнений).

Пример 14.2. Код Хэмминга, рассмотренный выше, задается как множество решений системы уравнений

\left\{\begin{aligned} x_{100}+x_{101}+x_{110}+x_{111}=\mu_1(x)&=0,\\ x_{010}+x_{011}+x_{110}+x_{111}=\mu_2(x)&=0,\\ x_{001}+x_{011}+x_{101}+x_{111}=\mu_3(x)&=0. \end{aligned} \right.
Поэтому код Хэмминга образует подпространство коразмерности 3.

Квантовые коды.

Будем давать определения аналогично классическому случаю. Набору условных вероятностей \bigl(p(y|x): x\in N,\,y\double\in N'\bigr) соответствует физически реализуемое преобразование матриц плотности T\colon\LL(\calN)\to\LL(\calN'). Имеет смысл и упрощенная модель: по аналогии с множеством переходов E\subseteq N\times N' определим пространство ошибок — произвольное линейное пространство \calE\subseteq\LL(\calN,\calN'). (Таким образом, квантовая ошибка — это любой линейный оператор \calN\to\calN' ). Есть и прямой аналог множества E(n,k). Рассмотрим \calN\double=\calN'=\BB^{\otimes n}. Через \calE[A] обозначим те ошибки, которые действуют на q-битах из множества A и не действуют на остальных q-битах, т.е. \calE[A]=\LL(\BB^{\otimes A})\otimes I_{\BB^{\otimes[n]\setminus A}} (здесь и далее [n] обозначает множество всех q-битов \{1,\dots, n\} ). Тогда полагаем

\calE(n,k)=\sum_{|A|\le k}^{}   \calE[A].
(Здесь стоит просто сумма подпространств, не прямая.) В дальнейшем нас будет интересовать именно устойчивость к ошибкам из \calE(n,k).

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