|  |  D.10.1.5 extcurve Procedure from librarybrnoeth.lib(see  brnoeth_lib).
 
Example:Usage:
extcurve( d, CURVE ); d an integer, CURVE a list
Return:
list L which is the update of the list CURVE with additional entries
the rings being defined over a field extension of degree d.|  |    L[1][3]: ring (p,a),(x,y),lp (affine),
   L[1][4]: ring (p,a),(x,y,z),lp (projective),
   L[1][5]: ring (p,a),(x,y,t),ls (local),
   L[2][3]: int  (the number of rational places),
 | 
 If d<2 then
 extcurve(d,CURVE);creates a list L which
is the update of the list CURVE with additional entriesIn both cases, in the ring L[1][5] lists with the data for all the
computed rational places (after a field extension of degree d) are
created (see  Adj_div):|  |    L[1][5]: ring p,(x,y,t),ls,
   L[2][3]: int  (the number of computed places over the base field).
 | 
 |  |    lists POINTS, LOC_EQS, BRANCHES, PARAMETRIZATIONS.
 | 
 
Note:
The list CURVE should be the output of NSplaces,
and must contain (at least) one place of degree d.You actually need all the places with degree dividing d.
Otherwise, not all the places are computed, but only part of them.
 This procedure must be executed before constructing AG codes,
even if no extension is needed. The ring L[1][4] must be active
when constructing codes over the field extension.
 
 
 See also:
 AGcode_L;
 AGcode_Omega;
 Adj_div;
 NSplaces;
 closed_points.|  | LIB "brnoeth.lib";
int plevel=printlevel;
printlevel=-1;
ring s=2,(x,y),lp;
list C=Adj_div(x5+y2+y);
==> The genus of the curve is 2
C=NSplaces(1..4,C);
// since we have all points up to degree 4, we can extend the curve
// to that extension, in order to get rational points over F_16;
C=extcurve(4,C);
==> Total number of rational places : NrRatPl = 33
// e.g., display the basepoint of place no. 32:
def R=C[1][5];
setring R;
POINTS[32];
==> [1]:
==> (a3+a+1)
==> [2]:
==> (a+1)
==> [3]:
==> 1
printlevel=plevel;
 | 
 
 |