PointsOfFiniteOrder(R0, F, UP, UPUP, R)ΒΆ

pfo.spad line 260

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
order: FiniteDivisor(F, UP, UPUP, R) -> Union(NonNegativeInteger, failed)
order(fd) return order of divisor fd or "failed" if fd is not of finite order.

possibleOrder: FiniteDivisor(F, UP, UPUP, R) -> NonNegativeInteger

simplifyCoeffs: (FiniteDivisor(F, UP, UPUP, R), List Kernel F) -> NonNegativeInteger if F has AlgebraicallyClosedField and R0 has CharacteristicZero
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.