//---[CLO, Using Algebraic Geometry, p. 432] // 2-dimensional cyclic code [9,7] // codifica di w |--> c ring r = (2,a),(x,y),lp; minpoly = a^2+a+1; ideal I = x^3-1, y^3-1; qring q = std(I); ideal J = x^2+a^2*x*y+a*y, y+1; option(redSB); ideal G = std(J); poly w = x^2*y^2; poly c = w - reduce(w,G); c; x2y2+(a+1)*x+(a) reduce(c,G); 0 lead(J); _[1]=x2 _[2]=y //posizioni di informazione: x^2,y, xy, x^2y,y^2,xy^2,x^2y^2 //--- posizioni di controllo: 1,x division(w,G); [1]: _[1,1]=x2y+x2 _[2,1]=1 [2]: _[1]=(a+1)*x+(a) [3]: _[1,1]=1 division(w,G)[2][1]; (a+1)*x+(a) G; G[1]=y+1 G[2]=x2+(a+1)*x+(a) quit;