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

Ideals and Quotients

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.

Subsections

Creation of Ideals in Orders

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.

x * O : RngElt, RngOrd -> RngOrdFracIdl
O * x : RngElt, RngOrd -> RngOrdFracIdl
Create the ideal x * O. If the ideal is integral it will be returned with the integral type.
F !! I : FldOrd, RngOrdFracIdl -> RngOrdFracIdl
O !! I : RngOrd, RngOrdFracIdl -> RngOrdIdl
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).
ideal< O | a_1, a_2, ... , a_m > : RngOrd, RngElt, ..., RngElt -> RngOrdFracIdl
ideal<O | x> : RngOrd, RngIntElt -> RngOrdIdl
ideal<O | M, d> : RngOrd, AlgMatElt, RngIntElt -> RngOrdFracIdl
ideal<O | M, d> : RngOrd, ModDed, RngIntElt -> RngOrdFracIdl
ideal<O | M, I1, ..., In> : RngOrd, AlgMatElt, RngOrdFracIdl, ..., RngOrdFracIdl -> RngOrdFracIdl
ideal<O | M, [I1, ..., In]> : RngOrd, AlgMatElt, [RngOrdFracIdl] -> RngOrdFracIdl
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).


Example RngOrd_Ideals (H50E28)

We give an example of the creation of an ideal generated by an element from an order.

> 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

Invariants

Some information describing an ideal can be retrieved.

Order(I) : RngOrdFracIdl -> RngOrd
The order O which the ideal I is of.
Denominator(I) : RngOrdFracIdl -> RngIntElt
The denominator of the fractional ideal I. This is the smallest positive integer d such that d * I is an integral ideal.
PrimitiveElement(I) : RngOrdIdl -> RngOrdElt
PrimitiveElement(I) : RngOrdFracIdl -> FldOrdElt
UniformizingElement(P) : RngOrdIdl -> RngOrdElt
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.
Index(O, I) : RngOrd, RngOrdIdl -> RngIntElt
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.
Norm(I) : RngOrdIdl -> RngIntElt
Norm(I) : RngOrdFracIdl -> FldRatElt
Norm(I) : RngOrdFracIdl -> RngOrdFracIdl
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.
Minimum(I) : RngOrdFracIdl -> RngElt
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.
AbsoluteNorm(I) : RngOrdIdl -> RngIntElt
AbsoluteNorm(I) : RngOrdFracIdl -> FldRatElt
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.
RamificationIndex(I) : RngOrdIdl -> RngIntElt
RamificationIndex(I, p) : RngOrdIdl, RngIntElt -> RngIntElt
RamificationDegree(I) : RngOrdIdl -> RngIntElt
RamificationDegree(I, p) : RngOrdIdl, RngIntElt -> RngIntElt
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.
ResidueClassField(O, I) : RngOrd, RngOrdIdl -> FldFin, Map
ResidueClassField(I) : RngOrdIdl -> FldFin, Map
If I is a prime ideal of O, this function returns the finite field F isomorphic to O/I and the map O -> F.
Degree(I) : RngOrdIdl -> RngIntElt
InertiaDegree(I) : RngOrdIdl -> RngIntElt
Given a prime ideal I this function returns the degree f of the residue class field of the ideal I.
Valuation(I, p) : RngOrdFracIdl, RngOrdIdl -> RngIntElt
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.
Content(I) : RngOrdFracIdl -> RngIntElt
The content of I, i.e. the maximal ideal of the base ring dividing I.

Example RngOrd_ideal-invar (H50E29)

The retrieval of some properties of an ideal is illustrated.

> 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


Basis Representation

The basis of an ideal can be computed as well as related matrices.

Basis(I) : RngOrdIdl -> [RngOrdElt]
Basis(I) : RngOrdFracIdl -> [FldOrdElt]
Basis(I, R) : RngOrdFracIdl, Rng -> [RngElt]
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.
BasisMatrix(I) : RngOrdFracIdl -> MtrxSpcElt
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.
TransformationMatrix(I) : RngOrdFracIdl -> MtrxSpcElt, RngIntElt
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.

Example RngOrd_ideal-basis (H50E30)

Continuing from the last example, the use of the basis functions for ideals is shown.

> 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

Two--Element Presentations

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.

