The only number fields that GAP can handle at the moment are subfields of cyclotomic fields, e.g., Q(sqrt{5}) is a number field that is not cyclotomic but contained in the cyclotomic field Q_5 = Q(e^{frac{2pi i}{5}}). Although this means that GAP does not know arbitrary algebraic number fields but only those with abelian Galois group, here we call these fields number fields for short. The elements of number fields are called cyclotomics (see chapter Cyclotomics). Thus number fields are the domains (see chapter Domains) related to cyclotomics; they are special field records (see Field Records) which are needed to specify the field extension with respect to which e.g. the trace of a cyclotomic shall be computed.
In many situations cyclotomic fields need not be treated in a special
way, except that there may be more efficient algorithms for them than
for arbitrary number fields. For that, there are the global variables
NumberFieldOps
and CyclotomicFieldOps
, both records which contain
the field operations stored in FieldOps
(see chapter Fields) and
Domain Functions for Number Fields). If all necessary information about a function is already
given in chapter Fields, this function is not described here; this
is the case e.g. for Conjugates
and related functions, like Trace
and CharPol
. Some functions, however, need further explanation,
e.g., Coefficients for Number Fields tells more about Coefficients
for number fields.
There are some functions which are different for cyclotomic fields and
other number fields, e.g., the field constructors CF
resp. NF
. In
such a situation, the special case is described in a section immediately
following the section about the general case.
Besides the single number fields, there is another domain in GAP
related to number fields, the domain Cyclotomics
of all cyclotomics.
Although this is an abstract field, namely the field Q^{ab},
Cyclotomics
is not a field record. It is used by DefaultField
,
DefaultRing
, Domain
, Field
and Ring
(see DefaultField,
DefaultRing, Domain, Field, Ring) which are mainly interested in
the corresponding entries of Cyclotomics.operations
since these
functions know how to create fields resp. integral rings generated by
some cyclotomics.
The external functions are in the file LIBNAME/"numfield.g"
GAP 3.4.4