Пошук примітивних поліномів в кінцевому полі
Увага! Наведене нижче опис відноситься до версії 2.0 пакета Communications, (MATLAB 6.1). У версії 2.1 (MATLAB 6.5) пошук примітивних поліномів для довічних кінцевих полів (в тому числі розширених) проводиться за допомогою функції primpoly, а дана функція застосовується тільки до полів GF (p m), де p - просте число, більше двох.
pol = gfprimfd (m);
pol = gfprimfd (m, opt);
pol = gfprimfd (m, opt, p);
Для всіх варіантів синтаксису, якщо m = 1, повертається результат pol = [1 1].
Поліном представляється у вигляді вектора-рядка, що містить коефіцієнти в порядку зростання ступенів.
Повертає вектор, рядок, що містить один примітивний поліном для поля GF (2 m). Вхідний параметр m повинен бути позитивним цілим числом.
Здійснює пошук одного або декількох примітивних поліномів для поля GF (2 m), де m - натуральне число. Якщо m> 1, то результат pol залежить від другого вхідного параметра opt відповідно до наведеної нижче таблиці.
Сенс результату pol
Все примітивні поліноми для поля GF (2 m), що мають рівно opt ненульових коефіцієнтів
Матриця, кожен рядок якої представляє один примітивний поліном
pol = gfprimfd (m, opt, p)
Те ж, що pol = gfprimfd (m, opt), проте в якості характеристики поля замість двійки використовується значення параметра p, який повинен бути простим числом. Таким чином, в даному випадку обчислення проводяться для поля GF (p m).
Наведений нижче код здійснює пошук примітивних поліномів для поля GF (32), що мають різні додаткові властивості. Зверніть увагу на те, що змінна fourterms марна матрицею, оскільки для даного поля не існує примітивних поліномів, що мають рівно чотири ненульових коефіцієнта. Також відзначте, що змінна manyterms представляє один примітивний поліном, що має рівно п'ять ненульових коефіцієнтів, а змінна fiveterms представляє все примітивні поліноми, які мають рівно п'ять ненульових коефіцієнтів.
p = 2; m = 5; % Працюємо в поле GF (32)
manyterms = gfprimfd (5, 'max')
fiveterms = gfprimfd (5,5)
fourterms = gfprimfd (5,4)
Нижче наводиться результат роботи прикладу.
manyterms =
1 1 1 1 0 1
fiveterms =
1 1 1 1 0 1
1 + 1 1 0 1 1
1 1 0 1 1 + 1
1 0 1 1 1 1
No primitive polynomial satisfies the given constraints.
Функція gfprimfd тестує поліноми на примітивність, використовуючи для цього функцію gfprimck. Якщо параметр opt має значення 'min', 'max' або опущений, то поліноми конструюються шляхом формування m -значний уявлень цілих чисел в системі числення з основою p. Послідовно перебираючи цілі числа в напрямку збільшення або зменшення, функція gfprimfd повертає перший знайдений поліном, що задовольняє заданим умовам.