Generators(I) : RngOrdIdl -> [ RngOrdElt ]
Generators(I) : RngOrdFracIdl -> [ FldOrdElt ]
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.
TwoElement(I) : RngOrdFracIdl -> FldOrdElt, FldOrdElt
Given a (fractional) ideal I of O, return two elements of (the field of fractions of) O that generate I as an ideal.
TwoElementNormal(I) : RngOrdIdl -> RngOrdElt, RngOrdElt, RngIntElt
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.

Example RngOrd_ideal-two (H50E31)

The generators and two element presentation of I are compared.

> Generators(I);
[
    19/43*M.4*O.3
]
> TwoElement(I);
19/43*M.4*O.3
19/43*M.4*O.3

Predicates on Ideals

Ideals may be tested for various properties and whether given elements lie in the ideal.

I eq J : RngOrdFracIdl, RngOrdFracIdl -> BoolElt
I ne J : RngOrdFracIdl, RngOrdFracIdl -> BoolElt
x in I : FldOrdElt, RngOrdFracIdl -> BoolElt
x in I : RngOrdElt, RngOrdFracIdl -> BoolElt
x notin I : FldOrdElt, RngOrdFracIdl -> BoolElt
x notin I : RngOrdElt, RngOrdFracIdl -> BoolElt
I subset J : RngOrdIdl, RngOrdIdl -> BoolElt

IsIntegral(I) : RngOrdFracIdl -> BoolElt
Returns true if and only if the fractional ideal I is integral.
IsZero(I) : RngOrdFracIdl -> BoolElt
Returns true if I is the zero ideal, false otherwise.
IsPrime(I) : RngOrdIdl -> BoolElt, RngOrdIdl
IsPrime(I) : RngOrdFracIdl -> BoolElt
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.

IsPrincipal(I) : RngOrdFracIdl -> BoolElt, FldOrdElt
    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.

IsRamified(P) : RngOrdIdl -> BoolElt
Returns true iff the ramification index of P is greater than 1.
IsRamified(P, O) : RngOrdIdl, RngOrd -> BoolElt
IsRamified(P, O) : RngIntElt, RngOrd -> BoolElt
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).
IsTotallyRamified(P) : RngOrdIdl -> BoolElt
Returns true iff the ramification index of P equals the degree of its order over the base field.
IsTotallyRamified(P, O) : RngOrdIdl, RngOrd -> BoolElt
IsTotallyRamified(P, O) : RngIntElt, RngOrd -> BoolElt
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).
IsWildlyRamified(P) : RngOrdIdl -> BoolElt
Returns true iff the ramification index of P is a multiple of the characteristic of the residue class field of P.
IsWildlyRamified(P, O) : RngOrdIdl, RngOrd -> BoolElt
IsWildlyRamified(P, O) : RngIntElt, RngOrd -> BoolElt
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.
IsTamelyRamified(P) : RngOrdIdl -> BoolElt
Returns true iff P is not wildly ramified.
IsTamelyRamified(P, O) : RngOrdIdl, RngOrd -> BoolElt
IsTamelyRamified(P, O) : RngIntElt, RngOrd -> BoolElt
Returns true iff P is not wildly ramified in O.
IsUnramified(P) : RngOrdIdl -> BoolElt
Returns true iff the ramification index of P is 1.
IsUnramified(P, O) : RngOrdIdl, RngOrd -> BoolElt
IsUnramified(P, O) : RngIntElt, RngOrd -> BoolElt
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).
IsInert(P) : RngOrdIdl -> BoolElt
Returns true iff the inertia degree of P is the field degree.
IsInert(P, O) : RngOrdIdl, RngOrd -> BoolElt
IsInert(P, O) : RngIntElt, RngOrd -> BoolElt
Returns true iff P is inert, i.e. PO is an unramified prime ideal of O.
IsSplit(P) : RngOrdIdl -> BoolElt
Returns true iff at least two different prime ideals lie above the prime ideal of BaseRing(Order(P)) in Order(P).
IsSplit(P, O) : RngOrdIdl, RngOrd -> BoolElt
IsSplit(P, O) : RngIntElt, RngOrd -> BoolElt
Returns true iff at least two prime ideals lie above P in O.
IsTotallySplit(P) : RngOrdIdl -> BoolElt
Returns true iff Degree(Order(P)) different prime ideals lay above the prime ideal of the BaseRing(Order(P)) in Order(P).
IsTotallySplit(P, O) : RngOrdIdl, RngOrd -> BoolElt
IsTotallySplit(P, O) : RngIntElt, RngOrd -> BoolElt
Returns true iff exactly Degree(O) prime ideals lay above P in O.

