Finite fields


Domain Creation

Dom::GaloisField(p, n)
Dom::GaloisField(p, n, f)
Dom::GaloisField(F, n)
Dom::GaloisField(F, n, f)

Element Creation

Dom::GaloisField(p, n, f)(g)


Domain Creation

Dom::GaloisField(p, n, f) creates the residue class field , a finite field with pn elements. If f is not given, it is chosen at random among all irreducible polynomials of degree n.

Dom::GaloisField(q) (where q = pn) is equivalent to Dom::GaloisField(p,n).

Dom::GaloisField(F, n, f) creates the residue class field F[X]/<f>, a finite field with |F|n elements.

If f is not given, a random irreducible polynomial of appropriate degree is used; some free identifier is chosen as its variable, and this one must also be used when creating domain elements.

Although n = 1 is allowed, Dom::IntegerMod should be used for representing prime fields.

If F is of type Dom::GaloisField, consisting of residue classes of polynomials, the variable of these polynomials must be distinct from the variable of f. If a tower several of Galois fields is constructed, the variable used in the uppermost Galois field must not equal any of those used in the tower. A special entry "VariablesInUse" serves to keep track of all variables appearing somewhere in the tower.

Element Creation

Dom::GaloisField(p,n,f)(g) (or, respectively, Dom::GaloisField(F,n,f)(g)) creates the residue class of g modulo f. It is represented by the unique polynomial in that class that has smaller degree than f.


Example 1

We define L to be the field with 4 elements. Then a4 = a for every aL, by a well-known theorem.

L:=Dom::GaloisField(2, 2, u^2+u+1): L(u+1)^4



Prime power




Positive integer


Univariate irreducible polynomial over Dom::IntegerMod(p) or F, or polynomial expression convertible to such


Finite field of type Dom::IntegerMod or Dom::GaloisField.


Univariate polynomial over the ground field in the same variable as f, or polynomial expression convertible to such



the zero element of the field


the unit element of the field


the characteristic of the field


the number of elements of the field


the prime field, which equals Dom::IntegerMod(p).


the variable of the polynomial f.


a list consisting of "Variable" and the variables used by the ground field.

See Also

MuPAD Domains

Was this topic helpful?