gfroots

Найдите корни полинома по главному Полю Галуа

Синтаксис

rt = gfroots(f,m,p)
rt = gfroots(f,prim_poly,p)
[rt,rt_tuple] = gfroots(...)
[rt,rt_tuple,field] = gfroots(...)

Описание

Примечание

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

Для всех синтаксисов f - полиномиальный вектор символов или вектор-строка, который задает коэффициенты, в порядке возрастания степеней, полинома степени d.

Примечание

gfroots перечисляет каждый корень только один раз, игнорируя кратности корней.

rt = gfroots(f,m,p) находит корни в GF (p^m) полинома, который f представляет собой. rt является вектор-столбец, каждая из записей которого является экспоненциальным форматом корня. Экспоненциальный формат относится к корню примитивного полинома по умолчанию для GF (p^m).

rt = gfroots(f,prim_poly,p) находит корни в GF (pm) полинома, который f представляет собой. rt является вектор-столбец, каждая из записей которого является экспоненциальным форматом корня. Экспоненциальный формат относится к корню примитивного полинома степени-m для GF (pm) что prim_poly представляет собой.

[rt,rt_tuple] = gfroots(...) возвращает дополнительную матрицу rt_tuple, чья k-я строка является полиномиальным форматом корня rt(k). Полином и экспоненциальный форматы относятся к одному и тому же примитивному элементу.

[rt,rt_tuple,field] = gfroots(...) возвращает дополнительные матрицы rt_tuple и field. rt_tuple описывается в предыдущем пункте. field приводит список элементов поля расширения. Список элементов, полиномиальный формат и экспоненциальный формат все относительно одного примитивного элемента.

Примечание

Описание различных форматов, которые gfroots использует, см. Представление элементов полей Галуа.

Примеры

Корни полиномов содержат описание и пример использования gfroots.

Код ниже находит полиномиальный формат корней примитивного полинома 2 + x3 + x4 для GF (81). Затем корни в традиционной форме отображаются как полиномы в alph. (Вывод здесь опущен.) Потому что prim_poly является и примитивным полиномом, и полиномом, корни которого ищутся alph сам по себе является корнем.

p = 3; m = 4;
prim_poly = [2 0 0 1 1]; % A primitive polynomial for GF(81)
f = prim_poly; % Find roots of the primitive polynomial.
[rt,rt_tuple] = gfroots(f,prim_poly,p);
% Display roots as polynomials in alpha.
for ii = 1:length(rt_tuple)
  gfpretty(rt_tuple(ii,:),'alpha')
end

См. также

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