[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Ideals

Ideals for function field orders O are O-modules I subseteq F for which there is a d in F such that dI subseteq O is a non-zero ideal of O, that is they are fractional ideals of O. Over the coefficient ring of O they are also free modules of rank n, where n equals the degree [F:k(x, alpha_1, ..., alpha_r)].

Subsections

Creation of Ideals

ideal< O | a_1, a_2, ... , a_m > : RngFunOrd, RngElt, ..., RngElt -> RngFunOrdIdl
Given an order O, as well as elements a_1, a_2, ..., a_m coercible into the field of fractions F of O, create the fractional ideal of O generated by these elements.

Note that, contrary to the general case for the constructors, the right hand side elements are not necessarily contained in the left hand side.

ideal< O | T, d > : RngFunOrd, AlgMatElt, RngElt -> RngFunOrdIdl
ideal< O | T, d > : RngFunOrd, ModDed, RngElt -> RngFunOrdIdl
The ideal of the order O of an algebraic function field whose basis is the matrix or dedekind module T over the coefficient ring of O divided by the element d of the denominator ring of O.
ideal< O | T, S > : RngFunOrd, AlgMatElt, [RngFunOrdIdl] -> RngFunOrdIdl
ideal< O | T, I_1, ..., I_n > : RngFunOrd, AlgMatElt, RngFunOrdIdl, ..., RngFunOrdIdl -> RngFunOrdIdl
The ideal of the order O of an algebraic function field whose basis if the matrix T over the coefficient ring of O along with the coefficient ideals I_1, ..., I_n or those in S.
x * O : RngElt, RngFunOrd -> RngFunOrdIdl
O * x : RngFunOrd, RngElt -> RngFunOrdIdl
Create the ideal x * O where x is coercible into the function field F.
Ideal(P) : PlcFunElt -> RngFunOrdIdl
Create a prime ideal corresponding to the place P.
Ideals(D) : DivFunElt -> RngFunOrdIdl, RngFunOrdIdl
Create two ideals of the `finite' and `infinite' maximal order respectively corresponding to the divisor D.
O !! I : RngFunOrd, RngFunOrdIdl -> RngFunOrdIdl
Return the ideal I as an ideal of O.

Parent and Category

Parent(I) : RngFunOrdIdl -> PowIdl
Category(I) : RngFunOrdIdl -> Cat

Arithmetic Operators

I + J : RngFunOrdIdl, RngFunOrdIdl -> RngFunOrdIdl
I * J : RngFunOrdIdl, RngFunOrdIdl -> RngFunOrdIdl
I / J : RngFunOrdIdl, RngFunOrdIdl -> RngFunOrdIdl
I ^ k : RngFunOrdIdl, RngIntElt -> RngFunOrdIdl
J is required to be invertible. I is required to be invertible for negative k.

c * I : RngElt, RngFunOrdIdl -> RngFunOrdIdl
I * c : RngFunOrdIdl, RngElt -> RngFunOrdIdl
I / c : RngFunOrdIdl, RngElt -> RngFunOrdIdl

c / I : RngElt, RngFunOrdIdl -> RngFunOrdIdl
The principal ideal generated by c divided by I.
ColonIdeal(I, J) : RngFunOrdIdl, RngFunOrdIdl -> RngFunOrdIdl
The colon ideal [I:J] of elements which multiply all elements of J into I.

Roots of Ideals

IsPower(I, n) : RngFunOrdIdl, RngIntElt -> BoolElt, RngFunOrdIdl
Return whether the ideal I has an nth root and if so return an nth root.
Root(I, n) : RngFunOrdIdl, RngIntElt -> RngFunOrdIdl
Return the nth root of the ideal I.
IsSquare(I) : RngFunOrdIdl -> BoolElt, RngFunOrdIdl
Return whether the ideal I is a square and if so return a square root.
SquareRoot(I) : RngFunOrdIdl -> RngFunOrdIdl
Sqrt(I) : RngFunOrdIdl -> RngFunOrdIdl
Return a square root of the ideal I.

Example FldFunG_ideal-is-square (H57E24)

A simple creation of an ideal and the use of IsSquare is shown below.

> P<x> := PolynomialRing(GF(79));
> P<y> := PolynomialRing(P);
> Fa<a> := FunctionField(y^2 - x);
> P<y> := PolynomialRing(Fa);
> Fb<b> := FunctionField(y^2 - a);
> P<y> := PolynomialRing(Fb);
> Fc<c> := FunctionField(y^2 + a*b);
> I := a*b*c*MaximalOrderInfinite(Fc);
> IsSquare(I^2);
true Fractional ideal of Maximal Order of Fc over Maximal Order of Fb over 
Maximal Equation Order of Fa over Valuation ring of Univariate rational function
field over GF(79) with generator 1/x
Basis:
Pseudo-matrix over Maximal Order of Fb over Maximal Equation Order of Fa over 
Valuation ring of Univariate rational function field over GF(79) with generator 
1/x
Fractional ideal of Maximal Order of Fb over Maximal Equation Order of Fa over 
Valuation ring of Univariate rational function field over GF(79) with generator 
1/x
Generators:
1
((78*x^2 + 71*x + 78)/x^2*a + (23*x^2 + 15*x + 78)/x^2)*b + (67*x^2 + 60*x + 
    78)/x^2*a + (3*x^2 + 47*x + 78)/x * ( 1 0 ) 
Fractional ideal of Maximal Order of Fb over Maximal Equation Order of Fa over 
Valuation ring of Univariate rational function field over GF(79) with generator 
1/x
Generators:
1
((59*x^2 + 44*x + 78)/x^2*a + (4*x^2 + 48*x + 78)/x^2)*b + (29*x^2 + 46*x + 
    78)/x^2*a + (71*x + 78)/x * ( 0 1 ) 
> _, II := 1; 
> II eq I;
true
> MaximalOrderFinite(Fc)!!I;
Ideal of Maximal Order of Fc over Maximal Equation Order of Fb over Maximal 
Equation Order of Fa over Univariate Polynomial Ring in x over GF(79)
Generators:
a * b * c
a * b * c
1; > II eq I; true > MaximalOrderFinite(Fc)!!I; Ideal of Maximal Order of Fc over Maximal Equation Order of Fb over Maximal Equation Order of Fa over Univariate Polynomial Ring in x over GF(79) Generators: a*b*c a*b*c

Equality and Membership

I eq J : RngFunOrdIdl, RngFunOrdIdl -> BoolElt
I ne J : RngFunOrdIdl, RngFunOrdIdl -> BoolElt
I in S: RngFunOrdIdl, PowIdl -> BoolElt
I notin S: RngFunOrdIdl, PowIdl -> BoolElt

Predicates on Ideals

IsZero(I) : RngFunOrdIdl -> BoolElt
Returns true if and only if the ideal I is the zero ideal of the order O.
IsOne(I) : RngFunOrdIdl -> BoolElt
Returns true if and only if the ideal I is the identity ideal of the order O, i.e. I = O.
IsIntegral(I) : RngFunOrdIdl -> BoolElt
Returns true if and only if the ideal I is integral (a true ideal of its order).
IsPrime(I) : RngFunOrdIdl -> BoolElt
Returns true if and only if the ideal I is prime (the order of the ideal must be maximal).
IsPrincipal(I) : RngFunOrdIdl -> BoolElt, FldFunElt
Returns true and a generator if the fractional ideal I is principal, false otherwise. The function field has to be global.
Predicates on Prime Ideals
IsInert(P) : RngFunOrdIdl -> BoolElt
Return true if the inertia degree of P is the degree of its order.
IsInert(P, O) : RngFunOrdIdl, RngFunOrd -> BoolElt
IsInert(P, O) : RngElt, RngFunOrd -> BoolElt
Return true if there is an inert ideal in O above P.
IsRamified(P) : RngFunOrdIdl -> BoolElt
Return true if the ramification index of P is not 1.
IsRamified(P, O) : RngFunOrdIdl, RngFunOrd -> BoolElt
IsRamified(P, O) : RngElt, RngFunOrd -> BoolElt
Return true if there is a ramified ideal in O above P.
IsSplit(P) : RngFunOrdIdl -> BoolElt
Return true if P is not the only ideal lying above the prime ideal it lies above.
IsSplit(P, O) : RngFunOrdIdl, RngFunOrd -> BoolElt
IsSplit(P, O) : RngElt, RngFunOrd -> BoolElt
Return true if there are at least 2 distinct ideals which lie in O above P.
IsTamelyRamified(P) : RngFunOrdIdl -> BoolElt
Return whether P is not wildly ramified.
IsTamelyRamified(P, O) : RngFunOrdIdl, RngFunOrd -> BoolElt
IsTamelyRamified(P, O) : RngElt, RngFunOrd -> BoolElt
Return whether P is not wildly ramified in O.
IsTotallyRamified(P) : RngFunOrdIdl -> BoolElt
Return whether the ramification index of P is the same as the degree of its order over its coefficient order.
IsTotallyRamified(P, O) : RngFunOrdIdl, RngFunOrd -> BoolElt
IsTotallyRamified(P, O) : RngElt, RngFunOrd -> BoolElt
Return whether there are any totally ramified ideals in O lying above P.
IsTotallySplit(P) : RngFunOrdIdl -> BoolElt
Return whether there are as many ideals as the degree of the order of P lying over the prime P lies over.
IsTotallySplit(P, O) : RngFunOrdIdl, RngFunOrd -> BoolElt
IsTotallySplit(P, O) : RngElt, RngFunOrd -> BoolElt
Return whether there are as many ideals of O which lie above P as the degree of O.
IsUnramified(P) : RngFunOrdIdl -> BoolElt
Return whether the ramification index of P is 1.
IsUnramified(P, O) : RngFunOrdIdl, RngFunOrd -> BoolElt
IsUnramified(P, O) : RngElt, RngFunOrd -> BoolElt
Return whether all the ideals of O which lie above P are unramified.
IsWildlyRamified(P) : RngFunOrdIdl -> BoolElt
Return whether the ramfication index of P is a multiple of the characteristic of the residue field of P.
IsWildlyRamified(P, O) : RngFunOrdIdl, RngFunOrd -> BoolElt
IsWildlyRamified(P, O) : RngElt, RngFunOrd -> BoolElt
Return whether any of the ideals of O which lie above P are wildly ramified.

Completion at Ideals

Completion(F, p) : FldFun, RngFunOrdIdl -> RngSerLaur, Map
Completion(O, p) : RngFunOrd, RngFunOrdIdl -> RngSerPow, Map
The completion of the algebraic function field F or an order O of such at the prime ideal p of an order of F or O. The place at the ideal p must have degree 1. The map from F or O into the series ring is returned also.

Further Ideal Operations

I meet J : RngFunOrdIdl, RngFunOrdIdl -> RngFunOrdIdl
The intersection of the ideals I and J.
Gcd(I, J) : RngFunOrdIdl, RngFunOrdIdl -> RngFunOrdIdl
Given invertible ideals of an order O, returns the greatest common divisor of the ideals I and J.
Lcm(I, J) : RngFunOrdIdl, RngFunOrdIdl -> RngFunOrdIdl
Given invertible ideals of an order O, returns the least common multiple of the ideals I and J.
Factorization(I) : RngFunOrdIdl -> [ <RngFunOrdIdl, RngIntElt> ]
Factorisation(I) : RngFunOrdIdl -> [<RngFunOrdIdl, RngIntElt>]
Factorization of the ideal I (as sequence of prime ideal, exponent pairs). The order must be maximal.
Decomposition(O, p) : RngFunOrd, RngElt -> [ RngFunOrdIdl ]
Decomposition(O, p) : RngFunOrd, RngFunOrdIdl -> [ RngFunOrdIdl ]
A sequence containing all prime ideals of the order O lying above the prime element or ideal p of the coefficient ring of O.
Decomposition(O) : RngFunOrd -> [ RngFunOrdIdl ]
A sequence containing all prime ideals of the `infinite' maximal order O.
DecompositionType(O, p) : RngFunOrd, RngElt -> [ <RngIntElt, RngIntElt> ]
DecompositionType(O, p) : RngFunOrd, RngFunOrdIdl -> [ <RngIntElt, RngIntElt> ]
Sequence of tuples of residue degrees and ramification indices of the prime ideals of the order O lying over p, a prime polynomial or ideal or element of valuation ring of valuation 1.
DecompositionType(O) : RngFunOrd -> [ <RngIntElt, RngIntElt> ]
Sequence of tuples of residue degrees and ramification indices of the prime ideals of the `infinite' maximal order O.
MultiplicatorRing(I) : RngFunOrdIdl -> RngFunOrd
Returns the multiplicator ring of the ideal I of the order O, that is, the subring of elements of the field of fractions of O that multiply I into itself.
pMaximalOrder(O, p) : RngFunOrd, RngFunOrdIdl -> RngFunOrd
    Al: MonStgElt                       Default: "Auto"
The p-maximal over order of O where p is a prime ideal of the coefficient ring of O. The parameter Al has the same options as for MaximalOrder.
pRadical(O, p) : RngFunOrd, RngFunOrdIdl -> RngFunOrdIdl
Returns the p-radical of an order O for a prime ideal p of the coefficient ring of O, defined as the ideal consisting of elements of O for which some power lies in the ideal pO.

It is possible to call this function even if p is not prime. In this case the p-trace-radical will be computed, i.e. { x in F | Tr(xO)subseteq C} for F the field of fractions of O and C the order of p (if p is an ideal) or the parent of p otherwise. If p is square free and all divisors are larger than the field degree, this is the intersection of the radicals for all l dividing p.

Valuation(a, P) : RngElt, RngFunOrdIdl -> RngIntElt
Valuation(I, P) : RngFunOrdIdl, RngFunOrdIdl -> RngIntElt
The valuation of a or I at the prime ideal P. The element a must be coercible into the field of fractions of P's order.
Order(I) : RngFunOrdIdl -> RngFunOrd
The order of the ideal I.
Denominator(I) : RngFunOrdIdl -> RngElt
The "smallest" element d of the coefficient ring of the ideal's order O such that dI subseteq O.
Minimum(I) : RngFunOrdIdl -> Any
A generator m of the ideal R intersect dI where R is the coefficient ring of the ideal's order and d is the denominator of the ideal I (d is is the second return value).
I meet R : RngFunOrdIdl, Rng -> Any
The intersection of the ideal I with a coefficient ring R of its order.
IntegralSplit(I) : RngFunOrdIdl -> RngFunOrdIdl, RngElt
The integral ideal dI and d, where d is the denominator of I.
Norm(I) : RngFunOrdIdl -> Any
The norm of the ideal I, as element of the coefficient field of the algebraic function field to which I belongs.
TwoElement(I) : RngFunOrdIdl -> RngElt, RngElt
Given an ideal I with function field F as the field of fractions of its order O, returns two elements a, b in F such that I = aO + bO.
Generators(I) : RngFunOrdIdl -> [ RngFunOrdElt ]
Given a (fractional) ideal I of the order O, return a sequence of elements of the function field F that generate I as an ideal.
Basis(I) : RngFunOrdIdl -> [FldFunElt]
A basis of the ideal I as a free module over the coefficient ring of it's order.
BasisMatrix(I) : RngFunOrdIdl -> AlgMatElt
Let (b_1, ..., b_n) be the basis of I and let (omega_1, ..., omega_n) be the basis of the order O. A matrix B with coefficients in the rational function field is returned such that (b_1, ..., b_n) = (omega_1, ..., omega_n) B^t.
TransformationMatrix(I) : RngFunOrdIdl -> AlgMatElt, RngElt
Let (b_1, ..., b_n) be the basis of I and let (omega_1, ..., omega_n) be the basis of the order O. A matrix T with coefficients in the coefficient ring of O and a denominator d are returned such that (b_1, ..., b_n) = (omega_1, ..., omega_n) T^t / d.
Different(I) : RngFunOrdIdl -> RngFunOrdIdl
The different of the (possibly fractional) ideal I of an order of an algebraic function field.
Divisor(I) : RngFunOrdIdl -> DivFunElt
The divisor corresponding to the ideal factorization of I.
Divisor(I, J) : RngFunOrdIdl, RngFunOrdIdl -> DivFunElt
The divisor corresponding to the ideal factorization of the ideals I and J belonging to the `finite' and `infinite' maximal order.

Example FldFunG_ideals (H57E25)

> PR<x> := FunctionField(Rationals());
> P<y> := PolynomialRing(PR);
> FR1<a> := FunctionField(y^3 - x + 1/x^3);
> P<y> := PolynomialRing(FR1);
> FR2<c> := FunctionField(y^2 - a/x^3*y + 1);
> I := ideal<MaximalOrderFinite(FR2) | 
> [ x^9 + 1639*x^8 + 863249*x^7 + 148609981*x^6 + 404988066*x^5 + 567876948*x^4 + 
> 468363837*x^3 + 242625823*x^2 + 68744019*x + 8052237, x^9 + 1639*x^8 + 
> 863249*x^7 + 148609981*x^6 + 404988066*x^5 + 567876948*x^4 + 468363837*x^3 +
> 242625823*x^2 + 68744019*x + 8052237, (x^15 + 1639*x^14 + 863249*x^13 + 
> 148609981*x^12 + 404988066*x^11 + 567876948*x^10 + 468363837*x^9 + 
> 242625823*x^8 + 68744019*x^7 + 8052237*x^6)*c, (x^15 + 1639*x^14 + 
> 863249*x^13 + 148609981*x^12 + 404988066*x^11 + 567876948*x^10 + 
> 468363837*x^9 + 242625823*x^8 + 68744019*x^7 + 8052237*x^6)*c ]>;
> I;
Ideal of Maximal Order of FR2 over Maximal Order of FR1 over Univariate 
Polynomial Ring in x over Rational Field
Basis:
Pseudo-matrix over Maximal Order of FR1 over Univariate Polynomial Ring in x 
over Rational Field
Ideal of Maximal Order of FR1 over Univariate Polynomial Ring in x over Rational
Field
Generator:
x^9 + 1639*x^8 + 863249*x^7 + 148609981*x^6 + 404988066*x^5 + 567876948*x^4 + 
    468363837*x^3 + 242625823*x^2 + 68744019*x + 8052237 * ( 1 0 ) 
Fractional ideal of Maximal Order of FR1 over Univariate Polynomial Ring in x 
over Rational Field
Generator:
(x^9 + 1639*x^8 + 863249*x^7 + 148609981*x^6 + 404988066*x^5 + 567876948*x^4 + 
    468363837*x^3 + 242625823*x^2 + 68744019*x + 8052237)/x^2 * ( 0 1 ) 
> J := ideal<MaximalOrderFinite(FR2) | 
> [ x^3 + 278*x^2 + 164*x + 742, x^3 + 278*x^2 + 164*x + 742, (x^9 + 278*x^8 + 
> 164*x^7 + 742*x^6)*c, (x^9 + 278*x^8 + 164*x^7 + 742*x^6)*c ]>;
> J;
Ideal of Maximal Order of FR2 over Maximal Order of FR1 over Univariate 
Polynomial Ring in x over Rational Field
Basis:
Pseudo-matrix over Maximal Order of FR1 over Univariate Polynomial Ring in x 
over Rational Field
Ideal of Maximal Order of FR1 over Univariate Polynomial Ring in x over Rational
Field
Generator:
x^3 + 278*x^2 + 164*x + 742 * ( 1 0 ) 
Fractional ideal of Maximal Order of FR1 over Univariate Polynomial Ring in x 
over Rational Field
Generator:
(x^3 + 278*x^2 + 164*x + 742)/x^2 * ( 0 1 ) 
> Generators(J);
[
    x^3 + 278*x^2 + 164*x + 742,
    x^3 + 278*x^2 + 164*x + 742,
    (x^7 + 278*x^6 + 164*x^5 + 742*x^4)*c,
    (x^7 + 278*x^6 + 164*x^5 + 742*x^4)*c
]

> TwoElement(J);
x^3 + 278*x^2 + 164*x + 742
((3/2*x^10 + 419*x^9 + 802*x^8 + 1441*x^7 + 1484*x^6)*a^2 + (3/2*x^8 + 417*x^7 +
    246*x^6 + 1113*x^5)*a + (3/2*x^8 + 837/2*x^7 + 663*x^6 + 1359*x^5 + 
    1113*x^4))*c + (x^6 + 277*x^5 - 114*x^4 + 578*x^3 - 742*x^2)*a^2 + (3*x^5 + 
    834*x^4 + 492*x^3 + 2226*x^2)*a - x^3 - 278*x^2 - 164*x - 742
> Minimum(I);
Ideal of Maximal Order of FR1 over Univariate Polynomial Ring in x over Rational
Field
Generator:
x^9 + 1639*x^8 + 863249*x^7 + 148609981*x^6 + 404988066*x^5 + 567876948*x^4 + 
    468363837*x^3 + 242625823*x^2 + 68744019*x + 8052237 1
> Basis(J);
[ 1, x^6*c ]
> Basis(I);
[ 1, x^6*c ]
> I eq J;
false
> II, d := IntegralSplit(I);
> II;
Ideal of Maximal Order of FR2 over Maximal Order of FR1 over Univariate 
Polynomial Ring in x over Rational Field
Basis:
Pseudo-matrix over Maximal Order of FR1 over Univariate Polynomial Ring in x 
over Rational Field
Ideal of Maximal Order of FR1 over Univariate Polynomial Ring in x over Rational
Field
Generator:
x^9 + 1639*x^8 + 863249*x^7 + 148609981*x^6 + 404988066*x^5 + 567876948*x^4 + 
    468363837*x^3 + 242625823*x^2 + 68744019*x + 8052237 * ( 1 0 ) 
Fractional ideal of Maximal Order of FR1 over Univariate Polynomial Ring in x 
over Rational Field
Generator:
(x^9 + 1639*x^8 + 863249*x^7 + 148609981*x^6 + 404988066*x^5 + 567876948*x^4 + 
    468363837*x^3 + 242625823*x^2 + 68744019*x + 8052237)/x^2 * ( 0 1 ) 
> d;
1
> IsIntegral(I);
true
> GCD(I, J)*LCM(I, J) eq I*J;
true

Functions on Prime Ideals
RamificationIndex(I) : RngFunOrdIdl -> RngIntElt
RamificationDegree(I) : RngFunOrdIdl -> RngIntElt
The ramification index of the prime ideal I over the corresponding prime of its coefficient ring.
Degree(I) : RngFunOrdIdl -> RngIntElt
InertiaDegree(I) : RngFunOrdIdl -> RngIntElt
ResidueClassDegree(I) : RngFunOrdIdl -> RngIntElt
The residue class degree (inertia degree) of the prime ideal I over the corresponding prime of its coefficient ring.
ResidueClassField(I) : RngFunOrdIdl -> Rng, Map
The residue class field of the prime ideal I and the residue class mapping.
Place(I) : RngFunOrdIdl -> PlcFunElt
The place corresponding to the prime ideal I, where I is defined over the `finite' or `infinite' maximal order.

Example FldFunG_order-ideals (H57E26)

> R<x> := FunctionField(GF(3));
> P<y> := PolynomialRing(R);
> f := y^4 + x*y + x^4 + x + 1;
> F<a> := FunctionField(f);
> O := MaximalOrderFinite(F);
> x*O;
Ideal of O
Generator:
x
> L := Factorization(x*O);
> L;
[ <Ideal of O
Generators:
x
a^2 + a + 2, 1>, <Ideal of O
Generators:
x
a^2 + 2*a + 2, 1> ]
> P1 := L[1][1];
> P2 := L[2][1];
> BasisMatrix(P1);
[x 0 0 0]
[0 x 0 0]
[2 1 1 0]
[1 1 0 1]
> P1 meet P2 eq x*O;
true
> IsPrime(P1);
true
> Place(P1);
(x, a^2 + a + 2)


 [Next][Prev] [Right] [Left] [Up] [Index] [Root]