American Citizen on Thu, 03 Oct 2024 01:19:03 +0200


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

question on moving points from one elliptic curve to another


Hello:

My gp-pari program "ell_lift_pts(f,e,p)" where f and e are 5-element Weierstrass format for two elliptic curves with the same conductor and p is either a single point p, or a vector of points on the elliptic curve e, is not working correctly.

Here's what I know (or don't know)

if f and e are minimal curves, the ellchangecurve component is [1,0,0,0] from ellglobalred(f or e)[2] in both cases and this doesn't help in using the ellchangepoint() command.

What IS the proper way to move points across minimal curves with the same conductor? I tried using ellpointtoz(e,p) and then ellztopoint(f,z) but this is very problematic and requires precision in the thousands of digits, when the point has a large height, and even then things occasionally fail, due to round off errors or lack of precision.

I have 4 cases and my attempted solutions are:

    f is NOT minimal, and e is NOT minimal   ---> move p to minimal curve for e, then move points to f, then use ellchangepointinv() on f to recover those points

    f is NOT minimal, but e is minimal ---> move p to points on minimal(f), then use ellchangepointinv() to move points to f

    f is minimal, but e is NOT minimal --> move p to minimal points on e, then move points to minimal f

    f is minimal and e is minimal. --> move points from e to f

I was trying to use ellisomat on both e and f and look for the matching curve, i.e. ellisomat(e)[1][i] = ellisomat(f)[1][j], but I am making a mistake here too and I don't understand what I am doing wrong.

I guess the hang up is moving points from minimal(e) to minimal(f)

What's the right way to do this in GP Pari?

Randall