PointsOfFiniteOrder(R0, F, UP, UPUP, R)
pfo.spad line 259
[edit on github]
This package provides function for testing whether a divisor on a curve is a torsion divisor.
- cmult : List(SparseMultivariatePolynomial(R0, Kernel(F))) -> SparseMultivariatePolynomial(R0, Kernel(F))
cmult(x)
should be local but conditional
- handle_imaginary : FiniteDivisor(F, UP, UPUP, R) -> Record(ncurve : UPUP, n_div_numer : Vector(UPUP), n_div_denom : UPUP, need_change : Boolean)
handle_imaginary(d)
should be local but conditional.
- order : FiniteDivisor(F, UP, UPUP, R) -> Union(NonNegativeInteger, "failed")
order(fd)
returns order of divisor fd
or "failed"
if fd
is not of finite order.
- possibleOrder : FiniteDivisor(F, UP, UPUP, R) -> NonNegativeInteger
possibleOrder(d)
returns n
such that d
is of order n
, or of infinite order.
- simplifyCoeffs : (Record(ncurve : UPUP, n_div_numer : Vector(UPUP), n_div_denom : UPUP, need_change : Boolean), List(Kernel(F))) -> NonNegativeInteger if R0 has CharacteristicZero and F has AlgebraicallyClosedField
simplifyCoeffs(d, la)
should be local but conditional.
- torsion? : FiniteDivisor(F, UP, UPUP, R) -> Boolean
torsion?(fd)
returns true
if fd
is of finite order, false
otherwise.
- torsionIfCan : FiniteDivisor(F, UP, UPUP, R) -> Union(Record(order : NonNegativeInteger, function : R), "failed")
torsionIfCan(fd)
returns [n, f]
such that n*fd = div(f)
when fd
is of finite order. torsionIfCan(fd
) returns "failed"
if fd
is not of finite order.