Проверяйте, является ли полином над полем Галуа примитивным
ck = gfprimck(a)
ck = gfprimck(a,p)
Примечание
Эта функция выполняет расчеты в GF (pm), где p является простым. Если вы работаете в GF (2m), используйте isprimitive
функция. Для получения дополнительной информации смотрите Finding Primitive Polynomials в Примитивных Полиномах и Представлениях Элемента.
ck = gfprimck(a)
проверяет, является ли полином GF (2) степени-m a
является примитивным полиномом для GF (2m), где m = length (a
) - 1. Область выхода ck
является следующим:
-1, если a
не является неприводимым полиномом
0, если a
неприводим, но не примитивный полином для GF (p
m)
1, если a
является примитивным полиномом для GF (p
m)
ck = gfprimck(a,p)
проверяет, является ли полином GF (P) степени-m a
является примитивным полиномом для GF (pm). p - простое число.
a
является либо полиномиальным вектором символов, либо векторами-строками, представляющим полином путем перечисления его коэффициентов в порядке возрастания. Для примера в GF (5), '4 + 3x + 2x^3'
и [4 3 0 2]
являются эквивалентными.
Эта функция рассматривает нулевой полином как «не неприводимый» и рассматривает все полиномы с нулем степени или единицей как примитив.
Характеристика полиномов содержит примеры.
Неприводимый полином над GF (p) степени не менее 2 примитивен тогда и только тогда, когда он не делит - 1 + xk для любого положительного целого числа k меньше pm-1.
[1] Clark, George C. Jr., and J. Bibb Cain, Error-Correction Coding for Digital Communications, New York, Plenum, 1981.
[2] Krogsgaard, K., and T., Karp, Fast Identification of Primitive Polynomials over Galois Fields: Results of a Course Project, ICASSP 2005, Philadelphia, PA A A, 2004.