American Citizen on Thu, 07 Mar 2024 02:12:44 +0100


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

question on inconsistent results for a curve and ellrank() command


Hello:

See attached gp-pari file.

While running my programs I stumbled across an inconsistent results which caused me to take a careful look.

Here are those results involving a certain elliptic curve:

E = [0, 12304376939822994932659524, 0, -3648259547053109398533591982691229700073064038400, 0]

3 points of the 4 points Mordell-Weil basis (set) [ I had to do some work to finally settle down on these 3 points ]

p = [[-999779060917633308399360, 3866142351194747967608412122674782720], [-293883589543938115962240, 1452405131779215974552917691531685120], [-1406975789099557808651520, 5167717070222070579741742214157519360]]

I am trying to recover the 4th point right now.

However when I run the ellrank(E,{effort}) command, differing results come up.

[0, 12304376939822994932659524, 0, -3648259547053109398533591982691229700073064038400, 0] [[-999779060917633308399360, 3866142351194747967608412122674782720], [-293883589543938115962240, 1452405131779215974552917691531685120], [-1406975789099557808651520, 5167717070222070579741742214157519360]]
e is a rank 4 curve with SHA > 1
setting precision = 19
ellrank(E)
[0, 6, 0, []]
ellrank(E,2)
[2, 6, 0, [[-293883589543938115962240, 1452405131779215974552917691531685120]]]
ellrank(E,3)
setting precision = 38
ellrank(E)
[0, 6, 0, []]
ellrank(E,2)
[2, 6, 0, [[-6105797019069920466053760, 15917389406358134595823780451205131520], [-1910041765787625231041280, 6699967211953306552674675136155240960]]]
ellrank(E,3)
setting precision = 57
ellrank(E)
[0, 6, 0, []]
ellrank(E,2)
[2, 6, 0, [[-2604689033065838647568640, 8678086907094504656562057134370808320]]]
ellrank(E,3)
setting precision = 84
ellrank(E)
[0, 6, 0, []]
ellrank(E,2)
[2, 6, 0, [[482298396787552594734284800, 10726073559724236251459173261972663500800]]]
ellrank(E,3)
setting precision = 96
ellrank(E)
[0, 6, 0, []]
ellrank(E,2)
[0, 6, 0, []]
ellrank(E,3)
setting precision = 115
ellrank(E)
[0, 6, 0, []]
ellrank(E,2)
[2, 6, 0, [[-1406975789099557808651520, 5167717070222070579741742214157519360], [-999779060917633308399360, 3866142351194747967608412122674782720]]]
ellrank(E,3)
How would one know which exact precision and which effort setting to use, to recover at least 2 if not 3 points for the Mordell Weil basis??? Right now it appears that this is just hit-or-miss. So how do we aim to get the maximum hit? Some of the attempts come up empty-handed. This doesn't seem right.

Randall

e=[0,12304376939822994932659524,0,-3648259547053109398533591982691229700073064038400,0]
p=[[-999779060917633308399360,3866142351194747967608412122674782720],[-293883589543938115962240,1452405131779215974552917691531685120],[-1406975789099557808651520,5167717070222070579741742214157519360]]
print("e is a rank 4 curve with SHA > 1");
print("setting precision = 19");
default(realprecision,19);
E=ellinit(e);
print("ellrank(E)");
ellrank(E)
print("ellrank(E,2)");
ellrank(E,2)
print("ellrank(E,3)");
ellrank(E,3);
print("setting precision = 38");
default(realprecision,38);
E=ellinit(e);
print("ellrank(E)");
ellrank(E)
print("ellrank(E,2)");
ellrank(E,2)
print("ellrank(E,3)");
ellrank(E,3);
print("setting precision = 57");
default(realprecision,57);
E=ellinit(e);
print("ellrank(E)");
ellrank(E)
print("ellrank(E,2)");
ellrank(E,2)
print("ellrank(E,3)");
ellrank(E,3);
print("setting precision = 84");
default(realprecision,84);
E=ellinit(e);
print("ellrank(E)");
ellrank(E)
print("ellrank(E,2)");
ellrank(E,2)
print("ellrank(E,3)");
ellrank(E,3);
print("setting precision = 96");
default(realprecision,96);
E=ellinit(e);
print("ellrank(E)");
ellrank(E)
print("ellrank(E,2)");
ellrank(E,2)
print("ellrank(E,3)");
ellrank(E,3);
print("setting precision = 115");
default(realprecision,115);
E=ellinit(e);
print("ellrank(E)");
ellrank(E)
print("ellrank(E,2)");
ellrank(E,2)
print("ellrank(E,3)");
ellrank(E,3);