Найдите корни полинома по главному Полю Галуа
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.
rt = gfroots(f,m,p)
находит корни в GF (p^m
) полинома, который f
представляет собой. rt
является вектор-столбец, каждая из записей которого является экспоненциальным форматом корня. Экспоненциальный формат относится к корню примитивного полинома по умолчанию для GF (p^m
).
rt = gfroots(f,prim_poly,p)
находит корни в GF (p
m) полинома, который f
представляет собой. rt
является вектор-столбец, каждая из записей которого является экспоненциальным форматом корня. Экспоненциальный формат относится к корню примитивного полинома степени-m для GF (p
m) что 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