# HyperellipticFiniteDivisor(F, UP, UPUP, R)ΒΆ

- F: Field
- UP: UnivariatePolynomialCategory F
- UPUP: UnivariatePolynomialCategory Fraction UP
- R: FunctionFieldCategory(F, UP, UPUP)

This domains implements finite rational divisors on an hyperelliptic 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. The equation of the curve must be `y^2`

= `f`

(`x`

) and `f`

must have odd degree.

- 0: %
- from AbelianMonoid
- *: (Integer, %) -> %
- from AbelianGroup
- *: (NonNegativeInteger, %) -> %
- from AbelianMonoid
- *: (PositiveInteger, %) -> %
- from AbelianSemiGroup
- +: (%, %) -> %
- from AbelianSemiGroup
- -: % -> %
- from AbelianGroup
- -: (%, %) -> %
- from AbelianGroup
- =: (%, %) -> Boolean
- from BasicType
- ~=: (%, %) -> Boolean
- from BasicType
- coerce: % -> OutputForm
- from CoercibleTo OutputForm
- decompose: % -> Record(id: FractionalIdeal(UP, Fraction UP, UPUP, R), principalPart: R)
- from FiniteDivisorCategory(F, UP, UPUP, R)
- divisor: (F, F) -> %
- from FiniteDivisorCategory(F, UP, UPUP, R)
- divisor: (F, F, Integer) -> %
- from FiniteDivisorCategory(F, UP, UPUP, R)
- divisor: (R, UP, UP, UP, F) -> %
- from FiniteDivisorCategory(F, UP, UPUP, R)
- divisor: FractionalIdeal(UP, Fraction UP, UPUP, R) -> %
- from FiniteDivisorCategory(F, UP, UPUP, R)
- divisor: R -> %
- from FiniteDivisorCategory(F, UP, UPUP, R)
- generator: % -> Union(R, failed)
- from FiniteDivisorCategory(F, UP, UPUP, R)
- hash: % -> SingleInteger
- from SetCategory
- hashUpdate!: (HashState, %) -> HashState
- from SetCategory
- ideal: % -> FractionalIdeal(UP, Fraction UP, UPUP, R)
- from FiniteDivisorCategory(F, UP, UPUP, R)
- latex: % -> String
- from SetCategory
- opposite?: (%, %) -> Boolean
- from AbelianMonoid
- principal?: % -> Boolean
- from FiniteDivisorCategory(F, UP, UPUP, R)
- reduce: % -> %
- from FiniteDivisorCategory(F, UP, UPUP, R)
- sample: %
- from AbelianMonoid
- subtractIfCan: (%, %) -> Union(%, failed)
- from CancellationAbelianMonoid
- zero?: % -> Boolean
- from AbelianMonoid

FiniteDivisorCategory(F, UP, UPUP, R)