Number fields in Magma are (abstract) finite extensions of ℚ or other number fields that can be constructed in a large number of different ways to faciliate a multitude of internal and external applications. For example number fields can be defined by specifying a single irreducible polynomial, as subfields of other number fields, via Galois correspondence, from characters, from a range of geometric objects or simply as cyclotomic fields of a given order. Number fields and their orders support a huge number of algorithms, starting from simple arithmetic, the computation of integral closures (maximal orders) and class and unit group to sophisticated tools for Galois cohomology and Diophantine equations. As well as state of the art algorithms for general numebr fields, Magma also contains special methods for quadratic and cyclotomic fields.
Facilities for general number fields have been developed in a joint project with the KANT group in Berlin. Number fields interact easily with their completions thus allowing a modern, local-global approach to a large number of problems.
Arithmetic of elements
Construction of equation orders, maximal orders, arbitrary orders
Simple and relative extensions, extensions defined by several polynomials
Subfields
Transfer between relative and absolute representations
Discriminant, reduced discriminant, signature
Factorization of polynomials over number fields
Completions of absolute fields
Computation of class groups and ray class groups
Computation of Hilbert class fields and general class fields
Representation of a number field as a vector space or algebra over a given coefficient field
Automorphism group, Galois group of the normal closure
Dirichlet and Hecke character group as duals of residue rings and ray class groups
Galois cohomology: computations in H1 and H2
Multiple relative extensions
Maximal order, integral basis (Round 2 and Round 4 algorithms for absolute fields, Round 2 for relative extensions and special methods for Kummer extensions)
Suborders, extension orders
Construction of integral and fractional ideals
Ideal arithmetic: product, quotient, gcd, lcm, colon ideal
Determination of whether an ideal is: integral, prime, principal
Decomposition of primes
Valuations of order elements and ideals at prime ideals
Completions at prime ideals
Factorization of an ideal
Residue field of an order modulo a prime ideal
Residue class ring of an order modulo an arbitrary ideal
Completion of absolute maximal orders at finite primes
A new implementation of the general class group algorithm has been developed starting from version 2.19. From version 2.20, this incorporates a sieve method which is used automatically where appropriate.
Class group: Conditional (GRH) and unconditional algorithms
Unit group: Conditional (GRH) and unconditional algorithms
S-Unit group for arbitrary (finite) set S of primes
Picard group (ring class group) for non-maximal orders
Regulator
Exceptional units
Ray class groups, unit group of ray class rings of absolute maximal orders.
The p-Selmer group for given p and set of primes.
Norm equations, relative norm equations (both in the field and the order case, testing for local solubility)
Simultaneous norm equations, splitting of 2-cocycles
Thue equations
Unit equations
Index form equations
Integral points on Mordell curves
Hilbert 90
All functionality of number fields
Euclidean structure of ℚ(√d), for d = -1, – 2, – 3, – 7, – 11,2,3,5,13.
Class number (Shanks' algorithm)
Ideal class group (Buchmann's method)
Fundamental unit, conductor
Solution of norm equations (Cornaccia's algorithm for imaginary fields and Cremona's conics for real quadratic fields)
Facilities for binary quadratic forms (see Lattices and Quadratic Forms)
2-class group using the Bosma–Stevenhagen method
Magma contains a rich set of commands to use and analyze the Galois structure of number fields. Starting with Klüners' or Klüners and van Höij's subfield algorithm that allows the computation of all subfields of extensions of ℚ without the knowlegde of the Galois group, a generalization by Fieker and Klüners of Staudhar's method to compute the Galois group of any rational polynomial (no degree restriction, reducible polynomials as well) to Klüners algorithms for automorphisms of abelian fields.
Magma has been able to compute Galois groups of irreducible polynomials of degree > 50 and of reducible polynomials of degree > 25.
Determination of subfields
Automorphism groups of normal and abelian fields
Action of automorphisms on ideals
Isomorphisms and embeddings of number fields
Galois group of number fields with no degree restriction.
Galois correspondence: fixed fields, fixed groups
Solvability by radicals, virtual work in the splitting field
Ramification theory
Action on S-Units
The computation of the Galois group of the degree 32 polynomial f(f(f(f(x)))) for f := x2 – 2 takes about 5 seconds, to solve (by radicals) a polynomial x6 – 3x5 – 2x4 + 9x3 – x2 – 4x + 1 with Galois group 6T11 of order 48 takes also about 5 seconds.
Class field theory is one of the most important results in number theory of the 20th century. While thought to be totally theoretical for a long time, it is now very practical and used in a growing number of applications from tabulating fields to Diophantine equations and representation theory of finite groups.
The core of Magma's class field theory is Fieker's algorithm to compute defining equations for a class field that is parametrized as a quotient of a ray class group. While analytic contructions are also available (over imaginary quadratic fields), this algebraic method applies to all fields.
Ray class groups modulo any integral ideal
Computation of defining equations of class fields
Test if a class field is normal, central or abelian without computing defining equations
Special integral closure algorithms based on Kummer theory
Analytical construction of Hilbert Class polynomials over imaginary quadratic fields
Computation of Hilbert class fields and ring class fields
The norm group of an abelian number field can be computed
Norm symbols, Artin-map is available
Solvability of norm equations can be tested, extending the Hasse-Norm-Theorem
Extension of automorphisms of the base field
Galois cohomology: action on Ray class groups
Galois cohomology: decide if a 1 or 2-cocycle is trivial, explicit splitting of cocycles
Grunwald-Wang theorem: find a cyclic extension having prescribed degrees at a finite number of places.
Functionality with Hecke Grössencharacters in CM fields
A general algebraic function field F/k of n variables over a field k is a field extension F of k such that F is a field extension of finite degree of k(x1, .s, xn) for elements xi∈F which are algebraically independent over k.
Given any field k and indeterminates x1,…, xn, the user may form the field of rational functions k(x1,…, xn) as the localization of the polynomial ring k[x1,…, xn] at the prime ideal < x1,…, xn > .
Creation of a rational function field of a given rank over a given ring
Retrieval of the ring of integers, coefficient ring and rank
Ring predicates
Arithmetic
Numerator and Denominator
Degree and weighted degree
Evaluation
Derivative
Partial fraction expansion
Partial fraction decomposition (squarefree or full factorization)
Within Magma, algebraic function fields of one variable can be created by adjoining a root of an irreducible, separable polynomial in k(x)[y] to the rational function field k(x). If k is a finite field, the function field is said to be global. An algebraic function field can be extended to create fields of the form k(x,a1,…, ar) where each extension occurs by adjoining a root of an irreducible and separable polynomial. Extensions may be formed using several polynomials simultaneously giving a non simple representation.
Creation of simple, relative and non simple extensions and mixed towers thereof
Creation of extensions of the constant field using bivariate polynomials
Retrieval of information defining the field
Exact constant field and genus
Change of representation from finite degree extensions to infinite and vice versa
Change of coefficient field to one lower in the extension tower
Computation of subfields and automorphisms
Homomorphisms from function fields into any ring by specifying the image of the primitive element and an optional map on the coefficient field
Computation of Galois Groups of simple extensions of a function field with no degree restriction (and of squarefree separable polynomials over global function fields)
k-Automorphisms, isomorphism testing and embeddings
L-polynomial and ζ-function
Construction of a function field with an extended constant field
Construction of Artin-Schreier-Witt extensions from finite dimensional Witt-vectors
Constructive class field theory using both algebraic and analytic (Drinfeld modules) methods
Finite and infinite equation orders
Finite and infinite maximal orders using the Round 2 algorithm for extensions which are not Kummer or Artin–Schreier, a basis for a p-maximal order of a Kummer extension and a maximal order of an Artin–Schreier extension can be written down.
Creation of orders whose basis is a transformation of an existing order
Integral closure
Basis of the order with the option to have the elements returned in a specified ring
Simplification of an order to a transformation of its equation order
(S-)Unit Group and unit rank, independent and fundamental units and regulator
Ideal class group for maximal orders
Ring predicates
Basis size reduction for finite, simple, non relative orders
Elements of function fields and their orders have 3 different representations. These representations are implemented generally for function field elements and number field elements. Standard elements are represented using coefficients of the basis elements. Elements of orders (and fields) with a power basis are represented using a polynomial representation. Elements of all orders or fields may have a product representation, being thought of as a formal product of a list of elements each to the power of some exponent. This can be a great advantage when the element is prohibitively large when represented using coefficients.
Arithmetic and modular arithmetic
Predicates
Creation of random elements and conversion to and from sequences
Norm and trace with respect to any given coefficient ring
Representation matrix, minimal and characteristic polynomials
Numerators and Denominators with respect to a given order
Module generated by a sequence of elements
Strong approximation theorem
Power series expansion, mapping of elements into completions
Creation of ideals from generators or a basis
Arithmetic
Roots of ideals
Predicates for integrality, prime, principal zero and one ideals
Predicate for prime ideals determining the type of ramification
Intersection, GCD and LCM
Factorization
p-radicals and p-maximal orders
Taking valuations of elements and ideals at prime ideals
Denominator
Retrieving basis and generators
Residue class field and the map to and from the order into it
Completions
Ramification and inertia degree
Creation of places as zeros and poles of elements of a field
Creation from prime ideals
Creation of random places of global fields
Creation of places of a given degree of global fields
Decomposition of places
Arithmetic
Residue class field, lifting elements out of and evaluating functions into
Valuation of elements and expanding elements at a place
Completion of fields and orders at places of any degree
Ramification and inertia degree
Retrieval of generators and a uniformizing element
Weierstrass places
Counting the number of places of a given degree over the exact constant field of global fields
The Serre and Ihara bounds on the number of places of degree 1 over the exact constant field of global fields
Creation from places, elements and ideals
Canonical and different divisor
Arithmetic including GCD and LCM
Support and Degree
Numerator and Denominator
Testing for properties of effective, positive, principal, special and canonical
Riemann–Roch space ℒ(D) of a divisor D, given by a k-basis of algebraic functions
Reduction of a divisor
Index of Speciality
Gap numbers, ramification divisors, Wronskian orders and Weierstrass places
Parametrization of a field at a divisor
Number of smooth divisors of global fields
Creation of a differential space
Creation of differentials from field elements
Arithmetic
Valuation of a differential at a place
Divisor of a differential
Differential spaces and bases for given divisors
Space and basis of holomorphic differentials of a field
Differentiations of elements of a function field
Residue of a differential at a place of degree one
Cartier operator and representation matrix of the Cartier operator (global case)
Module generated by a sequence of differentials
Bounds on the generation of the class group
Computation of the class number and approximations to it
Construction of the divisor class group, structure of the divisor class group, representation of divisor classes as abelian group elements
S-class group, S-units and S-regulator for a finite set of places S
Exact sequence
Image and preimage computation possible for the maps of the exact sequence
Similar functionality for the ideal class group of the finite maximal order
p-rank of the divisor class group (separate method) and Hasse–Witt invariant
Tate–Lichtenbaum pairing
Global units
Ray divisor class groups
Defining equation for class fields
Conductor and norm group
Genus, discriminant, number of places of given degree
Decomposition type of places of the base field
Exact constant field
Drinfeld modules of rank 1, rings of twisted polynomials
The development of this module is a joint project with the KANT group.
Algebraically closed fields (ACF's) have the property that they always contain all the roots of any polynomial defined over them.
Construction of algebraic closures over a finite field, the rational field or a rational function field of any characteristic
Automatic extension of the field by the roots of any polynomial over the field, and operations on conjugates of roots
Basic arithmetic
All standard algorithms for rings over generic fields work over such fields
Minimal polynomial
Simplification of the field
Construction of the corresponding absolute field together with the isomorphism
Pruning of useless variables and relations
It is not possible to construct explicitly the closure of a field, but the system works by automatically constructing larger and larger algebraic extensions of an original base field as needed during a computation, thus giving the illusion of computing in the algebraic closure of the base field.
A similar system was suggested by D. Duval and others (the D5 system [Duval85]), but this has difficulty with the parallelism which occurs when one must compute with several conjugates of a root of a reducible polynomial, leading to situations where a certain expression evaluated at a root is invertible but evaluated at a conjugate of that root is not invertible.
The system developed for Magma by Allan Steel avoids these problems, and is described in [ACF1, ACF2]. Consequently, ACF's behave in the same way as any other field implemented in Magma; all standard algorithms implemented for generic fields and which use factorization work without change (for example, the Jordan form of a matrix).
The system avoids factorization over algebraic number fields when possible, and automatically splits the defining polynomials of a field when factors are found. The field may also be simplified and expressed as an absolute field. Especially significant is also the fact that all the Gröbner basis algorithms work well over ACF's. One can now compute the variety of any zero-dimensional multivariate polynomial ideal over the algebraic closure of its base field. Puiseux expansions of polynomials are now also computed using an algebraically closed field.
Since V2.13, one may construct the algebraic closure over a finite field or a rational function field of any characteristic. For rational function fields of very small characteristic, inseparable field extensions are handled properly (see [ACF2] for details).