Home Online Manual
Top
Back: BrillNoether
Forward: extcurve
FastBack:
FastForward:
Up: brnoeth_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.10.1.4 Weierstrass

Procedure from library brnoeth.lib (see brnoeth_lib).

Usage:
Weierstrass( i, m, CURVE ); i,m integers and CURVE a list

Return:
list WS of two lists:
 
  WS[1] list of integers (Weierstr. semigroup of the curve at place i up to m)
  WS[2] list of ideals (the associated rational functions)

Note:
The procedure must be called from the ring CURVE[1][2], where CURVE is the output of the procedure NSplaces.
i represents the place CURVE[3][i].
Rational functions are represented by numerator/denominator in form of ideals with two homogeneous generators.

Warning:
The place must be rational, i.e., necessarily CURVE[3][i][1]=1.

Example:
 
LIB "brnoeth.lib";
int plevel=printlevel;
printlevel=-1;
ring s=2,(x,y),lp;
list C=Adj_div(x3y+y3+x);
==> The genus of the curve is 3
C=NSplaces(1..4,C);
def R=C[1][2];
setring R;
// Place C[3][1] has degree 1 (i.e it is rational);
list WS=Weierstrass(1,7,C);
==> Vector basis successfully computed 
// the first part of the list is the Weierstrass semigroup up to 7 :
WS[1];
==> [1]:
==>    0
==> [2]:
==>    3
==> [3]:
==>    5
==> [4]:
==>    6
==> [5]:
==>    7
// and the second part are the corresponding functions :
WS[2];
==> [1]:
==>    _[1]=1
==>    _[2]=1
==> [2]:
==>    _[1]=y
==>    _[2]=z
==> [3]:
==>    _[1]=xy
==>    _[2]=z2
==> [4]:
==>    _[1]=y2
==>    _[2]=z2
==> [5]:
==>    _[1]=y3
==>    _[2]=xz2
printlevel=plevel;
See also: Adj_div; BrillNoether; NSplaces.