Ideal Arithmetic

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.

I * J : RngOrdFracIdl, RngOrdFracIdl -> RngOrdFracIdl
The product IJ of the (fractional) ideals I and J, generated by the products of elements in I and elements in J.
x * I : RngElt, RngOrdFracIdl -> RngOrdFracIdl
I * x : RngOrdFracIdl, RngElt -> RngOrdFracIdl
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.
I / J : RngOrdFracIdl, RngOrdFracIdl -> RngOrdFracIdl
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.
I / x : RngOrdFracIdl, RngElt -> RngOrdFracIdl
Create the fractional ideal I / x.
I + J : RngOrdFracIdl, RngOrdFracIdl -> RngOrdFracIdl
The sum of the (fractional) ideals I and J, generated by the sums of elements in I and elements in J.
I ^ k : RngOrdFracIdl, RngIntElt -> RngOrdFracIdl
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.
LCM(I, J) : RngOrdFracIdl, RngOrdFracIdl -> RngOrdFracIdl
Lcm(I, J) : RngOrdFracIdl, RngOrdFracIdl -> RngOrdFracIdl
LeastCommonMultiple(I, J) : RngOrdFracIdl, RngOrdFracIdl -> RngOrdFracIdl
Return the least common multiple of ideals I and J. They must both be of the same maximal order.
GCD(I, J) : RngOrdFracIdl, RngOrdFracIdl -> RngOrdFracIdl
Gcd(I, J) : RngOrdFracIdl, RngOrdFracIdl -> RngOrdFracIdl
GreatestCommonDivisor(I, J) : RngOrdFracIdl, RngOrdFracIdl -> RngOrdFracIdl
The greatest common divisor of the ideals I and J of some maximal order of an algebraic number field.
I meet J : RngOrdFracIdl, RngOrdFracIdl -> RngOrdFracIdl
The intersection of the (fractional) ideals I and J.
I meet R : RngOrdFracIdl, Rng -> Any
R meet I : Rng, RngOrdFracIdl -> Any
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 mod I : RngOrdElt, RngOrdIdl -> RngOrdElt
A representative of the element a of an order O in the quotient O/I.
InverseMod(E, M) : RngOrdElt, RngIntElt -> RngOrdElt
InverseMod(E, M) : RngOrdElt, RngOrdIdl -> RngOrdElt
Modinv(E, M) : RngOrdElt, RngOrdIdl -> RngOrdElt
Modinv(E, M) : RngOrdElt, RngOrdIdl -> RngOrdElt
An element y such that y * E = 1 mod M where M is an integral ideal or an integer.
ColonIdeal(I, J) : RngOrdIdl, RngOrdIdl -> RngOrdIdl
ColonIdeal(I, J) : RngOrdFracIdl, RngOrdFracIdl -> RngOrdFracIdl
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.

Roots of Ideals

It is possible to ask for the k-th root of an ideal where k is a positive integer.

Root(I, k) : RngOrdFracIdl, RngIntElt -> RngOrdFracIdl
Find the kth root of I if it exists.
IsPower(I, k) : RngOrdFracIdl, RngIntElt -> BoolElt, RngOrdFracIdl
Return true if I is a kth power of an ideal and the ideal it is a power of otherwise false.
SquareRoot(I) : RngOrdFracIdl -> RngOrdFracIdl
Sqrt(I) : RngOrdFracIdl -> RngOrdFracIdl
Return the square root of I if I is square.
IsSquare(I) : RngOrdFracIdl -> BoolElt, RngOrdFracIdl
Return true if I is the square of an ideal and the ideal it is a square of otherwise false.

Factorization and Primes

The factorization of an ideal into prime ideals and the divisors of an ideal can be determined.

Decomposition(O, p) : RngOrd, RngIntElt -> [<RngOrdIdl, RngIntElt>]
Decomposition(O, p) : RngOrd, RngOrdIdl -> [ <RngOrdIdl, RngIntElt> ]
    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.
Factorization(I) : RngOrdFracIdl -> [<RngOrdIdl, RngIntElt>]
Factorisation(I) : RngOrdFracIdl -> [<RngOrdIdl, RngIntElt>]
    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).
