Ideals of orders are of two types. All ideals are fractional and inherit from type RngOrdFracIdl. Integral ideals can have (the sub--)type RngOrdIdl. Some functions only apply to integral ideals and only ideals with the integral type can be prime. An ideal with fractional type but trivial denominator can be converted to have the integral type and any integral ideal can be converted to fractional type.
Ideals can be taken of orders over Z and orders defined over a maximal order. A few functions are not implemented for the latter.
Where an element or elements are returned from a function the elements are usually in the field of fractions if the ideal has the fractional type and in the order if it has integral type.
The general ideal constructor can be used to create ideals in orders of algebraic fields, as described below. Since ideals in orders are allowed to be fractional ideals, algebraic field elements are allowed as generators. Ideals can also be created how they are written on paper: as an element multiplied by an order.
Create the ideal x * O. If the ideal is integral it will be returned with the integral type.
Make the ideal I either fractional (first case where F is a field of fractions compatible with the order of I) or integral (second case where O is an order compatible with the order of I).
Given an order O, as well as anything that can be used to produce a sequence of elements of the field of fractions of O return the ideal generated by those elements. If the ideal is integral then it will be returned with the integral type.A single integer may be given in which case the principal ideal it generates will be returned. A matrix or a module over an order (ModDed) (or a matrix and ideals which the module could be created from) can be supplied as the basis for the resulting ideal. An optional second argument is a denominator given as an integer, (except when ideals are given).
> R<x> := PolynomialRing(Integers());
> f := x^4-420*x^2+40000;
> K<y> := NumberField(f);
> E := EquationOrder(K);
> O := MaximalOrder(K);
> elt := O ! (y^2/40+y/4);
> elt in E;
false
> I := ideal< O | elt >;
> I;
Principal Ideal of O
Generator:
[0, 0, 1, 0]
> FieldOfFractions(O)!!I;
Principal Ideal of O
Generator:
O.3
> O!!$1 eq I;
true
Some information describing an ideal can be retrieved.
The order O which the ideal I is of.
The denominator of the fractional ideal I. This is the smallest positive integer d such that d * I is an integral ideal.
A primitive element of an ideal I is an element a which is in I but not in the square of I. This function returns such an element a. UniformizingElement returns the primitive element of a prime ideal.
The index of the integral ideal I, when viewed as a submodule of the order O. This is the same as the cardinality of the finite quotient ring O/I.
The norm of the fractional ideal I. This returns the index of the ideal if the ideal is integral, and is defined on fractional ideals by multiplicativity so that the norm of I^(-1) equals the reciprocal of the norm of I.
Given an ideal I, this function returns the least positive integer m if the ideal is integral or the least positive rational r if is fractional contained in I.
The absolute norm of the fractional ideal I. This returns the index of the ideal if the ideal is integral, and is defined on fractional ideals by multiplicativity so that the norm of I^(-1) equals the reciprocal of the norm of I.
For a prime ideal I of an order O such that p in I returns the maximal exponent e such that I^e divides the principal ideal pO. If p is not given it is taken to be the minimal integer of I.
If I is a prime ideal of O, this function returns the finite field F isomorphic to O/I and the map O -> F.
Given a prime ideal I this function returns the degree f of the residue class field of the ideal I.
Given an ideal I and a prime ideal p in an order O, returns the valuation v_p(I) of I at p, that is, the number of factors p in the prime ideal decomposition of I. Note that, since the ideal I is allowed to be a fractional ideal, the returned value may be a negative integer.
The content of I, i.e. the maximal ideal of the base ring dividing I.
> R<x> := PolynomialRing(Integers());
> M := MaximalOrder(x^5 + 4*x^4 - x^3 + 7*x^2 - 1);
> R<x> := PolynomialRing(M);
> O := MaximalOrder(x^3 - 2);
> M;
Maximal Equation Order with defining polynomial x^5 + 4*x^4 - x^3 + 7*x^2 - 1
over Z
> O;
Maximal Order of Equation Order with defining polynomial x^3 - [2, 0, 0, 0, 0]
over M
> I := 19/43*M.4*O.3*O;
> I;
Fractional Principal Ideal of O
Generator:
19/43*M.4*O.3
> Order(I);
Maximal Order of Equation Order with defining polynomial x^3 - [2, 0, 0, 0, 0]
over M
> Denominator(I);
86
> Denominator(O.3);
2
> PrimitiveElement(I);
19/43*M.4*O.3
> Norm(I);
Fractional Ideal of M
Basis:
[6859 0 0 0 0]
[ 0 6859 0 0 0]
[ 0 0 6859 0 0]
[ 0 0 0 6859 0]
[ 0 0 0 0 6859]
Denominator: 159014
> Minimum(I);
19/43
> p := Factorization(3*M.2*O)[1][1];
> Valuation(I, p);
0
The basis of an ideal can be computed as well as related matrices.
Given an ideal I of an order O of the algebraic field F, this function returns a basis for I as a sequence of elements of F (if fractional), O (if integral) or R if given.
Returns the basis matrix for the ideal I of O. The basis matrix consists of the elements of a basis for the ideal written as rows of rational coefficients with respect to the basis of O. The entries of the matrix are elements of Z for an integral ideal of an order over Z only or the field of fractions of the coefficient ring of O.
Returns the transformation matrix for the ideal I of O, as well as a denominator. The transformation matrix consists of the elements of a basis for the ideal written as rows of coefficients with respect to the basis of the order O. The entries of the matrix are elements of Z for an integral ideal of an order over Z or the field of fractions of the coefficient ring of O.
> Basis(I);
[
19/43*M.4*O.3,
19/86*M.4*O.1,
19/43*M.4*O.2
]
> Basis(I, NumberField(O));
[
19/86*$.1^3*$.1^2,
19/86*$.1^3,
19/86*$.1^3*$.1
]
> BasisMatrix(I);
[0 0 19/43*M.4]
[19/86*M.4 0 0]
[0 19/43*M.4 0]
> TransformationMatrix(I);
[M.1 0 0]
[0 M.1 0]
[0 0 M.1]
1
All ideals of orders can be generated by one or two elements of the field of fractions of the order they are an ideal of.
Given a (fractional) ideal I of O, return a sequence containing two elements that generate I as an ideal. The elements will be in the order iff the ideal is integral, otherwise they will come from the field of fractions of O.
Given a (fractional) ideal I of O, return two elements of (the field of fractions of) O that generate I as an ideal.
Given an integral ideal I of O (a maximal order over Z), return two elements of O that form a two-element normal presentation for I, as well as an integer g such that I is g-normal.
> Generators(I);
[
19/43*M.4*O.3
]
> TwoElement(I);
19/43*M.4*O.3
19/43*M.4*O.3
Ideals may be tested for various properties and whether given elements lie in the ideal.
Returns true if and only if the fractional ideal I is integral.
Returns true if I is the zero ideal, false otherwise.
Returns true if and only if I is a prime ideal, and false otherwise. If I has the integral type and is not prime, the function also returns a proper (ideal) divisor.Currently, this function becomes very slow as the norm of the ideal becomes large.
SetVerbose("ClassGroup", n): Maximum: 5
Returns true if the fractional ideal I of the order O is a principal ideal, otherwise false. If I is principal, a generator (as an element of the field of fractions of O) is also returned.If it is known or easy to decide whether I is principal the function will return quickly. If it is necessary to compute the class group of O the function will be slower. If the generator is required this may cause the function to take longer as well.
Returns true iff the ramification index of P is greater than 1.
Returns true iff for any prime ideal Q lying above P in O, the ramification index of Q is greater than 1. P must be a prime ideal of BaseRing(O) or a prime number (if O is an absolute order).
Returns true iff the ramification index of P equals the degree of its order over the base field.
Returns true iff for any prime ideal Q lying above P in O, the ramification index of Q equals the field degree. P must be a prime ideal of BaseRing(O) or a prime number (if O is an absolute order).
Returns true iff the ramification index of P is a multiple of the characteristic of the residue class field of P.
Returns true iff for any prime ideal Q of O lying above P, the ramification index e(Q|P) is a multiple of the characteristic of the residue class field of Q.
Returns true iff P is not wildly ramified.
Returns true iff P is not wildly ramified in O.
Returns true iff the ramification index of P is 1.
Returns true iff for all prime ideals Q lying above P in O, the ramification index of Q is 1. P must be a prime ideal of BaseRing(O) or a prime number (if O is an absolute order).
Returns true iff the inertia degree of P is the field degree.
Returns true iff P is inert, i.e. PO is an unramified prime ideal of O.
Returns true iff at least two different prime ideals lie above the prime ideal of BaseRing(Order(P)) in Order(P).
Returns true iff at least two prime ideals lie above P in O.
Returns true iff Degree(Order(P)) different prime ideals lay above the prime ideal of the BaseRing(Order(P)) in Order(P).
Returns true iff exactly Degree(O) prime ideals lay above P in O.
Ideals can be multiplied in several ways, divided and added. Powers of ideals, the least common multiple and the intersection of two ideals can also be calculated.
The product IJ of the (fractional) ideals I and J, generated by the products of elements in I and elements in J.
Given an element x of (or coercible into) a field of fractions F, and a (fractional) ideal I in the order of F, return the product of the ideal and the principal ideal generated by x.
The quotient of the (fractional) ideals I and J of an maximal order O. This is the fractional ideal K of O with the property that J K=I.
Create the fractional ideal I / x.
The sum of the (fractional) ideals I and J, generated by the sums of elements in I and elements in J.
The k-th power of the (fractional) ideal I (for an integer k). If I has integral type and k is negative the result will have fractional type.
Return the least common multiple of ideals I and J. They must both be of the same maximal order.
The greatest common divisor of the ideals I and J of some maximal order of an algebraic number field.
The intersection of the (fractional) ideals I and J.
The intersection of I with the compatible ring R. If R = Q an error will occur since ideals of Q cannot be created. If such information is required see Minimum. An ideal of R is returned.
A representative of the element a of an order O in the quotient O/I.
An element y such that y * E = 1 mod M where M is an integral ideal or an integer.
The colon ideal [I:J] or (I/J) is defined as { x in F : x J subseteq I} where F is the field of fractions of the order the ideals belong to.For ideals of a maximal order (or in general for invertible ideals) this is equivalent to I/J, otherwise only J*ColonIdeal(I, J) subset 1*Order(I) holds.
It is possible to ask for the k-th root of an ideal where k is a positive integer.
Find the kth root of I if it exists.
Return true if I is a kth power of an ideal and the ideal it is a power of otherwise false.
Return the square root of I if I is square.
Return true if I is the square of an ideal and the ideal it is a square of otherwise false.
The factorization of an ideal into prime ideals and the divisors of an ideal can be determined.
SetVerbose("IdealDecompose", n): Maximum: 5
Given an order O and a rational prime number p or a prime ideal of the coefficient ring of O, return a sequence of tuples consisting of prime ideals and exponents, according to the decomposition of p in O.
SetVerbose("IdealDecompose", n): Maximum: 5
Returns the prime ideal factorization of an ideal I in an order O, as a sequence of 2-tuples (prime ideal and integer exponent).
Return the ideals which divide the ideal I which must be of a maximal order.
Various other functions can be applied to ideals. In addition to those listed, the completion of an order at a prime ideal can also be taken (see Completion and Chapter p-ADIC RINGS AND THEIR EXTENSIONS).
Returns an element e of O such that (e_1 - e) is in I_1 and (e_2 - e) is in I_2. If a sequence of elements and a sequence of ideals is given then the element e will be such that (X[i] - e) is in M[i] for all i.
Let I be an ideal in the absolute maximal order O of the number field K. Further, assume that the class group of O has been computed. The class group calculation will have chosen a set of ideal class representatives. This function returns the representative ideal for the ideal class to which I belongs.
Given an ideal I in an absolute order, returns the lattice determined by the real and complex embeddings of I.
SetVerbose("ClassGroup", n): Maximum: 5
An element mu of F, the field of fractions of the order of I, is an S-unit iff v_p(mu) = 0 for all p not in S. This function returns the group of S-units of the prime ideals given either as a sequence S or as a product I. The map from the group into the order containing the ideals is also returned.
The different of the (possibly fractional) ideal I of an order of an algebraic number field.
Quotients of orders defined over maximal orders and their integral ideals can be formed resulting in an object with type RngOrdRes. Elements of such orders can be created and elementary arithmetic and predicates may be applied to them.
The creation of quotient rings and the functions which may be applied to them are described.
Creates the quotient ring Q=O/I. The right hand side of the constructor may contain an ideal or anything that the ideal constructor can create an ideal from.
Returns an abelian group and the map from the group into OQ. OQ must be a quotient of an absolute maximal order.
Return the denominator of the quotient, i.e. I where OQ = O/I.
> I := Denominator(I)*I;
> I;
Principal Ideal of O
Generator:
38/1*M.4*O.3
> Basis(I);
[
38/1*M.4*O.3,
19/1*M.4*O.1,
38/1*M.4*O.2
]
> Q := quo<Order(I) | I>;
> Q;
Quotient Ring of Principal Ideal of O
Generator:
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 38, 0]]
> Modulus(Q);
Principal Ideal of O
Generator:
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 38, 0]]
Functions for elements of the quotient rings are predominantly arithmetic.
Coerce the element a into the quotient OQ where a is anything that can be coerced into the order OQ is a quotient of.
A canonical representative of a (belonging to O) in the quotient ring O/I.
Returns true if and only if a is the zero element of the quotient ring OQ.
Returns true if and only if a is the one element of the quotient ring OQ.
Returns true if and only if a is the minus one element of the quotient ring OQ.
Returns true if and only if a has an inverse in the quotient ring OQ.
The coefficients of a in the field of fractions of the coefficient ring of the order of the quotient ring containing a.[Next][Prev] [Right] [Left] [Up] [Index] [Root]