American Citizen on Mon, 15 Apr 2024 20:17:54 +0200


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

Re: general question relating to elliptic curves and their rational points and creating a pool of rational points of count N


Bill

Thanks for that function for b, that is exactly what I needed. I appreciate the post also because of the mention of lattice theory, interesting!

Randall

On 4/15/24 03:00, Bill Allombert wrote:
On Sun, Apr 14, 2024 at 05:51:24PM -0700, American Citizen wrote:
Hello:

I am currently working with rational Diophantine sextuples, example: [5/4,
5/36, 32/9, 189/4, 665/1521, 3213/676] where the product of any pair + 1 is
a rational square.

If we select 3 of the ratios, making a triple, say [5/4, 5/36, 32/9], we can
create an elliptic curve associated with the triple [a,b,c]

E:  [0,(a*b+a*c+b*c),0,(a*b*c)*(a+b+c),(a*b*c)^2]

I have been working with 758 sextuples, and found elliptic curves of rank =1
through rank = 10 for Diophantine triples derived from the sextuples. (20
triples per sextuple).

My question to the group is this, given the Mordell-Weil basis (which seems
quite easy to find for E), how can I determine a cut-off value of elliptic
curve point heights for creating a pool of 10K points that are on the curve?

I am using a gp-pari command called "ellpool(E,p,h)" where E is the curve, p

I need to determine h such that the count of the pool is around 10K or so.
Determining h seems somewhat hard to figure out, although I was using the
regulator^(1/rank) * F to set the height h (where F is around 5 to 12 or so)
and that generally works, but not always. Of  course the torsion group for
the curve E plays a huge part too in finding the pool of points, as the
torsion points automatically increase the rational points found.

Has someone done this work before? Can any papers be cited?
This is just come from lattice theory:

M=ellheightmatrix(E,MW_basis)
gives you a lattice and you can use qfminim(M,B,,2) to find short vectors in
your lattices.

Each lattice vectors will give you #tors points having the same height.
So pick
N=10000/elltors(E)[1]

What you need to do then is to pick B so that qfminim return about N vectors.

The expected relation between N and B is something like this:

B = sqrtn((N /(Pi^(n/2) / gamma(n/2 + 1)))^2*reg,n)
when n is the rank.

E=ellinit([0, 6625/1296, 0, 2225/729, 2500/6561])
MW_basis = [[124/9, 4879/81], [1600/9, 194750/81]]
M=ellheightmatrix(E,MW_basis)
n=#MW_basis; reg = matdet(M);
tors=elltors(E);
N=10000/tors[1];
B = sqrtn((N /(Pi^(n/2) / gamma(n/2 + 1)))^2*reg,n)
qfminim(M,B,,2)

%8 = [2500,2826.9854922754748719832305224795906320

We are very lucky, we get exactly the number we asked for!

Cheers,
Bill.