Смекни!
smekni.com

Построение порождающего полинома циклического кода по его корням (степеням корней) (стр. 3 из 4)

Следствие 2 из теоремы 1:

Два сопряженных между собой элемента будут иметь один и тот же минимальный полином.

Теорема 2. Минимальный полином элемента

равен

,

где

сопряженные элементы

Следствие из теоремы 2: Все элементы GF(pm) являются корнями полиномов.

Построим минимальный полином для элемента

из GF(24). Сопряженные элементы для
найдены выше.

Используя теорему 2, запишем минимальный полином в общем виде:

Теперь нужно раскрыть скобки, по обычным правилам, не приводя подобные, помня что, операция вычитания определена по правилам для поля GF(2), и она эквивалента операции сложения.


Если один из элементов

имеет степень выше, чем максимальная степень элементов в таблице 1 (циклической группе), обозначим такой элемент как
, то необходимо разделить
на полином, по которому было построено расширение, и взять остаток от деления, остаток будет являться искомым элементом. Это обеспечивается тем, что мультипликативная группа примитивного элемента образует циклическую группу (см. выше).

Теперь, нужно заменить элементы

разложения на элементы из GF(pm), с учетом вышесказанного, раскрыть скобки, привести подобные, не забывая, что операция сложения проводится по модулю p (в данном примере по модулю два, так как в качестве основного поля выбрано GF(2)).

Резюме: Для нахождения минимального полинома для элемента

из GF(pm) необходимо:

1. Построить расширение поля по модулю некоторого неприводимого над GF(p) полинома.

2. Построить циклотомический класс для элемента

, учитывая то, что одинаковые элементы в классе учитываются только один раз и то, что степень элемента класса может превышать максимальную степень элементов расширения поля.

3. При помощи теоремы 2 записать разложение минимального полинома, используя в качестве корней элементы циклотомического класса.

4. Раскрыть скобки разложения, не приводя подобные.

5. Проверить, не превышает ли степень

максимальную степень элементов GF(pm) (см. выше).

6. Заменить элементы

на элементы поля.

7. Раскрыть скобки, привести подобные, учитывая тот факт, что суммирование ведется по модулю p.

Рассмотрим подробнее следствие 2 из теоремы 1:

Циклотомический класс для элемента

: {1, 2, 4 ,8} для этих четырех элементов будут одинаковые минимальные полиномы.

Рассмотрим более подробно пример нахождения минимальных полиномов для GF(24).

Построение GF(24) рассмотрено выше, будем пользоваться готовым результатом.

Таблица 2. Представление GF(24).

Начнем с элемента

. Исходя из формулы 1, запишем множество сопряженных элементов:

Так как все элементы получились одинаковыми, то циклотомический класс будет состоять из одного элемента – {0}.

При помощи теоремы 2 запишем: m0(a0) = (x - a0 ), заменим a0 на элемент поля.

Минимальная функция для элемента a0:m0(a0) = (x+ 1)

Элемент

.

Используя формулу 1, получим циклотомический класс. {1, 2, 4, 8}.

Используя теорему 2, запишем разложение минимального полинома.

Теперь заменим a на элементы поля, после раскрытия скобок и приведения подобных получим минимальный полином для элементов со степенями 1, 2, 4, 8.

Элемент

.

Исходя из теоремы 1 и следствия из нее, для элемента

минимальный полином будет равен полиному для элемента
.

Элемент

.

Используя формулу 1, запишем циклотомический класс: C = {3,6,12,24}, как видно элемент со степенью 24 отсутствует в представлении поля GF(24). Если разделить

на полином, по модулю которого производилось построение GF(24), то получим остаток
.

Используя теорему 2, запишем разложение минимального полинома:

m3(x) = (x – a3 ) (x – a6 ) (x – a9 ) (x – a12 ).

Теперь, раскрыв скобки и приведя подобные, получим полином m3(x) = x4 + x3+ x2 + x1+1.

Следовательно, это полином для элементов со степенями 3,6,12,9.

Элемент

.

Минимальный полином этого элемента равен полиному элемента

Элемент

.

Используя формулу 1, запишем циклотомический класс: C = {5,10,5,10}. Так как элементы класса совпали, то в классе останется два элемента C = {5,10}.

Используя теорему 2, запишем разложение минимального полинома:

m5(x) = (x – a5 ) (x – a10 ) = x2 + x+1

Элемент

.

Минимальный полином этого элемента равен полиному элемента

Элемент

.

Используя формулу 1, запишем циклотомический класс: C = {7,14,28,56}. Так как

, то C = {7,14,11,13}

Используя теорему 2, запишем разложение минимального полинома:

m7(x) = (x – a7 ) (x – a14 ) (x – a11 ) (x – a13 ) = x4 + x3+1

Нетрудно убедиться, что для остальных элементов минимальные полиномы уже найдены выше.


2. О циклических кодах и корнях порождающего полинома с точки зрения конечных полей

Следует отметить, что в данном разделе будет рассмотрено описание циклических кодов с точки зрения конечных полей только в рамках нахождения порождающего полинома. Наиболее понятное полное рассмотрение циклических кодов с точки зрения конечных полей можно найти в книге [2].

Теорема 3. Циклический код длины n с порождающим полиномом g(x) существует тогда и только тогда, когда g(x) делит

.

Следствие из теоремы 3. Порождающий полином циклического кода длины n можно найти, разложив полином

на простые множители:

где s – число простых множителей. Произведение произвольного подмножества этих множителей дает порождающей многочлен g(x). Если g(x) – порождающий полином, то он делит

, и, следовательно,
. Полином g(x) можно найти, найдя все его простые делители.

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

как раз содержит корни минимальных полиномов, а следовательно содержит корни порождающего полинома.

Резюме:

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

.

2. Пусть

- корень полинома
. Тогда
не что иное, как функция минимума для
.