"Source: Text/Geometry/CrvEllQNF.text";
"Line: 5634";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/CrvEllQNF.text, line: 5634
// Example: H133E41 ()
print "Example: H133E41";
ei := GetEchoInput();
SetEchoInput(true);
E1 := EllipticCurve("254a1");
E2 := EllipticCurve("254a2");
bool, phi := IsIsogenous(E1,E2);
assert bool;
phicoveringsofE2,_,phidualcoveringsofE1,_,phi := ThreeIsogenyDescent(E1);
assert #phicoveringsofE2 eq 1;
assert MinimalModel(Jacobian(phicoveringsofE2[1])) eq E1;
assert #phidualcoveringsofE1 eq 1;
assert MinimalModel(Jacobian(phidualcoveringsofE1[1])) eq EllipticCurve("254a2");
C := phicoveringsofE2[1];
C;
phidual := DualIsogeny(phi);
MinimalModel(Codomain(phidual)) eq MinimalModel(Jacobian(C));
assert $1;
time FakeIsogenySelmerSet(C,phidual);
assert $1 eq 2;
time SelC := pIsogenyDescent(C,phidual);
Ilog(3,#SelC);
assert $1 eq 1;
SetEchoInput(ei);
