D.9.1.3 BrillNoether
....................
Procedure from library brnoeth.lib (see brnoeth_lib).

Usage:
BrillNoether(G,CURVE); G an intvec, CURVE a list

Return:
list of ideals (each of them with two homogeneous generators,
which represent the numerator, resp. denominator, of a rational
function).

The corresponding rational functions form a vector basis of the
linear system L(G), G a rational divisor over a non-singular curve.

Note:
The procedure must be called from the ring CURVE[1][2], where
CURVE is the output of the procedure NSplaces. 

The intvec G represents a rational divisor supported on the closed
places of CURVE[3] (e.g. G=2,0,-1; means 2 times the closed
place 1 minus 1 times the closed place 3).

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);
// the first 3 Places in C[3] are of degree 1.
// we define the rational divisor G = 4*C[3][1]+4*C[3][3] (of degree 8):
intvec G=4,0,4;
def R=C[1][2];
setring R;
list LG=BrillNoether(G,C);
==> Vector basis successfully computed 
// here is the vector basis of L(G):
LG;
==> [1]:
==>    _[1]=1
==>    _[2]=1
==> [2]:
==>    _[1]=y
==>    _[2]=x
==> [3]:
==>    _[1]=z
==>    _[2]=x
==> [4]:
==>    _[1]=y2
==>    _[2]=x2
==> [5]:
==>    _[1]=xz2+y3
==>    _[2]=x3
==> [6]:
==>    _[1]=xyz2+y4
==>    _[2]=x4
printlevel=plevel;
See also:
Adj_div;
NSplaces;
Weierstrass.


<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>
