Elements
Elements in orders have two representations: they can be viewed as elements in the
Creation
Elements are constructed either as linear combinations of basis elements or via explicit coercion. Elements will be of type AbsNumFieldOrderElem
, the type if actually parametrized by the type of the surrounding field and the type of the field elements. E.g. the type of any element in any order of an absolute simple field will be AbsSimpleNumFieldOrderElem
AbsNumFieldOrder Type
(O::NumFieldOrder)(a::NumFieldElem, check::Bool = true) -> NumFieldOrderElem
Given an element check
is true
.
(O::NumFieldOrder)(a::NumFieldOrderElem, check::Bool = true) -> NumFieldOrderElem
Given an element check
is true
.
(O::NumFieldOrder)(a::IntegerUnion) -> NumFieldOrderElem
Given an element ZZRingElem
or Integer
, this function coerces the element into
(O::AbsNumFieldOrder)(arr::Vector{ZZRingElem})
Returns the element of arr
.
(O::AbsNumFieldOrder)(arr::Vector{Integer})
Returns the element of arr
.
Basic properties
parent Method
parent(a::NumFieldOrderElem) -> NumFieldOrder
Returns the order of which
elem_in_nf Method
elem_in_nf(a::NumFieldOrderElem) -> NumFieldElem
Returns the element
coordinates Method
coordinates(a::AbsNumFieldOrderElem) -> Vector{ZZRingElem}
Returns the coefficient vector of
discriminant Method
discriminant(B::Vector{NumFieldOrderElem})
Returns the discriminant of the family
discriminant(E::EllipticCurve) -> FieldElem
Return the discriminant of
discriminant(C::HypellCrv{T}) -> T
Compute the discriminant of
discriminant(O::AlgssRelOrd)
Returns the discriminant of
Arithmetic
All the usual arithmetic operatinos are defined:
-(::NUmFieldOrdElem)
+(::NumFieldOrderElem, ::NumFieldOrderElem)
-(::NumFieldOrderElem, ::NumFieldOrderElem)
*(::NumFieldOrderElem, ::NumFieldOrderElem)
^(::NumFieldOrderElem, ::Int)
mod(::AbsNumFieldOrderElem, ::Int)
mod_sym(::NumFieldOrderElem, ::ZZRingElem)
powermod(::AbsNumFieldOrderElem, ::ZZRingElem, ::Int)
Miscellaneous
representation_matrix Method
representation_matrix(a::AbsNumFieldOrderElem) -> ZZMatrix
Returns the representation matrix of the element
representation_matrix Method
representation_matrix(a::AbsNumFieldOrderElem, K::AbsSimpleNumField) -> FakeFmpqMat
Returns the representation matrix of the element
absolute_norm Method
absolute_norm(a::NumFieldOrderElem) -> ZZRingElem
Return the absolute norm as an integer.
absolute_tr Method
absolute_tr(a::NumFieldOrderElem) -> ZZRingElem
Return the absolute trace as an integer.
rand Method
rand(O::AbsSimpleNumFieldOrder, n::IntegerUnion) -> AbsNumFieldOrderElem
Computes a coefficient vector with entries uniformly distributed in
minkowski_map Method
minkowski_map(a::NumFieldOrderElem, abs_tol::Int) -> Vector{ArbFieldElem}
Returns the image of ArbFieldElem
with radius less then 2^-abs_tol
.
conjugates_arb Method
conjugates_arb(x::NumFieldOrderElem, abs_tol::Int) -> Vector{AcbFieldElem}
Compute the conjugates of AcbFieldElem
. Recall that we order the complex conjugates
Every entry radius(real(y)) < 2^-abs_tol
, radius(imag(y)) < 2^-abs_tol
respectively.
conjugates_arb_log Method
conjugates_arb_log(x::NumFieldOrderElem, abs_tol::Int) -> Vector{ArbFieldElem}
Returns the elements ArbFieldElem
radius less then 2^-abs_tol
.
t2 Method
t2(x::NumFieldOrderElem, abs_tol::Int = 32) -> ArbFieldElem
Return the 2^-abs_tol
.
charpoly Method
charpoly(a::AbsNumFieldOrderElem) -> ZZPolyRingElem
charpoly(a::AbsNumFieldOrderElem, ZZ) -> ZZPolyRingElem
The characteristic polynomial of
factor Method
factor(a::AbsSimpleNumFieldOrderElem) -> Fac{AbsSimpleNumFieldOrderElem}
Computes a factorization of fac
, which satisfies a = unit(fac) * prod(p^e for (p, e) in fac)
.
The function requires that
denominator Method
denominator(a::NumFieldElem, O::AbsSimpleNumFieldOrder) -> ZZRingElem
Returns the smallest positive integer
discriminant Method
discriminant(B::Vector{NumFieldOrderElem})
Returns the discriminant of the family
discriminant(E::EllipticCurve) -> FieldElem
Return the discriminant of
discriminant(C::HypellCrv{T}) -> T
Compute the discriminant of
discriminant(O::AlgssRelOrd)
Returns the discriminant of