American Citizen on Fri, 15 Dec 2023 01:56:58 +0100


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

Some comments on Isogenous Curves, algebraic points on those curves and SHA


To all (well those who like elliptic curves):

I want to make some comments about isogenous curves, the recent work I did with algebraic points on those curves, and the determination of SHA, which has caused me difficulties the past 3 decades when working with elliptic curves, and yes, I have worked with millions of curves, literally.

This is a rather lengthy commentary, so you might wish to just skip over it, if your interest is not elliptic curves.

Ever since Martin Gardner of Mathematical Games section of Scientific American got me hooked on the rational cuboid problem, I have been looking at the elliptic curves related to the 3 types of cuboids. It was John Leech who pointed out the elliptic curves involved.

John Leech and I spent useful correspondence up until his sudden decease on Sept 28, 1992.  I expanded upon a key table which he was working upon, which I call "pyfm" for Pythagorean Face pentacycles and associated elliptic curves. See https://www.ams.org/journals/mcom/1986-46-174/S0025-5718-1986-0829644-0/S0025-5718-1986-0829644-0.pdf for this particular discussion, particularly page 753.

Let me start with one such elliptic curve:

Starting information from a certain pentacycle and its associated elliptic curve(s)

py:{9,2}+ (77,36) [0,-9271247,0,-659737307363904,0]
 Rank:1 Tate-Sha:1 Regulator:3.3147856512874987450598709350772059668
 W:[-119064,8855385000]
 Generator:96/79,77/36,147/11 Height:3.3147856512874987450598709350772059668
 Pentacycle:[96,79],[77,36],[147,11],[113,7],[316,113]

Curve:
      e = [0,-9271247,0,-659737307363904,0]

Point on the curve (Mordell-Weil basis for the rank 1 curve)

      p = [-119064,8855385000]

Eight associated minimal model isogenous curves connected with the original curve:

K=[
    [1,0,0,-43024332146390,-32779590846716529900]
    [1,0,0,-24573203986310,46507552748925385572]
    [1,0,0,-24518104183430,46728128863872512100]
    [1,0,0,-7003672672310,111677825208350414772]
    [1,0,0,163143576404830,-255780160758764307288]
    [1,0,0,-544410291258890,-4884156137251238702400]
    [1,0,0,-402926557309640,-7482200409937009376550]
    [1,0,0,-8708069371008140,-312774208828911050618250]
]

The point on each isogenous curve, lifted from e,p, but possibly reduced by a 2-isogeny:

q=[[-802370,1107324310],[-1433726,8877184078],[590792620/81,11659427721370/729],[-1529413794/529,126320340774186/12167],[1384455364,51514686678568],[-13802168,765448972],[109823503/4,371009730701/8],[271609071007/196,141220579133985443/2744]]

Heights of the 8 points:

for(i=1,8,print(ellheights(K[i],q[i])))

point heights:

    3.3147856512874987450598709350772059668
    6.6295713025749974901197418701544119336
   13.259142605149994980239483740308823867
   13.259142605149994980239483740308823867    SHA=4
    6.6295713025749974901197418701544119335   SHA=4
    6.6295713025749974901197418701544119335   SHA=4
   13.259142605149994980239483740308823867    SHA=64
   13.259142605149994980239483740308823867    SHA=64

The SHA information was determined by using ellanalyticrank(E)[2]/ellbsd(E) for a curve E

relative hts: [1,2,4,4,2,2,4,4]

Using an algebraic point mp on the minimal curve:
  minimal m = [1, 0, 0, -43024332146390, -32779590846716529900]
  mp=[16925229, Mod(3/2*a - 16925229/2, a^2 - 1816658692187330736173)]

Number Field is a^2 - 1816658692187330736173

? find_iso_hts(e)

  id   minimal model curve                                 Alg Point Height
  1  [1,0,0,-43024332146390,-32779590846716529900] 33.6339950766587092418439609467548936181   2  [1,0,0,-24573203986310,46507552748925385572] 67.2679901533174184836879218935097872372   3  [1,0,0,-24518104183430,46728128863872512100] 134.535980306634836967375843787019574474   4  [1,0,0,-7003672672310,111677825208350414772] 134.535980306634836967375843787019574474   5  [1,0,0,163143576404830,-255780160758764307288] 67.2679901533174184836879218935097872372   6  [1,0,0,-544410291258890,-4884156137251238702400] 67.2679901533174184836879218935097872372   7  [1,0,0,-402926557309640,-7482200409937009376550] 134.535980306634836967375843787019574474   8  [1,0,0,-8708069371008140,-312774208828911050618250] 134.535980306634836967375843787019574474

relative hts: [1,2,4,4,2,2,4,4] which matches the real points exactly

Running mwrank for the isogenous curves results in the [1,2,4,4,2,2,4,4] result also

NOTICE: the correct relative heights for points in Q on any of the 8 curves was given correctly by the algebraic height, which seems to avoid the SHA entanglement in the L-series which occurs in E(Q).

===============

The key idea here is that the Algebraic Point heights do seem to give the correct point height for the smallest height point on the curve and avoids the SHA problem when naively running the L-series ratio determination to attempt to pin down the regulator size. When the curves become large in their coefficients (say 10^20 to 10^30 or so) it becomes almost impossible to computer the L-series, then have to deal with the embedded SHA information too in these L-series calculations. (I hope mathematical advancement on Mahler measures might put all this to rest)

I was happy to find that the algebraic point heights seemed to indicate a true picture of the point heights on the isogenous curves but avoided SHA.

Let's consider another elliptic curve which eluded me for about 2 decades, but only recently I was able to resolve, but by carefully selecting certain 2-covers which got around the SHA > 1 problem. Right now finding "good" two covers for point searching is an art, not a mathematical science.(yet) Apparently SHA > 1 causes difficulties for current search programs, and this curve in particular turned out to have very large SHA for some of its isogenous curves in the group.

