"Source: Text/Code/CodeAlG.text";
"Line: 181";
"Date: Tue Jun 27 09:43:58 2017";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Code/CodeAlG.text, line: 181
// Example: H166E2 ()
print "Example: H166E2";
ei := GetEchoInput();
SetEchoInput(true);
k<w> := GF(16); 
P2<x,y,z> := ProjectiveSpace(k, 2);
f := (y^2+x*y+x^2)*z^3+y^3*z^2+(x*y^3+x^2*y^2+x^3*y+x^4)*z+x^3*y^2+x^4*y+x^5;
X := Curve(P2, f);
g := Genus(X);
g;
assert $1 eq 4;
places1 := Places(X, 1); 
#places1;
assert $1 eq 45;
P1 := Random(places1);
Exclude(~places1, P1);
#places1;
assert $1 eq 44;
D := 15 * (DivisorGroup(X) ! P1);
C := AlgebraicGeometricCode(places1, D);
C:Minimal;
MinimumWeight(C);
assert $1 eq 29;
SetEchoInput(ei);
