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 = 1I 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.