"Source: Text/Geometry/CrvEllQNF.text";
"Line: 1514";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/CrvEllQNF.text, line: 1514
// Example: H133E14 ()
print "Example: H133E14";
ei := GetEchoInput();
SetEchoInput(true);
Q := RationalsAsNumberField();
E := EllipticCurve([0,1,1,0,0]);
Periods (E : Precision:=15);
EQ := BaseChange (E, Q);
Periods (EQ,1 : Precision:=15);
_<s> := QuadraticField(5);
E := EllipticCurve([s+1,1,-1,-s,2]);
Periods (E,1 : Precision:=15);
Periods (E,2 : Precision:=15);
K<s> := QuadraticField(5);
E := EllipticCurve([s+1,1,-1,-s,2]);
P := Points(E,1)[1];
Q := Points(E,1/2*(-9*s+11))[1];
R := Points(E,1/2*(25*s + 55))[1];
lP1 := EllipticLogarithm(P,1); lP1;
P1 := EllipticExponential(E,1,lP1); P1;
Abs(Conjugates(P[2])[1]-P1[2]); // y-coord diff is close to 0
lQ2 := EllipticLogarithm(Q,2);
lR2 := EllipticLogarithm(R,2);
QR2 := EllipticExponential(E,2,lQ2+lR2);
Abs(Conjugates((Q+R)[1])[2]-QR2[1]);  // compare x-coords
SetEchoInput(ei);
