Home Online Manual
Back: AGcode_L
Forward: prepSV
FastBack: Visualization
FastForward: decodegb_lib
Up: brnoeth_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.10.1.7 AGcode_Omega

Procedure from library brnoeth.lib (see brnoeth_lib).

AGcode_Omega( G, D, EC ); G,D intvec, EC a list

a generator matrix for the residual AG code defined by the divisors G and D.

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 computes the residues of a vector space basis of

$\Omega(G-D)$ at the rational places given by D.

G should satisfy $ 2*genus-2 < deg(G) < size(D) $, which is not checked by the algorithm.
G and D should have disjoint supports (checked by the algorithm).

LIB "brnoeth.lib";
int plevel=printlevel;
ring s=2,(x,y),lp;
list HC=Adj_div(x3+y2+y);
==> The genus of the curve is 1
==> 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 residual AG code :
matrix C=AGcode_Omega(G,D,HC);
==> Vector basis successfully computed 
// here is a linear code of type [8,3,>=5] over F_4
==> 1,  0,    (a+1),(a),  1,1,0,0,
==> (a),(a+1),1,    0,    1,0,1,0,
==> (a),(a),  (a+1),(a+1),1,0,0,1 
See also: AGcode_L; Adj_div; BrillNoether; extcurve.