#### 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+a2)
    ==> [2]:
    ==>    (a2+a+1)
    ==> [3]:
    ==>    1
    printlevel=plevel;

See also: Adj_div; closed_points.

User manual for Singular version 4-0-3, 2016, generated by texi2html.