exponenta event banner

gfprimfd

Найти примитивные многочлены для поля Галуа

Синтаксис

pol = gfprimfd(m,opt,p)

Описание

Примечание

Эта функция выполняет вычисления в GF (pm), где p является простым. Для работы в GF (2m) используйте primpoly функция. Дополнительные сведения см. в разделе Поиск примитивных многочленов в примитивных многочленах и представлениях элементов.

  • Если m  = 1, pol  = [1 1].

  • Многочлен представлен в виде строки, содержащей коэффициенты в порядке возрастающих степеней.

pol = gfprimfd(m,opt,p) ищет один или несколько примитивных многочленов для GF (p^m), где p является простым числом и m является положительным целым числом. Если m  = 1, pol  = [1 1]. Если > 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 возвращает первый полином, который удовлетворяет соответствующим условиям.

См. также

| | |

Представлен до R2006a