| Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения) |
В математика, алгебро-геометрический код (AG-код), иначе известный как Код гоппы, является общим типом линейный код построенный с использованием алгебраическая кривая
через конечное поле
. Такие коды были введены Валерий Денисович Гоппа. В частных случаях у них могут быть интересные экстремальные свойства. Их не следует путать с двоичные коды Гоппа которые используются, например, в Криптосистема Мак-Элиса.
Строительство
Традиционно AG-код строится из неособый проективная кривая Икс над конечным полем
используя ряд фиксированных различных
-рациональные точки на
:

Позволять
быть делитель на Икс, с поддерживать который состоит только из рациональных точек и не пересекается с
. Таким образом 
Посредством Теорема Римана – Роха, существует единственное конечномерное векторное пространство,
, относительно дивизора
. Векторное пространство является подпространством функциональное поле из Икс.
Существует два основных типа AG-кодов, которые можно построить, используя приведенную выше информацию.
Код функции
Код функции (или двойной код ) относительно кривой Икс, делитель
и набор
строится следующим образом.
Позволять
, быть делителем, с
определено, как указано выше. Обычно мы обозначаем код Гоппы как C(D,грамм). Теперь мы знаем все, что нам нужно для определения кода Goppa:

На фиксированную основу
за L(грамм) над
, соответствующий код Гоппа в
охватывает
векторами

Следовательно,

порождающая матрица для 
Эквивалентно это определяется как изображение

Ниже показано, как параметры кода соотносятся с классическими параметрами линейные системы делителей D на C (ср. Теорема Римана – Роха для большего). Обозначение ℓ(D) означает размерность L(D).
- Предложение А. Измерение кода Гоппа
является 
Доказательство. С
мы должны показать это

Позволять
тогда
так
. Таким образом,
Наоборот, предположим
тогда
поскольку

(грамм не «исправляет» проблемы с
, так ж должен сделать это вместо этого.) Отсюда следует, что 
- Предложение Б. Минимальное расстояние между двумя кодовыми словами равно

Доказательство. Предположим, что Вес Хэмминга из
является d. Это означает, что для
индексы
у нас есть
за
потом
, и

Принимая степени с обеих сторон и отмечая, что

мы получили

так

Код остатка
Код остатка может быть определен как двойник функционального кода или как остаток некоторых функций в
с.
Рекомендации
- Ки Уан Чанг, Коды Гоппы, Декабрь 2004 г., математический факультет Университета штата Айова.
внешняя ссылка