## Creation

Order(B::Array{nf_elem, 1}, check::Bool = true) -> NfOrd

Returns the order with -basis . If `check`

is set, it is checked whether defines an order.

Order(K::AnticNumberField, A::FakeFmpqMat, check::Bool = true) -> NfOrd

Returns the order which has basis matrix with respect to the power basis of . If `check`

is set, it is checked whether defines an order.

EquationOrder(K::AnticNumberField) -> NfOrd

Returns the equation order of the number field .

### Example

julia> Qx, x = PolynomialRing(QQ, "x"); julia> K, a = NumberField(x^2 - 2, "a"); julia> O = EquationOrder(K) Order of Number field over Rational Field with defining polynomial x^2 - 2 with Z-basis Hecke.NfOrdElem[1,a]

maximal_order(::AnticNumberField) maximal_order(::AnticNumberField, ::Array{fmpz, 1}) make_maximal(::NfOrd)

julia> Qx, x = PolynomialRing(QQ, "x"); julia> K, a = NumberField(x^2 - 2, "a"); julia> R = EquationOrder(K) Order of Number field over Rational Field with defining polynomial x^2 - 2 with Z-basis Hecke.NfOrdElem[1,a] julia> T = maximal_order(R) ERROR: MethodError: no method matching maximal_order(::Hecke.NfOrd) Closest candidates are: maximal_order(!Matched::Nemo.AnticNumberField, !Matched::Array{Nemo.fmpz,1}) at /home/travis/.julia/v0.5/Hecke/src/NfOrd/NfOrd.jl:969 maximal_order(!Matched::Nemo.AnticNumberField) at /home/travis/.julia/v0.5/Hecke/src/NfOrd/NfOrd.jl:943 maximal_order{T}(!Matched::Nemo.AnticNumberField, !Matched::Array{T,1}) at /home/travis/.julia/v0.5/Hecke/src/NfOrd/NfOrd.jl:973

## Basic properties

signature(::NfOrd) degree(::NfOrd) norm_change_const(::NfOrd) isequationorder(::NfOrd) nf(::NfOrd) basis(::NfOrd) basis_mat(::NfOrd) basis_mat_inv(::NfOrd) discriminant(::NfOrd) gen_index(::NfOrd) index(::NfOrd) isindex_divisor(::NfOrd, p::Int) minkowski_mat(::NfOrd) in(::nf_elem, ::NfOrd) den(::nf_elem, ::NfOrd) +(::NfOrd, ::NfOrd) poverorder(::NfOrd, ::fmpz) pmaximal_overorder(::NfOrd, ::fmpz)

## Elements

### Creation

call(::NfOrd, ::nf_elem) call(::NfOrd, ::fmpz) call(::NfOrd, ::Array{fmpz, 1}) call(::NfOrd, ::Array{Int, 1}) call(::NfOrd)

### Basic properties

parent(a::NfOrdElem) -> NfOrd

Returns the order of which is an element.

elem_in_nf(a::NfOrdElem) -> nf_elem

Returns the element considered as an element of the ambient number field.

elem_in_basis(a::NfOrdElem) -> Array{fmpz, 1}

Returns the coefficient vector of .

discriminant(B::Array{NfOrdElem, 1}) -> fmpz

Returns the discriminant of the family .

==(x::NfOrdElem, y::NfOrdElem) -> Bool

Returns whether and are equal.

zero(O::NfOrd) -> NfOrdElem

Returns the zero element of .

one(O::NfOrd) -> NfOrdElem

Returns the zero element of .

iszero(a::NfOrd) -> Bool

Tests if is one.

isone(a::NfOrd) -> Bool

Tests if is one.

### Arithmetic

-(x::NfOrdElem) -> NfOrdElem

Returns the additive inverse of .

+(x::NfOrdElem, y::NfOrdElem) -> NfOrdElem

Returns .

-(x::NfOrdElem, y::NfOrdElem) -> NfOrdElem

Returns .

*(x::NfOrdElem, y::NfOrdElem) -> NfOrdElem

Returns .

^(x::NfOrdElem, y::Union{fmpz, Int})

Returns .

mod(a::NfOrdElem, m::Union{fmpz, Int}) -> NfOrdElem

Reduces the coefficient vector of modulo and returns the corresponding element. The coefficient vector of the result will have entries with .

powermod(a::NfOrdElem, i::fmpz, m::Integer) -> NfOrdElem

Returns the element modulo .

### Miscallenous

representation_mat(a::NfOrdElem) -> fmpz_mat

Returns the representation matrix of the element .

representation_mat(a::NfOrdElem, K::AnticNumberField) -> FakeFmpqMat

Returns the representation matrix of the element considered as an element of the ambient number field . It is assumed that is the ambient number field of the order of .

trace(a::NfOrdElem) -> fmpz

Returns the trace of .

