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