Найти корни многочлена над простым полем Галуа
rt = gfroots(f,m,p)
rt = gfroots(f,prim_poly,p)
[rt,rt_tuple] = gfroots(...)
[rt,rt_tuple,field] = gfroots(...)
Примечание
Эта функция выполняет вычисления в GF (pm), где p является простым. Для работы в GF (2m) используйте roots функция с массивами Galois. Дополнительные сведения см. в разделе Корни многочленов.
Для всех синтаксисов: f - вектор многочлена или вектор строки, который дает коэффициенты в порядке возрастания многочлена степени d.
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 (pм), что 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