Ideal Operations

pIntegralBasis(I, p): OMIdl, RngElt -> SeqEnum

Given an ideal \(I\) in OM representation and a prime element \(p\) in the field containing \(I\), compute a \(p\)-integral basis for \(I\).

SIntegralBasis(I, S): OMIdl, SeqEnum -> SeqEnum
SIntegralBasis(I, S): RngOrdFracIdl, [RngIntElt] -> SeqEnum
SIntegralBasis(I, S): RngFunOrdIdl, [RngUPolElt] -> SeqEnum

Given an ideal \(I\) in either representation and a sequence \(S\) of primes in the field containing \(I\), compute an \(S\)-integral basis of \(I\) for the given set of primes \(S\).

Basis(I): OMIdl -> SeqEnum
HNF      : BoolElt                    Default: false
Separated: BoolElt                    Default: false

Given an ideal \(I\) in OM representation, return a basis for \(I\).

If HNF is set to true a triangular basis in Hermite form is returned.

If Separated is set to true the basis will be returned as a sequence of numerators and denominators.

Example: Integral Basis of an OM Ideal (ex-70e335)

Run in calculator (opens in a new tab)

> k := GF(13);
> A<t> := PolynomialRing(k);
> Ax<x> := PolynomialRing(A);
> f := x^4 + (4*t + 4)*x^3 + (6*t^2 + 12*t + 6)*x^2 + (4*t^3 + 12*t^2 + 12*t
>                            + 4)*x + t^4 + 5*t^3 + 6*t^2 + 4*t + 1;
> L := FunctionField(f);
> p := t;
> I := OMRepresentation(L,[L.1,p^12]);
> pIntegralBasis(I,p);
[
    1,
    L.1 + 1,
    1/t*L.1^2 + 2/t*L.1 + 1/t,
    1/t^2*L.1^3 + 3/t^2*L.1^2 + 3/t^2*L.1 + 1/t^2
]
> pIntegralBasis(I,p:HNF:=true); // In HNF
[
    1,
    L.1,
    1/t*L.1^2 + 2/t*L.1 + 1/t,
    1/t^2*L.1^3 + 3/t^2*L.1^2 + 3/t^2*L.1 + 1/t^2
]

The \(p\)-integral basis is already the global basis :

> Basis(I);
[
    1,
    L.1 + 1,
    1/t*L.1^2 + 2/t*L.1 + 1/t,
    1/t^2*L.1^3 + 3/t^2*L.1^2 + 3/t^2*L.1 + 1/t^2
]
> Basis(I : HNF := true);
[
    1,
    L.1,
    1/t*L.1^2 + 2/t*L.1 + 1/t,
    1/t^2*L.1^3 + 3/t^2*L.1^2 + 3/t^2*L.1 + 1/t^2
]

Run in calculator (opens in a new tab)

TwoElement(I): OMIdl -> FldArithElt, FldArithElt

Given an ideal \(I\) in OM representation, return \(a, b\) such that \(e = a*e_1 + b*e_2\) for some \(e_1, e_2\) for all \(e \in I\).

Norm(I): OMIdl -> RngElt

Given an ideal \(I\) in OM representation, compute the norm of \(I\).

Valuation(alpha, P : parameters): FldArithElt, OMIdl -> RngIntElt, FldElt
Valuation(alpha, P : parameters): FldRatElt, OMIdl -> RngIntElt, FldElt
Valuation(alpha, P : parameters): RngIntElt, OMIdl -> RngIntElt, FldElt
Valuation(alpha, P : parameters): RngUPolElt, OMIdl -> RngIntElt, FldElt
RED    : BoolElt                    Default: false,
MoreSFL: BoolElt                    Default: false

Compute the \(P\)-valuation \(v\) of \(\alpha\) at the prime ideal \(P\).

Setting the parameter MoreSFL to true selects a single factor lifting algorithm. Setting the parameter RED to true returns also the class of \(\alpha\) in \(P^v/P^{(v+1)}\).

Valuation(I, P): OMIdl, OMIdl -> RngIntElt

Given ideals \(I\) and \(P\) in OM representation, return the valuation of \(I\) at \(P\).

a mod P: FldArithElt, OMIdl -> FldArithElt
Reduction(a, P): FldArithElt, OMIdl -> FldArithElt
Reduction(a, P, m): FldArithElt, OMIdl, RngIntElt -> [FldArithElt]

