Home Online Manual
Top
Back: multi
Forward: gcddivisor
FastBack: crypto_lib
FastForward: teachstd_lib
Up: hyperel_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.12.4.6 divisor

Procedure from library hyperel.lib (see hyperel_lib).

Usage:
divisor(a,b,h,f); optional: divisor(a,b,h,f,s); s=0,1

Return:
list P

Note:
P[1][3]*(P[1][1], P[1][2]) +...+ P[size(P)][3]*
*(P[size(P)][1], P[size(P)][2]) - (*)infty=div(a(x)-b(x)y) if there is an optional parameter s!=0, then divisor additonally returns a parameter, which says, whether irreducible polynomials occured during computations or not. Otherwise only warnings are displayed on the monitor. For s=0 nothing happens.
Curve C: y^2+h(x)y=f(x) is defined over basering.

Example:
 
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;
poly a=(x-1)^2*(x-6);
poly b=0;
divisor(a,b,h,f,1);
==> [1]:
==>    [1]:
==>       -1
==>    [2]:
==>       -3
==>    [3]:
==>       2
==> [2]:
==>    [1]:
==>       1
==>    [2]:
==>       1
==>    [3]:
==>       2
==> [3]:
==>    [1]:
==>       1
==>    [2]:
==>       -2
==>    [3]:
==>       2
==> 0