PointsOfFiniteOrder(R0, F, UP, UPUP, R)ΒΆ
pfo.spad line 258 [edit on github]
R0: Join(Comparable, IntegralDomain, RetractableTo Integer)
F: FunctionSpace R0
UPUP: UnivariatePolynomialCategory Fraction UP
R: FunctionFieldCategory(F, UP, UPUP)
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 divisorfd
or"failed"
iffd
is not of finite order.
- possibleOrder: FiniteDivisor(F, UP, UPUP, R) -> NonNegativeInteger
possibleOrder(d)
returnsn
such thatd
is of ordern
, 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)
returnstrue
iffd
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 thatn*fd = div(f)
whenfd
is of finite order. torsionIfCan(fd
) returns"failed"
iffd
is not of finite order.