|  |  D.12.4.10 cantorred Procedure from libraryhyperel.lib(see  hyperel_lib).
 
Example:Usage:
cantorred(D,h,f);
Return:
list N
Note:
Cantor's algorithm - reduction.
important: Divisor D has to be semireduced!
 Computes reduced divisor div(N[1],N[2])= div(D[1],D[2]).
 The divisors are defined over the basering.
 Curve C: y^2+h(x)y=f(x) is defined over the basering.
 
 |  | LIB "hyperel.lib";
ring R=7,x,dp;
// hyperelliptic curve y^2 + h*y = f
poly h=x;
poly f=x5+5x4+6x2+x+3;
// semireduced divisor
list D=2x4+3x3-3x-2, -x3-2x2+3x+1;
cantorred(D,h,f);
==> [1]:
==>    x2-2x+2
==> [2]:
==>    2x-2
 | 
 
 |