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

D.10.1.2 NSplaces

Procedure from library brnoeth.lib (see brnoeth_lib).

Usage:
NSplaces( h, CURVE ), where h is an intvec and CURVE is a list

Return:
list L with updated data of CURVE after computing all non-singular affine closed places whose degrees are in the intvec h:
 
   in L[1][1]: (affine ring) lists Aff_Points(d) with affine non-singular
               (closed) points of degree d (if non-empty),
   in L[3]:    the newly computed closed places are added,
   in L[5]:    local rings created/updated to store (repres. of) new places.
See Adj_div for a description of the entries in L.

Note:
The list_expression should be the output of the procedure Adj_div.
Raising printlevel, additional comments are displayed (default: printlevel=0).

Warning:
The parameter of the needed field extensions is called 'a'. Thus, there should be no global object named 'a' when executing NSplaces.

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
// The list of computed places:
C[3];
==> [1]:
==>    1,1
==> [2]:
==>    1,2
// create places up to degree 4
list L=NSplaces(1..4,C);
// The list of computed places is now:
L[3];
==> [1]:
==>    1,1
==> [2]:
==>    1,2
==> [3]:
==>    1,3
==> [4]:
==>    2,1
==> [5]:
==>    3,1
==> [6]:
==>    3,2
==> [7]:
==>    3,3
==> [8]:
==>    3,4
==> [9]:
==>    3,5
==> [10]:
==>    3,6
==> [11]:
==>    3,7
==> [12]:
==>    4,1
==> [13]:
==>    4,2
==> [14]:
==>    4,3
// e.g., affine non-singular points of degree 4 :
def aff_r=L[1][1];
setring aff_r;
Aff_Points(4);
==> [1]:
==>    [1]:
==>       _[1]=y2+y+1
==>       _[2]=x2+xy+x+1
==>    [2]:
==>       12
==> [2]:
==>    [1]:
==>       _[1]=y4+y3+1
==>       _[2]=x+y3+y
==>    [2]:
==>       13
==> [3]:
==>    [1]:
==>       _[1]=y4+y3+y2+y+1
==>       _[2]=x+y2+y+1
==>    [2]:
==>       14
// e.g., base point of the 1st place of degree 4 :
def S(4)=L[5][4][1];
setring S(4);
POINTS[1];
==> [1]:
==> (a3)
==> [2]:
==> (a2+a)
==> [3]:
==> 1
printlevel=plevel;
See also: Adj_div; closed_points.