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, \ldots, \alpha_r)]\).

Creation of Ideals

ideal< O | a₁, a₂, ... , aₘ >: RngFunOrd, RngElt, ..., RngElt -> RngFunOrdIdl

Given an order \(O\), as well as elements \(a_1, a_2, \ldots, 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₁, ..., Iₙ >: RngFunOrd, AlgMatElt, RngFunOrdIdl, ..., RngFunOrdIdl -> RngFunOrdIdl

The ideal of the order \(O\) of an algebraic function field whose basis is 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 of the order \(O\).

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 the order \(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

The denominator ideal \(J\) is required to be invertible. The ideal \(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 the ring element \(c\) divided by the ideal \(I\).

IdealQuotient(I, J): RngFunOrdIdl, RngFunOrdIdl -> RngFunOrdIdl
ColonIdeal(I, J): RngFunOrdIdl, RngFunOrdIdl -> RngFunOrdIdl

The colon ideal \([I:J]\) of elements which multiply all elements of the ideal \(J\) into the ideal \(I\).

ChineseRemainderTheorem(I1, I2, e1, e2): RngFunOrdIdl, RngFunOrdIdl, RngFunOrdElt, RngFunOrdElt -> RngFunOrdElt
CRT(I1, I2, e1, e2): RngFunOrdIdl, RngFunOrdIdl, RngFunOrdElt, RngFunOrdElt -> RngOrdElt

Returns an element \(e\) of the order \(O\) such that \((e_1 - e)\) is in the ideal \(I_1\) of \(O\) and \((e_2 - e)\) is in the ideal \(I_2\).

Roots of Ideals

IsPower(I, n): RngFunOrdIdl, RngIntElt -> BoolElt, RngFunOrdIdl

Return whether the ideal \(I\) has an \(n\)th root and if so return an \(n\)th root.

Root(I, n): RngFunOrdIdl, RngIntElt -> RngFunOrdIdl

Return the \(n\)th 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: Testing Whether an Ideal Is a Square (ex-eaf22a)

Run in calculator (opens in a new tab)

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

Run in calculator (opens in a new tab)

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.

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 the prime ideal \(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 the order \(O\) above the prime ideal \(P\).

IsRamified(P): RngFunOrdIdl -> BoolElt

Return true if the ramification index of the prime ideal \(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 the order \(O\) above the prime ideal \(P\).

IsSplit(P): RngFunOrdIdl -> BoolElt

Return true if the prime ideal \(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 the order \(O\) above the prime ideal \(P\).

IsTamelyRamified(P): RngFunOrdIdl -> BoolElt

Return whether the prime ideal \(P\) is not wildly ramified.

IsTamelyRamified(P, O): RngFunOrdIdl, RngFunOrd -> BoolElt
IsTamelyRamified(P, O): RngElt, RngFunOrd -> BoolElt

Return whether the prime ideal \(P\) is not wildly ramified in the order \(O\).

IsTotallyRamified(P): RngFunOrdIdl -> BoolElt

Return whether the ramification index of the prime ideal \(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 the order \(O\) lying above the prime ideal \(P\).

IsTotallySplit(P): RngFunOrdIdl -> BoolElt

Return whether there are as many ideals as the degree of the order of the prime ideal \(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 the order \(O\) which lie above the prime ideal \(P\) as the degree of \(O\).

IsUnramified(P): RngFunOrdIdl -> BoolElt

Return whether the ramification index of the prime ideal \(P\) is \(1\).

IsUnramified(P, O): RngFunOrdIdl, RngFunOrd -> BoolElt
IsUnramified(P, O): RngElt, RngFunOrd -> BoolElt

Return whether all the ideals of the order \(O\) which lie above the prime ideal \(P\) are unramified.

IsWildlyRamified(P): RngFunOrdIdl -> BoolElt

Return whether the ramification index of the prime ideal \(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 the order \(O\) which lie above the prime ideal \(P\) are wildly ramified.

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 ]
Al: MonStgElt                    Default: 
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 any coefficient ring of \(O\). If \(O\) is an extension of a polynomial ring over \({\mathbb{Q}}\) or \({\mathbb{F}}_q\) by a single monic integral polynomial and Al is set to "Montes" then the decomposition will be computed using the Montes algorithm [Sta18].

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

The \(p\)-maximal over order of the order \(O\) where \(p\) is a prime ideal of the coefficient ring of \(O\). See also the description in Section Orders and Ideals.

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 \mid {\operatorname{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 the ideal \(I\) at the prime ideal \(P\). The element \(a\) must be coercible into the field of fractions of \(P\)’s order. If \(P\) has been constructed using the Montes algorithm then the Montes algorithm [Sta18] will be used to compute the valuation.

Order(I): RngFunOrdIdl -> RngFunOrd

The order of the ideal \(I\).

Denominator(I): RngFunOrdIdl -> RngElt

The “smallest” element \(d\) of the coefficient ring of the order \(O\) of the ideal \(I\) such that \(dI \subseteq O\).

Minimum(I): RngFunOrdIdl -> Any

A generator \(m\) of the ideal \(R \cap dI\) where \(R\) is the coefficient ring of the ideal’s order and \(d\) is the denominator of the ideal \(I\) (\(d\) 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 the ideal \(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 function field 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]
Basis(I, R): RngFunOrdIdl, Rng -> [ RngElt ]

A basis of the ideal \(I\) as a free module over the coefficient ring of its order, coerced into the ring \(R\) if given.

BasisMatrix(I): RngFunOrdIdl -> AlgMatElt

Let \((b_1, \dots, b_n)\) be the basis of the ideal \(I\) and let \((\omega_1, \dots, \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, \dots, b_n) = (\omega_1, \dots, \omega_n) B^t\).

TransformationMatrix(I): RngFunOrdIdl -> AlgMatElt, RngElt

Let \((b_1, \dots, b_n)\) be the basis of the ideal \(I\) and let \((\omega_1, \dots, \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, \dots, b_n) = (\omega_1, \dots, \omega_n) T^t / d\).

CoefficientIdeals(I): RngFunOrdIdl -> [RngFunOrdIdl]

The coefficient ideals of the ideal \(I\) in a relative extension. These are the ideals \(\{A_i\}\) of the coefficient ring of the order of \(I\) such that for every element \(e \in I\), \(e = \sum_i a_i*b_i\) where \(\{b_i\}\) is the basis returned for \(I\) and each \(a_i \in A_i\).

Different(I): RngFunOrdIdl -> RngFunOrdIdl

The different of the (possibly fractional) ideal \(I\) of an order of an algebraic function field.

Codifferent(I): RngFunOrdIdl -> RngFunOrdIdl

The codifferent of the ideal \(I\). This will be the inverse of the different of \(I\) if I is an ideal of a maximal order.

Divisor(I): RngFunOrdIdl -> DivFunElt

The divisor corresponding to the ideal factorization of the ideal \(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.

CoefficientHeight(I): RngFunOrdIdl -> RngIntElt

For an ideal \(I\) the coefficient height is defined to be the maximum integer occurring in the current representation of the ideal: If the ideal is given via two elements, this will be the maximal coefficient height of the generators, otherwise the maximal entry of the basis matrix.

CoefficientLength(I): RngFunOrdIdl -> RngIntElt

For an ideal \(I\) the coefficient length is defined to be the size of the current representation: If the ideal is given via two elements, this will be the sum of the coefficient lengths of the generators, otherwise the sum of the entries of the basis matrix.

Example: Ideal Operations in a Relative Field (ex-bdacf7)

Run in calculator (opens in a new tab)

> 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

Run in calculator (opens in a new tab)

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.

SafeUniformizer(P): RngFunOrdIdl -> RngFunOrdElt

For an ideal \(I\) of a maximal order in a function field, this returns an element which has valuation \(1\) at the given prime and which has valuation \(0\) at all other primes lying over the same prime of the underlying rational function field. See also LocalUniformizer (for places) below.

WeakApproximation(I, V): [RngFunOrdIdl], [RngIntElt] -> FldFunElt

Compute an element in the function field of the order of the ideals in \(I\) which has valuation \(V[i]\) at the prime ideal \(I[i]\).

Example: Factoring an Ideal of a Maximal Order (ex-a0157f)

Run in calculator (opens in a new tab)

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

Run in calculator (opens in a new tab)

Quotient Rings

Quotients of orders defined over maximal orders and their integral ideals can be formed resulting in an object with type RngFunOrdRes. 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 >: RngFunOrd, RngFunOrdIdl -> RngFunOrdRes
quo< O | M >: RngFunOrd, ModDed -> RngFunOrdRes
quo< O | M >: RngFunOrd, AlgMatElt -> RngFunOrdRes
quo< O | S >: RngFunOrd, RngElt, ..., RngElt -> RngFunOrdRes

Creates the quotient ring \(Q=O/I\) of the order \(O\). The right hand side of the constructor may contain an ideal or anything that the ideal constructor can create an ideal from.

quo< O | p >: RngFunOrd, RngUPolElt -> RngFunOrdRes
quo< O | p, r >: RngFunOrd, RngUPolElt, RngIntElt -> RngFunOrdRes

Construct the quotient ring \(Q=O/p^r\) where \(p\) is a prime polynomial in a coefficient ring of \(O\).

Modulus(OQ): RngFunOrdRes -> RngFunOrdIdl

Return the denominator of the quotient ring \(OQ\), i.e. \(I\) where \(OQ = O/I\).

Example: Quotient Rings of Ideals (ex-d5cfa1)

Run in calculator (opens in a new tab)

Creation of quotient rings is shown. The orders are the same as for the ideal examples.

> I;
Ideal of O
Generator:
a^2
> Basis(I);
[
    x^8 + 2*x^5 + 2*x^4 + x^2 + 2*x + 1,
    a + 2*x^7 + x^4 + 2*x^3 + 2*x + 2,
    a^2,
    a^3
]
> Q := quo<Order(I) | I>;
> Q;
Quotient Ring of Ideal of O
Generators:
a^2
a^2
> Modulus(Q);
Ideal of O
Generators:
a^2
a^2

Run in calculator (opens in a new tab)

Elements of Quotients

Functions for elements of the quotient rings are predominantly arithmetic.

OQ ! a: RngFunOrdRes, Elt -> RngFunOrdResElt

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: RngFunOrdElt, RngFunOrdIdl -> RngFunOrdElt

A canonical representative of the element \(a\) (belonging to an order \(O\)) in the quotient ring \(O/I\).

a * b: RngFunOrdResElt, RngFunOrdResElt -> RngFunOrdResElt
a + b: RngFunOrdResElt, RngFunOrdResElt -> RngFunOrdResElt
a - b: RngFunOrdResElt, RngFunOrdResElt -> RngFunOrdResElt
a / b: RngFunOrdResElt, RngFunOrdResElt -> RngFunOrdResElt
- a: RngFunOrdResElt -> RngFunOrdResElt
a ^ n: RngFunOrdResElt, RngIntElt -> RngFunOrdResElt
a eq b: RngFunOrdResElt, RngFunOrdResElt -> BoolElt
a ne b: RngFunOrdResElt, RngFunOrdResElt -> BoolElt
IsZero(a): RngFunOrdResElt -> BoolElt

Returns true if and only if the quotient ring element \(a\) is the zero element of the quotient ring \(OQ\).

IsOne(a): RngFunOrdResElt -> BoolElt

Returns true if and only if the quotient ring element \(a\) is the one element of the quotient ring \(OQ\).

IsMinusOne(a): RngFunOrdResElt -> BoolElt

Returns true if and only if the quotient ring element \(a\) is the minus one element of the quotient ring \(OQ\).

IsUnit(a): RngFunOrdResElt -> BoolElt

Returns true if and only if the quotient ring element \(a\) has an inverse in the quotient ring \(OQ\).

Eltseq(a): RngFunOrdResElt -> []
ElementToSequence(a): RngFunOrdResElt -> []

The coefficients of the quotient ring element \(a\) in the field of fractions of the coefficient ring of the order of the quotient ring containing \(a\).