LIB "brnoeth.lib";Let be the absolutely irreducible plane projective curve given by the affine equation . We compute all places up to degree , by
ring r=2,(x,y),dp; poly f=y2+y+x5; list CURVE=Adj_div(f); ==> The genus of the curve is 2. CURVE=NSplaces(3,CURVE); // places up to degree 4=1+3We can consider the curve as being defined over in order to get many rational places.
CURVE=extcurve(4,CURVE); ==> Total number of rational places : NrRatPl = 33The degree of the computed (conjugacy classes of) places is displayed by
list L=CURVE[3]; L; ==> [1]: 1,1 [2]: 1,2 [3]: 1,3 ==> [4]: 2,1 ==> [5]: 3,1 [6]: 3,2 ==> [7]: 4,1 [8]: 4,2 [9]: 4,3 [10]: 4,4 ==> [11]: 4,5 [12]: 4,6 [13]: 4,7In particular, besides the rational places over there are closed places of degree . The adjunction divisor is given by , where is the unique (rational) point on mapping to the singular point . This can be read off as follows:
CURVE[4]; // the mult's d_Q at L[1],L[2],... // (zeroes omitted) ==> 8 def r1=CURVE[5][1][1]; setring r1; POINTS[1]; // coordinates of the base point of L[1] ==> [1]: 0 [2]: 1 [3]: 0 PARAMETRIZATIONS[1]; // parametrization of L[1] ==> [1]: _[1]=t3+t8 _[2]=t5+t15 // exact up to order: [2]: 8,10We construct the evaluating AG-code where all rational points of appear in the support of and .
intvec G=0,0,0,0,1,1,0,0,0,0,0,0,0; intvec D=1..33; def R=CURVE[1][4]; setring R; matrix CODE=AGcode_L(G,D,CURVE);The echelon form of the resulting -matrix is