<< gf_default_primitive_polynomial Polinomios primitivos y mínimos gf_minimal_polynomial >>

Campos de Galois >> Campos de Galois > Polinomios primitivos y mínimos > gf_is_primitive_polynomial

gf_is_primitive_polynomial

Comprueba si un polinomio sobre GF(p) es primitivo

Secuencia de llamado

tf = gf_is_primitive_polynomial(f, p, n)

Parámetros

f

Polinomio de grado n: una fila de exactamente n + 1 coeficientes enteros en 0 .. p-1, empezando por el término constante, con el último coeficiente no nulo.

p

Número primo: la característica del campo, como máximo 2^20.

n

Grado de f: un entero de 1 a 20, con p^n ≤ 2^20.

tf

T si f es primitivo sobre GF(p), F en caso contrario.

Descripción

Un polinomio f de grado n sobre GF(p) es primitivo cuando es irreducible y sus raíces tienen orden multiplicativo p^n - 1, de modo que generan el grupo multiplicativo de GF(p^n). Solo los polinomios primitivos pueden usarse con gf_create_field.

La prueba calcula el orden de x módulo f: f es primitivo exactamente cuando f(0) ≠ 0 y ese orden es p^n - 1. El polinomio no necesita ser mónico.

Ejemplos

gf_is_primitive_polynomial([1 1 0 0 1], 2, 4)   // T: 1 + x + x^4
gf_is_primitive_polynomial([1 0 0 1 1], 2, 4)   // T: 1 + x^3 + x^4
gf_is_primitive_polynomial([1 1 1 1 1], 2, 4)   // F: irreducible, pero x^5 = 1

Ver también

Historial

VersionDescription
2.0.0

Refactorización de la función/toolbox. Devuelve un booleano.


Report an issue
<< gf_default_primitive_polynomial Polinomios primitivos y mínimos gf_minimal_polynomial >>