Skip to content

Define an order in a number field

Usually, to create an order, one starts with a number field respectively a dfining polynomial:

julia
julia> Qx, x = QQ[:x];

julia> K, a = number_field(x^2 - 5, :a);

The number field is K=\Q(α), where α is a root of f=x210. Since the polynomial f is integral, the ring \Z[α] generated by α is an order of K. This is so-called equation order can be defined as follows:

julia
julia> E = equation_order(K)
Order of number field of degree 2 over QQ
with Z-basis [1, a]

The maximal order can be computed as:

julia
julia> maximal_order(K)
Maximal order of number field of degree 2 over QQ
with basis [1, 1//2*a + 1//2]

We can also compute the order generated by a finite set of elements, that is, the smallest order of K containing all elements:

julia
julia> order(K, [15*a, 10*a + 10])
Order of number field of degree 2 over QQ
with Z-basis [1, 5*a]

We can also supply a matrix containing the coordinates of a basis (as rows):

julia
julia> order(K, ZZ[1 0; 0 5])
Order of number field of degree 2 over QQ
with Z-basis [1, 5*a]