FiniteDivisorCategory(F, UP, UPUP, R)¶
divisor.spad line 563 [edit on github]
F: Field
UPUP: UnivariatePolynomialCategory Fraction UP
R: FunctionFieldCategory(F, UP, UPUP)
This category describes finite rational divisors on a curve, that is finite formal sums SUM(n
* P
) where the n
's
are integers and the P
's
are finite rational points on the curve.
- 0: %
from AbelianMonoid
- *: (Integer, %) -> %
from AbelianGroup
- *: (NonNegativeInteger, %) -> %
from AbelianMonoid
- *: (PositiveInteger, %) -> %
from AbelianSemiGroup
- +: (%, %) -> %
from AbelianSemiGroup
- -: % -> %
from AbelianGroup
- -: (%, %) -> %
from AbelianGroup
- coerce: % -> OutputForm
from CoercibleTo OutputForm
- decompose: % -> Record(id: FractionalIdeal(UP, Fraction UP, UPUP, R), principalPart: R)
decompose(d)
returns[id, f]
whered = (id) + div(f)
.
- divisor: (F, F) -> %
divisor(a, b)
makes the divisorP:
(x = a, y = b)
. Error: ifP
is singular.
- divisor: (F, F, Integer) -> %
divisor(a, b, n)
makes the divisornP
whereP:
(x = a, y = b)
.P
is allowed to be singular ifn
is a multiple of the rank.
- divisor: (R, UP, UP) -> %
divisor(h, d, g)
returnsgcd
of divisor of zeros ofh
and divisor of zeros ofd
.d
must be squarefree. All ramified zeros ofd
must be contained in zeros ofg
.
- divisor: (R, UP, UP, UP, F) -> %
divisor(h, d, d', g, r)
returns the sum of all the finite points whereh/d
has residuer
.h
must be integral.d
must be squarefree.d'
is some derivative ofd
(not necessarily dd/dx).g = gcd(d, discriminant)
contains the ramified zeros ofd
- divisor: FractionalIdeal(UP, Fraction UP, UPUP, R) -> %
divisor(I)
makes a divisorD
from an idealI
.
- divisor: R -> %
divisor(g)
returns the divisor of the functiong
.
- generator: % -> Union(R, failed)
generator(d)
returnsf
if(f) = d
, “failed” ifd
is not principal.d
is assumed to be of degree 0.
- generator: (%, Integer, List UP) -> Union(R, failed)
generator(d, k, lp)
returnsf
if(f) = d
, “failed” ifd
is not principal.k
is sum of orders ofd
at special places. Special places are places over infinity and over zeros of polynomials inlp
. Elements oflp
are assumed to be relatively prime.
- ideal: % -> FractionalIdeal(UP, Fraction UP, UPUP, R)
ideal(D)
returns the ideal corresponding to a divisorD
.
- latex: % -> String
from SetCategory
- opposite?: (%, %) -> Boolean
from AbelianMonoid
- principal?: % -> Boolean
principal?(D)
tests if the argument is the divisor of a function.
- reduce: % -> %
reduce(D)
convertsD
to some reduced form (the reduced forms can be different in different implementations).
- sample: %
from AbelianMonoid
- subtractIfCan: (%, %) -> Union(%, failed)
- zero?: % -> Boolean
from AbelianMonoid