Crea el campo finito GF(p^n) a partir de un polinomio primitivo
F = gf_create_field(p, n) F = gf_create_field(p, n, f)
Número primo: la característica del campo, como máximo 2^20.
Grado del campo sobre GF(p): un entero de 1 a 20, con p^n ≤ 2^20.
Polinomio primitivo de grado n sobre GF(p): una fila de n + 1 coeficientes enteros en 0 .. p-1, empezando por el término constante, con el último coeficiente no nulo. No necesita ser mónico. Si se omite, se usa el polinomio que devuelve gf_default_primitive_polynomial.
El campo: list(p, n, f, elements).
F(1) es p y F(2) es n.
F(3) es el polinomio primitivo (n + 1 coeficientes, empezando por el término constante).
F(4) es la tabla de todos los elementos. Para n = 1 es la fila 0:p-1. Para n > 1 es una matriz de p^n × n: la fila 1 es el elemento cero y la fila k + 2 es α^k, siendo α una raíz de f.
gf_create_field construye el campo de orden p^n que usan las demás funciones del toolbox.
El polinomio f debe ser primitivo, no solo irreducible: sus raíces deben generar el grupo multiplicativo del campo, de modo que todo elemento no nulo sea una potencia de α. gf_is_primitive_polynomial lo comprueba, y gf_primitive_polynomials lista todos los polinomios primitivos mónicos de un grado dado. Si f no es primitivo se genera un error.
Para n = 1, f tiene grado 1 y su raíz -f(1)/f(2) es una raíz primitiva módulo p.
La tabla de elementos se calcula una sola vez, al crear el campo. Tiene p^n filas de n números reales (double).
| Version | Description |
| 2.0.0 | Refactorización de la función/toolbox. Ahora se usa un polinomio primitivo por defecto para cualquier n (antes solo estaba disponible para n = 1). Los argumentos no válidos generan errores. |