py:{79,60} (9480,2641) [0,4364325688589761,0,-17229615206505178677202188345600,0]
 Rank:1 Tate-Sha:4 Regulator:146.06078750010848637102235622315224161
 L-series:586.0042370941 32749.5666491381 559630.5208078483 4644190.9746584464 23010013.2880896591 (approximately)
 W:[-310849517639812996819779579246655572015732862260590482442438887484884934640/68115422484636075091920090295749820796049177442455643518481,4851603133539640526264343786933594159990724142226678042449584720832967608364109573644938550880146385620550984560/17777397447432009260470186123376747878868800707627628907291373213020610373147822551060871]
 Pentacycle:[288570209573880016134900490032556650983619785521597232997659026051/122206740374010772246298398631309589866189672962299461296153337171,9480/2641,41975064721380216737517822726184935898017471892457204050406102400/9926237867961477116716925348996972499948858536548742970319008749,161964238789639150284917852496665646509785799566702824745047992920/53497470336282818606781587051763803176744590646906279863730637277,42566119170126794745430930527972960657030462172445610231957268397/19818677741976435968928387640243219804730133025445021023644792317]
=
= Quartic which worked was 163449169*x^4 - 16250675522248322*x^2 + 394308664434182073730609 from mwrank running on the minimal curve = [1,0,0,-1350882210032036138970816514040,604255810745174408864225385407951158557249600]
=
=                               Isogenous Curves: L-series-Reg    SHA          True Ht = [1,0,0,-1473670506991667240419073314040,487857899055649012085793427889299493072289600] 584.2431      4   146.06078750010848637 = [1,0,0,-1350882210032036138970816514040,604255810745174408864225385407951158557249600] 292.1216      1   292.12157500021697274 = [1,0,0,-21613375759952551922130559714040,38675151136497269167819387070355078625642209600] 37391.5616     64   584.24315000043394548 = [1,0,0,-76802094602026958682816514040,11216788650446842210221197792454992157249600] 2336.9726      4   584.24315000043394548 = [1,0,0,3910584245041201096206610543960,3229366054013312573785301403224849373420037200] 18752.1356     64   292.12157500021697274 = [1,0,0,-8822538010378633200216865972040,-9703116604031639452280171990115551185285698000] 18752.1356     64   292.12157500021697274 = [1,0,0,4438136821871996939736684043660,-36328127880290265739543247394077097481682050860] 2393059.9424   4096   584.24315000043394548 = [1,0,0,-139665092896820718696935098515740,-635300473525359445488968869790600609112629919540] 2393059.9424   4096   584.24315000043394548
=
= NF init nfinit(a^2 - 5879094002709584654188067784965) for x = 990529152804881 =   for point p1 [990529152804881, Mod(1/2*a - 990529152804881/2, a^2 - 5879094002709584654188067784965)]
=   mapped to the 8 curves above
= Heights:
=   1  69.462661097568452675010358103720853484
=   2 138.92532219513690535002071620744170697
=   3 277.85064439027381070004143241488341394
=   4 277.85064439027381070004143241488341394
=   5 138.92532219513690535002071620744170697
=   6 138.92532219513690535002071620744170697
=   7 277.85064439027381070004143241488341394
=   8 277.85064439027381070004143241488341393
=   relative: 1,2,4,4,2,2,4,4
=  which MATCHES the above points heights in Q, this is the 2nd time a good NF isogenous group shows true point heights

Conclusion:

I am quite happy that the NF point heights avoids the SHA problem, but we're not out of the woods yet.

For the elliptic curve:

(1)   [0, -10136735759, 0, -105391763712968846400, 0]

I found that

The heights of these points are:

   113.07931097383994878650441870694649377        4
    56.53965548691997439325220935347324689        2
   113.07931097383994878650441870694649377        4
    28.26982774345998719662610467673662344        1
   226.15862194767989757300883741389298755        8
   226.15862194767989757300883741389298755        8
   452.31724389535979514601767482778597509       16
   452.31724389535979514601767482778597509       16

Note that curve #4 has the lowest height point of height 28.2698+

I created a gp pari command which finds an algebraic point on the first minimal curve then pulls this algebraic point to the other 7 curves

They are

  id                     Isogenous Curve                                      alg pt height                             rel ht    1   [1, 0, 0, -8727681312222830110, -6769747979820738202118605900] 45.999033072531114800423811020303693473    1    2   [1, 0, 0, -3399083936714780110, 2331092153844603636374404100] 91.998066145062229600847622040607386946    2    3   [1, 0, 0, -53876546089206730110, 152211390124295740158467414100] 183.99613229012445920169524408121477389     4    4   [1, 0, 0, 88794783785219890, 131413125362818014474404100] 183.99613229012445920169524408121477389     4    5   [1, 0, 0, 24207244848079934390, -45719223078812147592359047000] 91.998066145062229600847622040607386946    2    6   [1, 0, 0, -126920165480654394610, -550274041414096816973398604800] 91.998066145062229600847622040607386946    2    7   [1, 0, 0, -114281892790158235960, -664207753456256225689175315470] 183.99613229012445920169524408121477389     4    8   [1, 0, 0, -2030638184866055585260, -35220615108692836512945815565730] 183.99613229012445920169524408121477389     4

The relative point heights in Q [4,2,4,1,8,8,16,16] does NOT match the relative algebraic point heights [1,2,4,4,2,2,4,4]

The obvious question is "why not?" Can we even get an insight into why this is happening and what curves possess this quality?

The goal is to try to detect the true SHA value and to utilize the curve with the lowest point heights to do a descent.

Randall