Divisors(I) : RngOrdIdl -> [<RngOrdIdl, RngIntElt>]
Return the ideals which divide the ideal I which must be of a maximal order.

Other Ideal Operations

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

ChineseRemainderTheorem(I1, I2, e1, e2) : RngOrdIdl, RngOrdIdl, RngOrdElt, RngOrdElt -> RngOrdElt
ChineseRemainderTheorem(X, M) : SeqEnum[RngOrdElt], SeqEnum[RngOrdIdl] -> RngOrdElt
CRT(I1, I2, e1, e2) : RngOrdIdl, RngOrdIdl, RngOrdElt, RngOrdElt -> RngOrdElt
CRT(X, M) : SeqEnum[RngOrdElt], SeqEnum[RngOrdIdl] -> RngOrdElt
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.
CRT(I1, L1, e1, L2) : RngOrdIdl, [RngIntElt], RngOrdElt, [RngIntElt] -> RngOrdElt
ChineseRemainderTheorem(I1, L1, e1, L2) : RngOrdIdl, [RngIntElt], RngOrdElt, [RngIntElt] -> RngOrdElt
ClassRepresentative(I) : RngOrdFracIdl -> RngOrdFracIdl
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.
Lattice(I) : RngOrdIdl -> Lat, Map
MinkowskiLattice(I) : RngOrdIdl -> Lat, Map
Given an ideal I in an absolute order, returns the lattice determined by the real and complex embeddings of I.
SUnitGroup(I) : RngOrdFracIdl -> GrpAb, Map
SUnitGroup(S) : [ RngOrdIdl ] -> GrpAb, Map
    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.
Different(I) : RngOrdFracIdl -> RngOrdFracIdl
The different of the (possibly fractional) ideal I of an order of an algebraic number field.

Quotient Rings

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.

Operations on Quotient Rings

The creation of quotient rings and the functions which may be applied to them are described.

quo< O | I > : RngOrd, RngOrdIdl -> RngOrdRes
quo< O | M > : RngOrd, ModDed -> RngOrdRes
quo< O | M > : RngOrd, AlgMatElt -> RngOrdRes
quo< O | S > : RngOrd, RngElt, ..., RngElt -> RngOrdRes
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.
UnitGroup(OQ) : RngOrdRes -> GrpAb, Map
MultiplicativeGroup(OQ) : RngOrdRes -> GrpAb, Map
Returns an abelian group and the map from the group into OQ. OQ must be a quotient of an absolute maximal order.
Modulus(OQ) : RngOrdRes -> RngOrdIdl
Return the denominator of the quotient, i.e. I where OQ = O/I.

Example RngOrd_quotient (H50E32)

Creation of quotient rings in shown. The orders are the same as for the ideal examples, however an integral ideal is now required.

> 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]]

Elements of Quotients

Functions for elements of the quotient rings are predominantly arithmetic.

a * b : RngOrdResElt, RngOrdResElt -> RngOrdResElt
a + b : RngOrdResElt, RngOrdResElt -> RngOrdResElt
a - b : RngOrdResElt, RngOrdResElt -> RngOrdResElt
a / b : RngOrdResElt, RngOrdResElt -> RngOrdResElt
- a : RngOrdResElt -> RngOrdResElt
a ^ n : RngOrdResElt, RngIntElt -> RngOrdResElt
a eq b : RngOrdResElt, RngOrdResElt -> BoolElt
a ne b : RngOrdResElt, RngOrdResElt -> BoolElt

OQ ! a : RngOrdRes, Elt -> RngOrdResElt
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 mod I : RngOrdElt, RngOrdIdl -> RngOrdElt
A canonical representative of a (belonging to O) in the quotient ring O/I.
IsZero(a) : RngOrdResElt -> BoolElt
Returns true if and only if a is the zero element of the quotient ring OQ.
IsOne(a) : RngOrdResElt -> BoolElt
Returns true if and only if a is the one element of the quotient ring OQ.
IsMinusOne(a) : RngOrdResElt -> BoolElt
Returns true if and only if a is the minus one element of the quotient ring OQ.
IsUnit(a) : RngOrdResElt -> BoolElt
Returns true if and only if a has an inverse in the quotient ring OQ.
Eltseq(a) : RngOrdResElt -> []
ElementToSequence(a) : RngOrdResElt -> []
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]