|
OM representations of ideals can be used to construct divisors without
computing maximal orders which are required for the divisors of
type DivFunElt.
For detailed information please see [Bau16b], [Bau14].
Given an ideal If in OM representation whose function field is marked as
finite and an ideal Ii in OM representation whose function field is marked
as infinite, return the divisor in OM representation whose support is the places
associated to the prime ideals which divide either If or Ii with
coefficients the negative of valuation of If and Ii at the prime ideals.
Given an ideal I in OM representation return the divisor in OM representation
whose support is the places associated to the prime ideals which divide I with
coefficients the negative of the valuation of I at the prime ideals.
Given a non zero element z of a function field,
return the principal divisor ∑P vP(z) P in OM representation.
Given a non zero element a of a function field, return the divisor ∑vP(a)<0 - vP(a) P in OM representation.
Given a non zero element a of a function field, return the divisor ∑vP(a)>0 vP(a) P in OM representation.
Given a global function field F returns a divisor of F having degree 1.
Given a function field F, return, if set, the divisor B in OM representation
used to reduce a divisor D of F to tilde D such D = tilde D + kB + (a).
Given a divisor D of a function field of type DivFunElt compute an OM
representation of D.
> Fq := GF(13);
> A<t> := PolynomialRing(Fq);
> Ax<x> := PolynomialRing(A);
> f := x^5+(t+1)^16*x^4+ x^2+t^3*x+t^6;
> F := FunctionField(f);
> Montes(F,t);
> Ifin := F`PrimeIdeals[t,1];
> D := OMDivisor(Ifin);
> D;
Free repr. of divisor: -1*P(t,1)
----------------------------------------
Ideal repr. of divisor:
Finite ideal = P(t,1)
Infinite ideal =
----------------------------------------
> Iinf := PrimesAtInfinity(F)[1];
> D := OMDivisor(Ifin,Iinf);
> D;
Free repr. of divisor: -1*P(t,1)+( -1*P(1/t,1) )
----------------------------------------
Ideal repr. of divisor:
Finite ideal = P(t,1)
Infinite ideal = P(t,1)
----------------------------------------
> D := OMDivisor(F.1);
> D;
Principal divisor generated by: 12/t^6*$.1^4 + (12*t^16 + 10*t^15 + 10*t^14 +
12*t^13 + 12*t^3 + 10*t^2 + 10*t + 12)/t^6*$.1^3 + 12/t^6*$.1 + 12/t^3
----------------------------------------
Free repr. of divisor: 3*P(t,1)+ 3*P(t,2)+( 5*P(1/t,1)+ 5*P(1/t,2)+
-16*P(1/t,3) )
----------------------------------------
Ideal repr. of divisor:
Finite ideal = P(t,1)^-3*P(t,2)^-3
Infinite ideal = P(t,1)^-5*P(t,2)^-5*P(t,3)^16
----------------------------------------
> E := PoleDivisor(F.1);
> E;
Free repr. of divisor: 16*P(1/t,3)
----------------------------------------
Ideal repr. of divisor:
Finite ideal =
Infinite ideal = P(t,3)^-16
----------------------------------------
> C := ZeroDivisor(F.1);
> C;
Free repr. of divisor: 3*P(t,1)+ 3*P(t,2)+( 5*P(1/t,1)+ 5*P(1/t,2) )
----------------------------------------
Ideal repr. of divisor:
Finite ideal = P(t,1)^-3*P(t,2)^-3
Infinite ideal = P(t,1)^-5*P(t,2)^-5
----------------------------------------
> E := Divisor(F.1);
> D := OMDivisor(E);
> D;
Free repr. of divisor: 3*P(t,1)+ 3*P(t,2)+( 5*P(1/t,1)+ 5*P(1/t,2)+
-16*P(1/t,3) )
----------------------------------------
Ideal repr. of divisor:
Finite ideal = P(t,1)^-3*P(t,2)^-3
Infinite ideal = P(t,1)^-5*P(t,2)^-5*P(t,3)^16
----------------------------------------
Given an integer k and a divisor D in OM representation return the scalar
multiple k D.
Given divisors D1 and D2 in OM representation return their sum also in
OM representation.
Given divisors D1 and D2 in OM representation return their difference also
in OM representation.
Gcd(D1, D2) : OMDiv, OMDiv -> OMDiv
GreatestCommonDivisor(D1, D2) : OMDiv, OMDiv -> OMDiv
Given divisors D1 and D2 in OM representation return their GCD
in OM representation.
> Fq := GF(13);
> A<t> := PolynomialRing(Fq);
> Ax<x> := PolynomialRing(A);
> f := x^5+(t+1)^16*x^4+ x^2+t^3*x+t^6;
> F := FunctionField(f);
> Montes(F,t);
> Ifin := F`PrimeIdeals[t,1];
> D := OMDivisor(Ifin);
> E := PoleDivisor(F.1);
> C := ZeroDivisor(F.1);
> D + E;
Free repr. of divisor: -1*P(t,1)+( 16*P(1/t,3) )
----------------------------------------
Ideal repr. of divisor:
Finite ideal = P(t,1)
Infinite ideal = P(t,3)^-16
----------------------------------------
> D - C;
Free repr. of divisor: -4*P(t,1)+ -3*P(t,2)+( -5*P(1/t,1)+ -5*P(1/t,2) )
----------------------------------------
Ideal repr. of divisor:
Finite ideal = P(t,1)^4*P(t,2)^3
Infinite ideal = P(t,1)^5*P(t,2)^5
----------------------------------------
> 5*C;
Free repr. of divisor: 15*P(t,1)+ 15*P(t,2)+( 25*P(1/t,1)+ 25*P(1/t,2) )
----------------------------------------
Ideal repr. of divisor:
Finite ideal = P(t,1)^-15*P(t,2)^-15
Infinite ideal = P(t,1)^-25*P(t,2)^-25
----------------------------------------
> GCD(D, C);
Free repr. of divisor: -1*P(t,1)
----------------------------------------
Ideal repr. of divisor:
Finite ideal = P(t,1)
Infinite ideal =
----------------------------------------
> GCD(D, E);
Free repr. of divisor:
----------------------------------------
Ideal repr. of divisor:
Finite ideal =
Infinite ideal =
----------------------------------------
IsPositive(D) : OMDiv -> BoolElt
Given a divisor D in OM representation, return whether the valuation of D at
every prime in its support is non negative.
Given a divisor D in OM representation, return whether D was constructed
as the divisor of an element.
Given divisors D1 and D2 in OM representation, return whether they are
equal.
Continuing with the previous example :
> IsPrincipal(OMDivisor(F.1));
true
> IsPositive(OMDivisor(F.1));
false
> IsPositive(ZeroDivisor(F.1));
true
> ZeroDivisor(F.1) eq OMDivisor(F.1);
false
Given a divisor D in OM representation return a divisor of type DivFunElt.
Given a divisor D in OM representation and a prime ideal P in
OM representation, return the valuation of D at P.
Given a divisor D in OM representation, return a sequence of primes at
which D has non zero valuation and a sequence of the valuations that D has
at those primes.
CanonicalHeight(D) : OMDiv -> RngIntElt
Given a divisor D in OM representation, return the sum of the products of the
absolute values of the valuations returned by Support with the degree of
the primes in the Support of D and the maximum degree of the primes in
the support of D.
Given a divisor D in OM representation, return the sum of the products of the
valuations returned by Support with the degrees of the primes in the
support of D.
Given a divisor D in OM representation, return a basis of the Riemann--Roch
space of D.
Given a divisor D in OM representation, return the dimension of its
Riemann--Roch space.
Given a divisor D in OM representation returns a reduced basis for the lattice
corresponding to D, that is, the lattice given by its finite ideal.
Given a divisor D in OM representation returns a semi-reduced basis for the
lattice corresponding to D, that is, the lattice given by its finite ideal.
Given a divisor D in OM representation returns the successive minima of the
lattice given by the finite ideal of D.
Given a divisor D in OM representation returns the ceiling of the successive
minima of the lattice given by the finite ideal of D.
Continuing with the previous example :
> Montes(F, t);
> Ifin := F`PrimeIdeals[t,1];
> D := OMDivisor(Ifin);
> D;
Free repr. of divisor: -1*P(t,1)
----------------------------------------
Ideal repr. of divisor:
Finite ideal = P(t,1)
Infinite ideal =
----------------------------------------
> Support(D);
[
OM prime ideal over t
of Algebraic function field defined over Univariate rational function field
over GF(13) by
x^5 + (t^16 + 3*t^15 + 3*t^14 + t^13 + t^3 + 3*t^2 + 3*t + 1)*x^4 + x^2 +
t^3*x + t^6
having residual degree 1
and ramification index 1
Last phi polynomial is x + 10*t^3
]
[ -1 ]
> Height(D);
1 1
> Degree(D);
-1
> Basis(OMDivisor(F.1));
[
12/t^6*F.1^4 + (12*t^16 + 10*t^15 + 10*t^14 + 12*t^13 + 12*t^3 + 10*t^2 +
10*t + 12)/t^6*F.1^3 + 12/t^6*F.1 + 12/t^3
]
> Dimension(OMDivisor(F.1));
1
> ReducedBasis(OMDivisor(F.1));
[
12/t^6*F.1^4 + (12*t^16 + 10*t^15 + 10*t^14 + 12*t^13 + 12*t^3 + 10*t^2 +
10*t + 12)/t^6*F.1^3 + 12/t^6*F.1 + 12/t^3,
1/t^3*F.1^3 + (t^16 + 3*t^15 + 3*t^14 + t^13 + t^3 + 3*t^2 + 3*t +
1)/t^3*F.1^2 + 1/t^3,
12*F.1^2 + (12*t^16 + 10*t^15 + 10*t^14 + 12*t^13 + 12*t^3 + 10*t^2 + 10*t +
12)*F.1,
F.1 + t^16 + 3*t^15 + 3*t^14 + t^13 + t^3 + 3*t^2 + 3*t + 1,
F.1^2 + (t^16 + 3*t^15 + 3*t^14 + t^13 + t^3)*F.1 + 10*t^18 + t^17 + 7*t^16
+ 11*t^15 + 7*t^14 + 12*t^13 + 10*t^5 + t^4 + 7*t^3 + 11*t^2 + 7*t
]
> SemiReducedBasis(OMDivisor(F.1));
[
12/t^6*F.1^4 + (12*t^16 + 10*t^15 + 10*t^14 + 12*t^13 + 12*t^3 + 10*t^2 +
10*t + 12)/t^6*F.1^3 + 12/t^6*F.1 + 12/t^3,
1/t^3*F.1^3 + (t^16 + 3*t^15 + 3*t^14 + t^13 + t^3 + 3*t^2 + 3*t +
1)/t^3*F.1^2 + 1/t^3,
12*F.1^2 + (12*t^16 + 10*t^15 + 10*t^14 + 12*t^13 + 12*t^3 + 10*t^2 + 10*t +
12)*F.1,
F.1 + t^16 + 3*t^15 + 3*t^14 + t^13 + t^3 + 3*t^2 + 3*t + 1,
F.1^2 + (t^16 + 3*t^15 + 3*t^14 + t^13 + t^3)*F.1 + 10*t^18 + t^17 + 7*t^16
+ 11*t^15 + 7*t^14 + 12*t^13 + 10*t^5 + t^4 + 7*t^3 + 11*t^2 + 7*t
]
> SuccessiveMinima(OMDivisor(F.1));
[ 0, 11/2, 11, 27/2, 16 ]
> ApproximatedSuccessiveMinima(OMDivisor(F.1));
[ 0, 6, 11, 14, 16 ]
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|