|  |  D.10.1.6 AGcode_L Procedure from librarybrnoeth.lib(see  brnoeth_lib).
 
Example:Usage:
AGcode_L( G, D, EC ); G,D intvec, EC a list
Return:
a generator matrix for the evaluation AG code defined by the
divisors G and D.
Note:
The procedure must be called within the ring EC[1][4],
where EC is the output of extcurve(d)(or within
the ring EC[1][2] if d=1).The entry i in the intvec D refers to the i-th rational
place in EC[1][5] (i.e., to POINTS[i], etc., see  extcurve).
 The intvec G represents a rational divisor (see  BrillNoether
for more details).
 The code evaluates the vector space basis of L(G) at the rational
places given by D.
 
Warnings:
G should satisfy 
 , which is
not checked by the algorithm. G and D should have disjoint supports (checked by the algorithm).
 
 See also:
 AGcode_Omega;
 Adj_div;
 BrillNoether;
 extcurve.|  | LIB "brnoeth.lib";
int plevel=printlevel;
printlevel=-1;
ring s=2,(x,y),lp;
list HC=Adj_div(x3+y2+y);
==> The genus of the curve is 1
HC=NSplaces(1..2,HC);
HC=extcurve(2,HC);
==> Total number of rational places : NrRatPl = 9
def ER=HC[1][4];
setring ER;
intvec G=5;      // the rational divisor G = 5*HC[3][1]
intvec D=2..9;   // D = sum of the rational places no. 2..9 over F_4
// let us construct the corresponding evaluation AG code :
matrix C=AGcode_L(G,D,HC);
==> Vector basis successfully computed 
// here is a linear code of type [8,5,>=3] over F_4
print(C);
==> 0,0,1,  1,    (a),  (a+1),(a+1),(a),  
==> 0,1,(a),(a+1),(a),  (a+1),(a),  (a+1),
==> 1,1,1,  1,    1,    1,    1,    1,    
==> 0,0,1,  1,    (a+1),(a),  (a),  (a+1),
==> 0,0,(a),(a+1),(a+1),(a),  1,    1     
printlevel=plevel;
 | 
 
 |