# 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_idealMethod
fractional_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.

source
fractional_idealMethod
fractional_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.

source
fractional_idealMethod
fractional_ideal(O::AbsNumFieldOrder, M::QQMatrix) -> AbsNumFieldOrderFractionalIdeal

Creates the fractional ideal of $\mathcal O$ generated by the elements corresponding to the rows of $M$.

source
fractional_idealMethod
fractional_ideal(O::AbsSimpleNumFieldOrder, I::AbsNumFieldOrderIdeal) -> AbsSimpleNumFieldOrderFractionalIdeal

The fractional ideal of $O$ generated by a $Z$-basis of $I$.

source
fractional_ideal(O::AbsNumFieldOrder, I::AbsNumFieldOrderIdeal) -> AbsNumFieldOrderFractionalIdeal

Turns the ideal $I$ into a fractional ideal of $\mathcal O$.

source
fractional_idealMethod
fractional_ideal(O::AbsNumFieldOrder, I::AbsNumFieldOrderIdeal, b::ZZRingElem) -> AbsNumFieldOrderFractionalIdeal

Creates the fractional ideal $I/b$ of $\mathcal O$.

source
fractional_idealMethod
fractional_ideal(O::AbsNumFieldOrder, a::AbsSimpleNumFieldElem) -> AbsNumFieldOrderFractionalIdeal

Creates the principal fractional ideal $(a)$ of $\mathcal O$.

source
fractional_idealMethod
fractional_ideal(O::AbsNumFieldOrder, a::AbsNumFieldOrderElem) -> AbsNumFieldOrderFractionalIdeal

Creates the principal fractional ideal $(a)$ of $\mathcal O$.

source
invMethod
inv(A::AbsNumFieldOrderIdeal) -> AbsSimpleNumFieldOrderFractionalIdeal

Computes the inverse of $A$, that is, the fractional ideal $B$ such that $AB = \mathcal O_K$.

source
 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.

source

## Arithmetic

All the normal operations are provided as well.

invMethod
inv(A::AbsNumFieldOrderFractionalIdeal) -> AbsNumFieldOrderFractionalIdeal

Returns the fractional ideal $B$ such that $AB = \mathcal O$.

source
 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.

source
integral_splitMethod
integral_split(A::AbsNumFieldOrderFractionalIdeal) -> AbsNumFieldOrderIdeal, AbsNumFieldOrderIdeal

Computes the unique coprime integral ideals $N$ and $D$ s.th. $A = ND^{-1}$

source
numeratorMethod
numerator(a::RelNumFieldOrderFractionalIdeal) -> RelNumFieldOrderIdeal

Returns the ideal $d*a$ where $d$ is the denominator of $a$.

source
denominatorMethod
denominator(a::RelNumFieldOrderFractionalIdeal) -> ZZRingElem

Returns the smallest positive integer $d$ such that $da$ is contained in the order of $a$.

source

## Miscaellenous

orderMethod
order(::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.

source
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.

source
order(a::AbsNumFieldOrderFractionalIdeal) -> AbsNumFieldOrder

The order that was used to define the ideal $a$.

source
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
source
order(::Type{T}, W::WeylGroup) where {T} -> T

Returns the order of W.

Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source
basis_matrixMethod
basis_matrix(I::AbsNumFieldOrderFractionalIdeal) -> FakeFmpqMat

Returns the basis matrix of $I$ with respect to the basis of the order.

source
basisMethod
basis(I::AbsNumFieldOrderFractionalIdeal) -> Vector{AbsSimpleNumFieldElem}

Returns the $\mathbf Z$-basis of $I$.

source
normMethod
norm(I::AbsNumFieldOrderFractionalIdeal) -> QQFieldElem

Returns the norm of $I$.

source
norm(a::RelNumFieldOrderIdeal) -> AbsNumFieldOrderIdeal{AbsSimpleNumField, AbsSimpleNumFieldElem}

Returns the norm of $a$.

source
norm(a::RelNumFieldOrderFractionalIdeal{T, S}) -> S

Returns the norm of $a$.

source
norm(a::AlgAssAbsOrdIdl, O::AlgAssAbsOrd; copy::Bool = true) -> QQFieldElem

Returns the norm of $a$ considered as an (possibly fractional) ideal of $O$.

source
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$.

source