Fractional ideals
A fractional ideal in the number field $K$ is a $Z_K$-module $A$ such that there exists an integer $d>0$ which $dA$ is an (integral) ideal in $Z_K$. Due to the Dedekind property of $Z_K$, the ideals for a multiplicative group.
Fractional ideals are represented as an integral ideal and an additional denominator. They are of type AbsSimpleNumFieldOrderFractionalIdeal.
Creation
fractional_ideal — Methodfractional_ideal(O::AbsNumFieldOrder, M::ZZMatrix, b::ZZRingElem; M_in_hnf::Bool = false) -> AbsNumFieldOrderFractionalIdealCreates the fractional ideal of $\mathcal O$ with basis matrix $M/b$. If M_in_hnf is set, then it is assumed that $A$ is already in lower left HNF.
fractional_ideal — Methodfractional_ideal(O::AbsNumFieldOrder, M::ZZMatrix, b::ZZRingElem; M_in_hnf::Bool = false) -> AbsNumFieldOrderFractionalIdealCreates the fractional ideal of $\mathcal O$ with basis matrix $M/b$. If M_in_hnf is set, then it is assumed that $A$ is already in lower left HNF.
fractional_ideal — Methodfractional_ideal(O::AbsNumFieldOrder, M::QQMatrix) -> AbsNumFieldOrderFractionalIdealCreates the fractional ideal of $\mathcal O$ generated by the elements corresponding to the rows of $M$.
fractional_ideal — Methodfractional_ideal(O::AbsSimpleNumFieldOrder, I::AbsNumFieldOrderIdeal) -> AbsSimpleNumFieldOrderFractionalIdealThe fractional ideal of $O$ generated by a $Z$-basis of $I$.
fractional_ideal(O::AbsNumFieldOrder, I::AbsNumFieldOrderIdeal) -> AbsNumFieldOrderFractionalIdealTurns the ideal $I$ into a fractional ideal of $\mathcal O$.
fractional_ideal — Methodfractional_ideal(O::AbsNumFieldOrder, I::AbsNumFieldOrderIdeal, b::ZZRingElem) -> AbsNumFieldOrderFractionalIdealCreates the fractional ideal $I/b$ of $\mathcal O$.
fractional_ideal — Methodfractional_ideal(O::AbsNumFieldOrder, a::RingElement) -> AbsNumFieldOrderFractionalIdealCreates the principal fractional ideal $(a)$ of $\mathcal O$.
fractional_ideal — Methodfractional_ideal(O::AbsNumFieldOrder, a::RingElement) -> AbsNumFieldOrderFractionalIdealCreates the principal fractional ideal $(a)$ of $\mathcal O$.
inv — Methodinv(A::AbsNumFieldOrderIdeal) -> AbsSimpleNumFieldOrderFractionalIdealComputes the inverse of $A$, that is, the fractional ideal $B$ such that $AB = \mathcal O_K$.
inv(a::LocalizedEuclideanRingElem{T}, checked::Bool = true) where {T <: RingElem}Returns the inverse element of $a$ if $a$ is a unit. If 'checked = false' the invertibility of $a$ is not checked and the corresponding inverse element of the Fraction Field is returned.
Arithmetic
All the normal operations are provided as well.
inv — Methodinv(A::AbsNumFieldOrderFractionalIdeal) -> AbsNumFieldOrderFractionalIdealReturns the fractional ideal $B$ such that $AB = \mathcal O$.
inv(a::LocalizedEuclideanRingElem{T}, checked::Bool = true) where {T <: RingElem}Returns the inverse element of $a$ if $a$ is a unit. If 'checked = false' the invertibility of $a$ is not checked and the corresponding inverse element of the Fraction Field is returned.
integral_split — Methodintegral_split(A::AbsNumFieldOrderFractionalIdeal) -> AbsNumFieldOrderIdeal, AbsNumFieldOrderIdealComputes the unique coprime integral ideals $N$ and $D$ s.th. $A = ND^{-1}$
numerator — Methodnumerator(a::RelNumFieldOrderFractionalIdeal) -> RelNumFieldOrderIdealReturns the ideal $d*a$ where $d$ is the denominator of $a$.
denominator — Methoddenominator(a::RelNumFieldOrderFractionalIdeal) -> ZZRingElemReturns the smallest positive integer $d$ such that $da$ is contained in the order of $a$.
Miscellaneous
order — Methodorder(::Type{T} = BigInt, G::Group) where TReturn the order of $G$ as an instance of T. If $G$ is of infinite order, an InfiniteOrderError exception will be thrown. Use is_finite(G) to avoid this kind of exception. If the order does not fit into type T, an InexactError exception will be thrown.
order(::Type{T} = BigInt, g::GroupElem) where TReturn the order of $g$ as an instance of T. If $g$ is of infinite order, an InfiniteOrderError exception will be thrown. Use is_finite_order(G) to avoid this kind of exception. If the order does not fit into type T, an InexactError exception will be thrown.
order(K::AbsSimpleNumField, A::ZZMatrix, check::Bool = true) -> AbsSimpleNumFieldOrderReturns the order which has basis matrix $A$ with respect to the power basis of $K$. If check is set, it is checked whether $A$ defines an order.
order(a::AbsNumFieldOrderFractionalIdeal) -> AbsNumFieldOrderThe order that was used to define the ideal $a$.
order(A::AbstractAssociativeAlgebra{<: NumFieldElem}, M::PMat{<: NumFieldElem, T})
-> AlgAssRelOrdReturns the order of $A$ with basis pseudo-matrix $M$.
order(::Type{T} = ZZRingElem, c::CycleType) where T <: IntegerUnionReturn the order of the permutations with cycle structure c.
Examples
julia> g = symmetric_group(3);
julia> all(x -> order(cycle_structure(x)) == order(x), gens(g))
trueorder(W::WeylGroup) -> ZZRingELem
order(::Type{T}, W::WeylGroup) where {T} -> TReturn the order of W.
If W is infinite, an InfiniteOrderError exception will be thrown. Use is_finite(::WeylGroup) to check this prior to calling this function if in doubt.
order(x::WeylGroupElem) -> ZZRingELem
order(::Type{T}, x::WeylGroupElem) where {T} -> TReturn the order of x, i.e. the smallest natural number n such that is_one(x^n).
If x is of infinite order, an InfiniteOrderError exception will be thrown. Use is_finite_order(::WeylGroupElem) to check this prior to calling this function if in doubt.
basis_matrix — Methodbasis_matrix(I::AbsNumFieldOrderFractionalIdeal) -> FakeFmpqMatReturns the basis matrix of $I$ with respect to the basis of the order.
basis_mat_inv — Methodbasis_mat_inv(A::GenOrdIdl) -> FakeFracFldMatReturn the inverse of the basis matrix of $A$.
basis — Methodbasis(I::AbsNumFieldOrderFractionalIdeal) -> Vector{AbsSimpleNumFieldElem}Returns the $\mathbf Z$-basis of $I$.
norm — Methodnorm(I::AbsNumFieldOrderFractionalIdeal) -> QQFieldElemReturns the norm of $I$.
norm(a::RelNumFieldOrderIdeal) -> AbsNumFieldOrderIdeal{AbsSimpleNumField, AbsSimpleNumFieldElem}Returns the norm of $a$.
norm(a::RelNumFieldOrderFractionalIdeal{T, S}) -> SReturns the norm of $a$.
norm(a::AlgAssAbsOrdIdl, O::AlgAssAbsOrd; copy::Bool = true) -> QQFieldElemReturns the norm of $a$ considered as an (possibly fractional) ideal of $O$.
norm(a::AlgAssRelOrdIdl{S, T, U}, O::AlgAssRelOrd{S, T, U}; copy::Bool = true)
where { S, T, U } -> TReturns the norm of $a$ considered as an (possibly fractional) ideal of $O$.