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)