"Source: Text/Geometry/Crv.text";
"Line: 6246";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/Crv.text, line: 6246
// Example: H124E37 ()
print "Example: H124E37";
ei := GetEchoInput();
SetEchoInput(true);
A2<x,y>:=AffinePlane(GF(2));
C1:=ProjectiveClosure(Curve(A2,x^5*y + x*y^2 + y^6 + y + 1));
L:=LPolynomial(C1);
Evaluate(L,1);
assert $1 eq 752;
K<z>:=CyclotomicField(13);
np:=Numerator(Norm(Evaluate(L,z)));
Factorisation(np);
F13<u>:=GF(2^13);
C13:=ChangeRing(C1,F13);
D1:=Divisor(C13![u^4758,u^3]);
D2:=752*Divisor(C13![u^1325,u^6]);
D0:=Divisor(C13![u^2456,u^11]);
SetVerbose("CurveIndexcal",1);
time dl:=IndexCalculus(D1,D2,D0,752*np);
MultiplyDivisor(dl,D1,D0) eq Reduction(D2,D0);
assert $1;
SetEchoInput(ei);
