A field is represented by a record that contains
important information about this field. The GAP library
predefines some field records, for example Rationals (see
Rationals). Field constructors construct others, for example Field
(see Field), and GaloisField (see GaloisField). Of course you
may also create such a record by hand.
All field records contain the components isDomain, isField,
char, degree, generators, zero,
one, field, base, and dimension.
They may also contain the optional components isFinite, size,
galoisGroup. The contents of all components of a field F
are described below.
isDomain:
is always true. This indicates that
F is a domain.
isField:
is always true. This indicates that
F is a field.
char:
is the characteristic of F. For finite
fields this is always a prime, for infinite fields this is 0.
degree:
is the degree of F as extension
of the prime field, not as extension of the subfield S.
For finite fields the order of F is given by F.char^
F.degree.
generators:
a list of elements that together generate F.
That is F is the smallest field over the prime field given by
F.char that contains the elements of F.generators.
zero:
is the additive neutral element of the finite field.
one:
is the multiplicative neutral element of the finite
field.
field:
is the subfield S over which F
was constructed. This is either a field record for S, or the same
value as F.char, denoting the prime field (see
Fields over Subfields).
base:
is a list of elements of F forming a base
for F as vector space over the subfield S.
dimension:
is the dimension of F as vector space
over the subfield S.
isFinite:
if present this is true if the field
F is finite and false otherwise.
size:
if present this is the size of the field F.
If F is infinite this holds the string "infinity".
galoisGroup:
if present this holds the Galois group of
F (see GaloisGroup).