"Source: Text/Geometry/CrvEllQNF.text";
"Line: 5630";
"Date: Fri Apr 14 10:35:14 2023";
"Main: Thu May 25 10:02:38 2023";
// original file: Text/Geometry/CrvEllQNF.text, line: 5630
// Example: H130E41 ()
print "Example: H130E41";
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);