norm(a::NfOrdElem) -> fmpz

Returns the norm of .

rand(O::NfOrd, n::Union{Integer, fmpz}) -> NfOrdElem

Computes a coefficient vector with entries uniformly distributed in and returns the corresponding element of the order .

minkowski_map(a::NfOrdElem, abs_tol::Int) -> Array{arb, 1}

Returns the image of under the Minkowski embedding. Every entry of the array returned is of type

`arb`

with radius less then`2^-abs_tol`

.

conjugates_arb(x::NfOrdElem, abs_tol::Int) -> Array{acb, 1}

Compute the the conjugates of

`x`

as elements of type`acb`

. Recall that we order the complex conjugates such that for .Every entry

`y`

of the array returned satisfies`radius(real(y)) < 2^-abs_tol`

,`radius(imag(y)) < 2^-abs_tol`

respectively.

conjugates_arb_log(x::NfOrdElem, abs_tol::Int) -> Array{arb, 1}

Returns the elements as elements of type

`arb`

radius less then`2^-abs_tol`

.

t2(x::NfOrdElem, abs_tol::Int = 32) -> arb

Return the -norm of . The radius of the result will be less than

`2^-abs_tol`

.

## Ideals

### Creation

ideal(O::NfOrd, a::Int) -> NfOrdIdl

Returns the ideal of which is generated by .

ideal(O::NfOrd, a::fmpz) -> NfOrdIdl

Returns the ideal of which is generated by .

ideal(O::NfOrd, x::fmpz_mat, check::Bool = false) -> NfOrdIdl

Creates the ideal of with basis matrix . If check is set, then it is checked whether defines an ideal (expensive).

ideal(O::NfOrd, x::NfOrdElem) -> NfOrdIdl

Creates the principal ideal of .

ring_of_multipliers(I::NfOrdIdl) -> NfOrd

Computes the order , which is the set of all with .

*(O::NfOrd, x::NfOrdElem) -> NfOrdIdl *(x::NfOrdElem, O::NfOrd) -> NfOrdIdl

Returns the principal ideal of .

### Arithmetic

==(x::NfOrdIdl, y::NfOrdIdl)

Returns whether and are equal.

+(x::NfOrdIdl, y::NfOrdIdl)

Returns .

*(x::NfOrdIdl, y::NfOrdIdl)

Returns .

intersection(x::NfOrdIdl, y::NfOrdIdl) -> NfOrdIdl lcm(x::NfOrdIdl, y::NfOrdIdl) -> NfOrdIdl

Returns .

### Miscaellenous

parent(I::NfOrdIdl) -> NfOrd

Returns the order of .

basis(A::NfOrdIdl) -> Array{NfOrdElem, 1}

Returns the basis of A.

basis_mat(A::NfOrdIdl) -> fmpz_mat

Returns the basis matrix of .

basis_mat_inv(A::NfOrdIdl) -> fmpz_mat

Returns the inverse basis matrix of .

minimum(A::NfOrdIdl) -> fmpz

Returns the smallest nonnegative element in .

norm(A::NfOrdIdl) -> fmpz

Returns the norm of , that is, the cardinality of , where is the order of .

in(x::NfOrdElem, y::NfOrdIdl) in(x::nf_elem, y::NfOrdIdl) in(x::fmpz, y::NfOrdIdl)

Returns whether is contained in .

idempotents(x::NfOrdIdl, y::NfOrdIdl) -> NfOrdElem, NfOrdElem

Returns a tuple

`(e, f)`

consisting of elements`e in x`

,`f in y`

such that`1 = e + f`

.If the ideals are not coprime, an error is raised.

mod(x::NfOrdElem, I::NfOrdIdl)

Returns the unique element of the ambient order of with and the following property: If are the diagonal entries of the unique HNF basis matrix of and is the coefficient vector of , then for .

pradical(O::NfOrd, p::fmpz) -> NfOrdIdl

Given a prime number , this function returns the -radical of , which is just . It is not checked that is prime.

## Fractional ideals

### Creation

frac_ideal(::NfOrd, ::fmpz_mat) frac_ideal(::NfOrd, ::fmpz_mat, ::fmpz) frac_ideal(::NfOrd, ::FakeFmpqMat) frac_ideal(::NfOrd, ::NfOrdIdl) frac_ideal(::NfOrd, ::NfOrdIdl, ::fmpz) frac_ideal(::NfOrd, ::nf_elem) frac_ideal(::NfOrd, ::NfOrdElem)

### Arithmetic

==(x::NfOrdFracIdl, y::NfOrdFracIdl) -> Bool

Returns whether and are equal.

### Miscaellenous

order(::NfOrdFracIdl) basis_mat(::NfOrdFracIdl) basis_mat_inv(::NfOrdFracIdl) basis(::NfOrdFracIdl) norm(::NfOrdFracIdl)