This chapter gives an overview of number fields in Magma. Full documentation is spread across the following chapters:
Number fields in Magma are finite extensions of the rational field Q, or another number field. Extensions directly over Q are referred to as absolute fields, extensions of number fields are called relative fields.
The RationalField() is not a number field in Magma. A trivial extension is created by RationalsAsNumberField().
A number field is constructed as K = k[t]/(f(t)) where f is an irreducible polynomial in k[t]. The generator K.1 is a root of f. A field may also be constructed as a multivariate quotient K = k[s1, ..., sn]/(f1(s1), ..., fn(sn)) for univariate fi in k[t]. The generators K.i are roots of fi. This construction is a shortcut for creating a tower of single extensions.
Number fields in Magma are abstract: they do not come with a distinguished embedding into an algebraically closed field. Embeddings between fields can be defined by the user, and may also be chosen (once and for all) by functions such as IsIsomorphic and IsSubfield. Crucially, it is possible to create multiple copies of the field defined by a given polynomial. Therefore every extension defined by the user creates a new object in Magma (unless the user requests otherwise).
The embeddings of a field into the real and complex numbers are given by the Conjugates of an element, or by InfinitePlaces of a field (and Evaluate to evaluate the embedding corresponding to a place). See Places and Divisors.
The basis of K<w> = k[t]/(f(t)) over its base field k is always the power basis 1, w, w2, ..., wn - 1 (where the generator w = K.1 is a root of f). The basis of an order in an absolute field is usually in hermite form with respect to the field basis, however there are exceptions such as the LLL of an order. The field of fractions of an order always has the same basis as the order.
An arbitrary number field can be converted to an absolute extension of Q using AbsoluteField, i.e. this finds a primitive element over Q. Similarly, a number field defined by multiple polynomials can be converted to a field defined by a single polynomial using SimpleExtension.
Notes about relative fields: