Fractional ideals
A fractional ideal in the number field $K$ is a $Z_K$-module $A$ such that there exists an integer $d>0$ wich $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 NfOrdFracIdl
.
Creation
Hecke.frac_ideal
— Method.frac_ideal(O::NfOrd, A::fmpz_mat, b::fmpz, A_in_hnf::Bool = false) -> NfOrdFracIdl
Creates the fractional ideal of $\mathcal O$ with basis matrix $A/b$. If Ainhnf is set, then it is assumed that $A$ is already in lower left HNF.
Hecke.frac_ideal
— Method.frac_ideal(O::NfOrd, A::fmpz_mat, b::fmpz, A_in_hnf::Bool = false) -> NfOrdFracIdl
Creates the fractional ideal of $\mathcal O$ with basis matrix $A/b$. If Ainhnf is set, then it is assumed that $A$ is already in lower left HNF.
Hecke.frac_ideal
— Method.frac_ideal(O::NfOrd, A::FakeFmpqMat, A_in_hnf::Bool = false) -> NfOrdFracIdl
Creates the fractional ideal of $\mathcal O$ with basis matrix $A$. If Ainhnf is set, then it is assumed that the numerator of $A$ is already in lower left HNF.
Hecke.frac_ideal
— Method.frac_ideal(O::NfOrd, I::NfOrdIdl) -> NfOrdFracIdl
Turns the ideal $I$ into a fractional ideal of $\mathcal O$.
Hecke.frac_ideal
— Method.frac_ideal(O::NfOrd, I::NfOrdIdl, b::fmpz) -> NfOrdFracIdl
Creates the fractional ideal $I/b$ of $\mathcal O$.
Hecke.frac_ideal
— Method.frac_ideal(O::NfOrd, a::nf_elem) -> NfOrdFracIdl
Creates the principal fractional ideal $(a)$ of $\mathcal O$.
Hecke.frac_ideal
— Method.frac_ideal(O::NfOrd, a::NfOrdElem) -> NfOrdFracIdl
Creates the principal fractional ideal $(a)$ of $\mathcal O$.
Base.inv
— Method.inv(A::NfAbsOrdIdl) -> NfOrdFracIdl
Computes the inverse of A, that is, the fractional ideal $B$ such that $AB = \mathcal O_K$.
inv(a::NfRelOrdIdl) -> NfRelOrdFracIdl
inv(a::NfRelOrdFracIdl) -> NfRelOrdFracIdl
Computes the inverse of $a$, that is, the fractional ideal $b$ such that $ab = O$, where $O$ is the ambient order of $a$. $O$ must be maximal.
Arithmetic
Base.:==
— Method.==(x::NfOrdFracIdl, y::NfOrdFracIdl) -> Bool
Returns whether $x$ and $y$ are equal.
Base.inv
— Method.inv(A::NfOrdFracIdl) -> NfOrdFracIdl
Returns the fractional ideal $B$ such that $AB = \mathcal O$.
Hecke.integral_split
— Method.integral_split(A::NfOrdFracIdl) -> NfOrdIdl, NfOrdIdl
Computes the unique coprime integral ideals $N$ and $D$ s.th. $A = ND^{-1}$
Miscaellenous
AbstractAlgebra.Generic.order
— Method.order(a::NfOrdFracIdl) -> NfOrd
The order that was used to define the ideal $a$.
Hecke.basis_mat
— Method.basis_mat(I::NfOrdFracIdl) -> FakeFmpqMat
Returns the basis matrix of $I$ with respect to the basis of the order.
Hecke.basis_mat_inv
— Method.basis_mat_inv(I::NfOrdFracIdl) -> FakeFmpqMat
Returns the inverse of the basis matrix of $I$.
Hecke.basis
— Method.basis(I::NfOrdFracIdl) -> Array{nf_elem, 1}
Returns the $\mathbf Z$-basis of $I$.
LinearAlgebra.norm
— Method.norm(I::NfOrdFracIdl) -> fmpq
Returns the norm of $I$