"Source: Text/Geometry/CrvEllQNF.text";
"Line: 666";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/CrvEllQNF.text, line: 666
// Example: H133E6 ()
print "Example: H133E6";
ei := GetEchoInput();
SetEchoInput(true);
E := EllipticCurve([0,1,0,-95549172512866864, 11690998742798553808334900]);
P0 := E![ 39860582, 2818809365988 ];
P1 := E![ 144658748, -946639447182 ];
P2 := E![ 180065822, 569437198932 ];
P3 := E![ -339374593, 2242867099638 ];
P4 := E![ -3492442669/25, 590454479818404/125 ];
S0 := [P0, P1, P2, P3, P4];
IsLinearlyIndependent(S0);
Order(P0);
assert $1 eq 8;
S1 := [P1, P2, P3, P4];
IsLinearlyIndependent(S1);
assert $1;
M := Matrix(4, 4, [-3,-1,2,-1,3,3,3,-2,3,0,-1,-1,0,2,1,1]);
Determinant(M);
assert $1 eq 0;
S2 := [ &+[ M[i, j]*S1[j] : j in [1..4] ] : i in [1..4] ];
IsLinearlyIndependent(S2);
Kernel(M);
[ RealField(16) | Height(P) : P in S2 ];
Q := S2[2];
Log(Abs(Numerator(Q[1])));
Log(Abs(Denominator(Q[1])));
SetEchoInput(ei);
