Поиск примитивных полиномов для поля Галуа
pol = gfprimfd(m,
opt
,p)
Примечание
Эта функция выполняет расчеты в GF (pm), где p является простым. Для работы в ГФ (2m), используйте primpoly
функция. Для получения дополнительной информации смотрите Finding Primitive Polynomials в Примитивных Полиномах и Представлениях Элемента.
Если m
= 1, pol
= [1 1].
Полином представлен как строка, содержащая коэффициенты в порядке возрастания степеней.
pol = gfprimfd(m,
ищет один или несколько примитивных полиномы для GF opt
,p) (p^m
), где p
является простым числом и m
является положительным целым числом. Если m
= 1, pol
= [1 1]. Если m
> 1, выходные pol
зависит от аргумента opt
как показано в таблице ниже. Каждый полином представлен в pol
как строка, содержащая коэффициенты в порядке возрастающих степеней.
выбрать | Значимость pol | Формат pol |
---|---|---|
'min' | Один примитивный полином для GF (p^m ) имеющий наименьшее возможное число ненулевых членов | Вектор-строка, представляющая полином |
'max' | Один примитивный полином для GF (p^m ) с максимально возможным количеством ненулевых членов | Вектор-строка, представляющая полином |
'all' | Все примитивные полиномы для GF (p^m ) | Матрица, каждая строка которой представляет один такой полином |
Положительное целое число | Все примитивные полиномы для GF (p^m ) которые имеют opt ненулевые условия | Матрица, каждая строка которой представляет один такой полином |
Приведенный ниже код ищет примитивные полиномы для GF (81), имеющих различные другие свойства. Заметьте, что fourterms
пуст, потому что ни один примитивный полином для GF (81) не имеет в точности четырех ненулевых членов. Также заметьте, что fewterms
представляет один полином, имеющий три члена, в то время как threeterms
представляет все трехмерные примитивные полиномы для GF (81).
p = 3; m = 4; % Work in GF(81). fewterms = gfprimfd(m,'min',p) threeterms = gfprimfd(m,3,p) fourterms = gfprimfd(m,4,p)
Ниже приведен выход.
fewterms = 2 1 0 0 1 threeterms = 2 1 0 0 1 2 2 0 0 1 2 0 0 1 1 2 0 0 2 1 No primitive polynomial satisfies the given constraints. fourterms = []
gfprimfd
тесты на примитивность с использованием gfprimck
. Если opt
является 'min'
, 'max'
или опущенные полиномы строятся путем преобразования десятичных целых чисел в базовые p
. На основе десятичного упорядоченного расположения, gfprimfd
возвращает первый полином, который он находит, удовлетворяющий соответствующим условиям.