American Citizen on Sat, 02 Dec 2023 02:24:57 +0100


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

Re: tossing out an idea to use heights of algebraic points on elliptic curves to help sort isogenies for point searches


More things for me to learn, particularly number fields.

Well I am glad that my basic math instincts have been correct.

On 11/30/23 01:59, Bill Allombert wrote:
On Wed, Nov 29, 2023 at 06:50:02PM -0800, American Citizen wrote:
Let's look at one of my typical curves for face cuboids:

py:{4,1}+ (15,8) Elliptic Curve: [0,-31679,0,-1493049600,0]
  Rank:1 Tate-Sha:1 Regulator:4.0697304843631873930432752505566566024
  W1:[78408,13046616]
  Generator:26/7,15/8,190/99 Height:4.0697304843631873930432752505566566024
  Pentacycle:[26,7],[15,8],[190,99],[627,161],[299,49]
  Torsion: Z4xZ2 Pts: [ [0], [0, 0], [-11760, 3398640], [57600, 0], [-11760,
-3398640], [126960, 36691440], [-25921, 0], [126960, -36691440] ]

 From the curve E = [0, -31679, 0, -149309600,0] we find the minimal model
curve and from that we find the 8-isgenous curves:

  Minimal model: M = [1, 0, 0, -114223080, -283150929600]

  isog(F,E)->my(S=ellisomat(E)[1]);my([f,fd,urst]=findisom(S,F));[P->ellchangepoint(ellisogenyapply(f,P),urst),P->ellisogenyapply(fd,ellchangepointinv(P,urst))]
Note that you could just have used either ellisomat directly or use ellisogeny
to compute the isogenies associated to the torsion points. In both cases, you
would have obtained directly the curves and the isogenies, without the need to
try to match curves afterward.

Now lets take a non-rational point on M (or I1) say P1 = [-2641,
(2641+sqrt(373230717)/2] = approx = [-2641,
10980.0900145917166146328056490104100484287144219040808189].

This point is an algebraic point. Lets move it to the other 7 isogenies
using the maps. After some careful work and adjustment of GP-Pari precision
to successfully identifie the surds, we find that:
You could just use elliptic curves over number fields, this is fully supported,
and use ellisogenyapply.

M = ellinit([1, 0, 0, -114223080, -283150929600]);
P1 = [-2641, (2641+Mod(a,a^2-373230717))/2];
L=ellisomat(M)[1];
F=ellinit(L[2][1]);
iso = L[2][2];
Q=ellisogenyapply(iso,P1)
%10 = [157597441/8639,Mod(-746628476/671690889*a,a^2-373230717)]
ellisoncurve(F,Q)
%11 = 1

I would like to find a height function of these points such that the
possible regulator size of the curve might be found this way. I previously
started work on a C++ program to do heights of points who are in the real
decimal field (doubles, etc). I was able to get values which seemed to make
sense (to me).
PARI supports elliptic curves over number fields, so you can use ellheight
over number fields:

E=ellinit([0, -31679, 0, -149309600,0]);
M=ellinit([1, 0, 0, -114223080, -283150929600]);
P1 = [-2641, (2641+Mod(a,a^2-373230717))/2]
ellisoncurve(M,P1)
K=nfinit(a^2-373230717);
MK=ellinit(M,K);
ellheight(MK,P1)
%21 = 18.351564077458714575387532095240588314

Cheers,
Bill.