Given an element \(a\) of the field containing the prime ideal \(P\), which is in OM representation, return \(a'\) such that \(a = a' + I\) and \(a' \in P^0/P\).

If \(m > 0\) is given then a sequence of length \(m\) of elements in \(P^0/P\) is returned representing the local expansion of \(a\) at \(P\) up to precision \(m\).

Factorization(I): OMIdl -> SeqEnum
Factorisation(I): OMIdl -> SeqEnum

Given an ideal \(I\) in OM representation returns a sequence of tuples of primes \(P_i\) and exponents \(e_i\) such that \(I = \prod_i P_i^{e_i}\).

Example: Creating an OM Ideal (ex-fbb1be)

Run in calculator (opens in a new tab)

> k := GF(13);
> A<t> := PolynomialRing(k);
> Ax<x> := PolynomialRing(A);
> f := x^5 + (t^2 + 2*t + 1)*x^4 + (t^4 + 4*t^3 + 6*t^2 + 4*t + 1)*x^3 + (t^3
>         + 3*t^2 + 3*t + 1)*x^2 + (t^4 + 4*t^3 + 6*t^2 + 4*t + 1)*x + t;
> L := FunctionField(f);
> I := OMRepresentation(L,[1/L.1^2,12]);
> I;
OM ideal of the field Algebraic function field defined over Univariate rational
function field over GF(13) by
x^5 + (t^2 + 2*t + 1)*x^4 + (t^4 + 4*t^3 + 6*t^2 + 4*t + 1)*x^3 + (t^3 + 3*t^2 +
3*t + 1)*x^2 + (t^4 + 4*t^3 + 6*t^2 + 4*t + 1)*x + t
generated by [
(t^4 + 4*t^3 + 6*t^2 + 4*t + 1)/t^2*$.1^4 + (t^6 + 6*t^5 + 2*t^4 + 7*t^3 + 2*t^2
+ 5*t + 1)/t^2*$.1^3 + (t^8 + 8*t^7 + 2*t^6 + 4*t^5 + 5*t^4 + 3*t^3 + 7*t +
1)/t^2*$.1^2 + (t^7 + 7*t^6 + 7*t^5 + 5*t^4 + 3*t^3 + 4*t^2 + 6*t + 1)/t^2*$.1 +
(t^8 + 8*t^7 + 2*t^6 + 4*t^5 + 4*t^4 + t^3 + 12*t^2 + 7*t + 1)/t^2,
12
]

> TwoElement(I);
1
(9*t^9 + t^7 + 3*t^6 + 11*t^4 + 2*t^3 + 9*t^2 + 4*t + 1)/t^2*L.1^4 + (4*t^12 +
    8*t^11 + 5*t^10 + 9*t^9 + 2*t^8 + 10*t^7 + 12*t^6 + 6*t^5 + 5*t^4 + 12*t^3 +
    4*t^2 + 5*t + 1)/t^2*L.1^3 + (4*t^11 + 10*t^9 + 11*t^8 + 6*t^7 + 7*t^6 +
    10*t^5 + 5*t^4 + 10*t^3 + 3*t^2 + 7*t + 1)/t^2*L.1^2 + (4*t^12 + 8*t^11 +
    5*t^10 + 2*t^8 + 3*t^7 + 5*t^6 + 8*t^5 + 10*t^4 + 6*t^3 + 7*t^2 + 6*t +
    1)/t^2*L.1 + (4*t^9 + 5*t^8 + 5*t^6 + 11*t^5 + 5*t^4 + 10*t^3 + 3*t^2 + 7*t
    + 1)/t^2
> Norm(I);
1/t^2
> Factorization(I);
[
    <OM prime ideal over   t
    of Algebraic function field defined over Univariate rational function field
    over GF(13) by
    x^5 + (t^2 + 2*t + 1)*x^4 + (t^4 + 4*t^3 + 6*t^2 + 4*t + 1)*x^3 + (t^3 +
    3*t^2 + 3*t + 1)*x^2 + (t^4 + 4*t^3 + 6*t^2 + 4*t + 1)*x + t
    having residual degree   1
    and ramification index   1
    Last phi polynomial is   x, -2>
]
> Montes(L, t+1);
> Valuation(I, L`PrimeIdeals[t][1]);
-2
> Valuation(I, L`PrimeIdeals[t+1][1]);
0

Run in calculator (opens in a new tab)

ResidueField(I): OMIdl -> Fld

Given an ideal \(I\) in OM representation returns the field \(P^0/P\).

Degree(I): OMIdl -> RngIntElt

Given a prime ideal \(I\) in OM representation, contained in a function field, return the degree of the residue field over the constant field of the function field.

If \(I\) is not prime then the degree of the first ideal in the factorization of \(I\) is returned.

Example: Degree and Residue Field of OM Ideals (ex-7d7ba3)

Run in calculator (opens in a new tab)

> F<t> := FunctionField(Rationals());
> P<x> := PolynomialRing(F);
> L<a> := ext<F | x^2 + t>;
> Montes(L, Numerator(t)^2+1);
> L`PrimeIdeals[Numerator(t)^2+1];
[
    OM prime ideal over t^2 + 1
    of Algebraic function field defined over Univariate rational function field
    over Rational Field by
    x^2 + t
    having residual degree   2
    and ramification index   1
    Last phi polynomial is x^2 + t
]
> Degree($1[1]);
4
> ResidueField($2[1]);
Number Field with defining polynomial y^2 + $.1 over its ground field

Run in calculator (opens in a new tab)