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

pfo.spad line 258

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 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.