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) -> AbsNumFieldOrderFractionalIdeal
Creates 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) -> AbsNumFieldOrderFractionalIdeal
Creates 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) -> AbsNumFieldOrderFractionalIdeal
Creates the fractional ideal of $\mathcal O$ generated by the elements corresponding to the rows of $M$.
fractional_ideal
— Methodfractional_ideal(O::AbsSimpleNumFieldOrder, I::AbsNumFieldOrderIdeal) -> AbsSimpleNumFieldOrderFractionalIdeal
The fractional ideal of $O$ generated by a $Z$-basis of $I$.
fractional_ideal(O::AbsNumFieldOrder, I::AbsNumFieldOrderIdeal) -> AbsNumFieldOrderFractionalIdeal
Turns the ideal $I$ into a fractional ideal of $\mathcal O$.
fractional_ideal
— Methodfractional_ideal(O::AbsNumFieldOrder, I::AbsNumFieldOrderIdeal, b::ZZRingElem) -> AbsNumFieldOrderFractionalIdeal
Creates the fractional ideal $I/b$ of $\mathcal O$.
fractional_ideal
— Methodfractional_ideal(O::AbsNumFieldOrder, a::AbsSimpleNumFieldElem) -> AbsNumFieldOrderFractionalIdeal
Creates the principal fractional ideal $(a)$ of $\mathcal O$.
fractional_ideal
— Methodfractional_ideal(O::AbsNumFieldOrder, a::AbsNumFieldOrderElem) -> AbsNumFieldOrderFractionalIdeal
Creates the principal fractional ideal $(a)$ of $\mathcal O$.
inv
— Methodinv(A::AbsNumFieldOrderIdeal) -> AbsSimpleNumFieldOrderFractionalIdeal
Computes 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) -> AbsNumFieldOrderFractionalIdeal
Returns 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, AbsNumFieldOrderIdeal
Computes the unique coprime integral ideals $N$ and $D$ s.th. $A = ND^{-1}$
numerator
— Methodnumerator(a::RelNumFieldOrderFractionalIdeal) -> RelNumFieldOrderIdeal
Returns the ideal $d*a$ where $d$ is the denominator of $a$.
denominator
— Methoddenominator(a::RelNumFieldOrderFractionalIdeal) -> ZZRingElem
Returns the smallest positive integer $d$ such that $da$ is contained in the order of $a$.
Miscaellenous
order
— Methodorder(::Type{T} = BigInt, G::Group) where T
Return 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 T
Return 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(a::AbsNumFieldOrderFractionalIdeal) -> AbsNumFieldOrder
The order that was used to define the ideal $a$.
order(::Type{T} = ZZRingElem, c::CycleType) where T <: IntegerUnion
Return 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))
true
order(W::WeylGroup) -> ZZRingELem
order(::Type{T}, W::WeylGroup) where {T} -> T
Return the order of W
.
If W
is infinite, an InfiniteOrderError
exception will be thrown.
basis_matrix
— Methodbasis_matrix(I::AbsNumFieldOrderFractionalIdeal) -> FakeFmpqMat
Returns the basis matrix of $I$ with respect to the basis of the order.
basis_mat_inv
— Methodbasis_mat_inv(A::GenOrdIdl) -> FakeFracFldMat
Return 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) -> QQFieldElem
Returns the norm of $I$.
norm(a::RelNumFieldOrderIdeal) -> AbsNumFieldOrderIdeal{AbsSimpleNumField, AbsSimpleNumFieldElem}
Returns the norm of $a$.
norm(a::RelNumFieldOrderFractionalIdeal{T, S}) -> S
Returns the norm of $a$.
norm(a::AlgAssAbsOrdIdl, O::AlgAssAbsOrd; copy::Bool = true) -> QQFieldElem
Returns 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 } -> T
Returns the norm of $a$ considered as an (possibly fractional) ideal of $O$.