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


<font size="-1">
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; User manual for <a href="http://www.singular.uni-kl.de/"><i>Singular</i></a> version 2-0-4, October 2002,
generated by <a href="http://www.gnu.org/software/texinfo/"><i>texi2html</i></a>.
</font>

</body>
</html>
