Algebraic Number Theory

Introduction

Algebraic number theory is concerned with number fields and univariate function fields. A number field is a finite degree field extension of the field of rationals while a univariate function field is a finite degree field extension of the field k(t) of rational functions over k. For function fields whose constant field k is a finite field, the arithmetic theory is largely parallel to that of number fields.

Basic Arithmetic

Magma provides an environment for performing calculations in number fields and function fields efficiently, but at the same time in a very flexible manner. Fields may be constructed as extensions defined by one or more polynomials, or as towers of extensions. Alternative representations of these may then be constructed; for instance, as a single extension or with an optimal polynomial. Relationships between related fields and their orders are carefully maintained so that elements and ideals can be easily moved between related structures.

Local Rings and Fields

The most commonly encountered local fields are the field of p-adic numbers and the field k((t)) of power series over a (finite) field k. In addition, one may form finite extensions of these. In algebraic number theory, local fields arise as completions of “global” number fields and function fields. The most familiar example is for the field of rational numbers: its completions consist of the field of real numbers and the field of p-adic numbers p for each prime p.

Magma includes several implementations of local rings and fields (p, p, k((t)), and finite extensions of these). The lowest-level implementation is for speed, while the highest level is for convenience, allowing calculations to be performed in the most user-friendly way, where each element has its own relative precision. Relative precisions are also handled smoothly when passing between extensions. Beyond field arithmetic, the most important algorithms provided are those for factorisation (Pauli) and roots of polynomials over local fields.

Subfields

Magma contains an implementation of the algorithms developed by Klüners, van Hoeij, and Novocin for calculating all subfields of a given number field or the field defined by a given polynomial. The algorithms rely mainly on polynomial factorisation rather than heavy computations concerning the structure of the field such as maximal order. Some variants of the algorithm use LLL techniques. They are effective for fields of rather large degree. For instance, the subfields of x40 – 2 can be obtained in a few seconds.

Maximal Order

The maximal order (also known as the ring of integers) of a field is the starting point when it comes to understanding the number theoretic properties of the field — after all, one must first have the integers before one has the primes, and completions, and so on. Magma has efficient implementations of the Zassenhaus “Round 2” and “Round 4” algorithms which are generally quite adequate for fields arising in applications. In addition Magma has special algorithms for fields that are expressed as Kummer or Artin–Schreier extensions.

Ideal Class Group

The class group is a key invariant of a number field, along with the regulator which measures the size of the unit group. For general number fields, the basic method is Buchmann's subexponential algorithm. One obtains a presentation of the class group where the generators are the primes up to some bound, by searching for enough elements for which all prime factors are among those primes; these elements are then the relations. Magma's main routine is a recent implementation (S. Donnelly) which boasts a number of novel features which serve to optimise the strategy.

The Galois Group

Let f be a polynomial whose coefficients belong to one of the fields , a number field, a finite extension of k(t) where k is a finite field, or ℚ(t). Then the Galois group of the splitting polynomial of f can be computed in Magma. The general approach is based on ideas of Stauduhar published in 1973. A much more efficient version of that algorithm was developed around 2008–2009 by C. Fieker and J. Klüners, with further work undertaken recently by S. Elsenhans. In contrast to earlier algorithms, there is no a priori limit on the degree, and no requirement for large precomputed tables. The Galois group is determined not only as an abstract group, but also as a permutation group acting on the set of roots of the polynomial in some splitting field.

Class Field Theory

Class field theory classifies the abelian extensions of a global field by giving an isomorphism between their Galois groups and ray class groups of the original field. While the theory was completed in the first decades of the twentieth century, the explicit construction of the field extensions remains a major open problem. Explicit construction means finding an explicit polynomial that defines the field. There is a complete solution, in terms of values of transcendental functions, only for quadratic number fields. This method has an analogue for function fields using Drinfeld modular curves.

In Magma, abelian extensions can be constructed first in an abstract form, using ray class data rather than explicit polynomials. To construct them explicitly, an algorithm based on the standard approach using Kummer theory is implemented for number fields and function fields. For function fields, there is an additional algorithm based on Drinfeld modules. These methods were all developed by C. Fieker.