American Citizen on Sat, 25 Nov 2023 23:42:48 +0100


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

Re: general educational question on elliptic curve isogenies and moving points around


I was able to write a script which successfully found the isogeny and dual isogeny on the mimimal models of isomorphisms and mapped the point back successfully through the forward and reverse mapping.

I guess my only question is how to us the apply command to specifically apply  x.y value from a known point to the isogeny or its dual then creating the point [f/h^2, g/h^3] from that apply possibly all on one line.

Randall


On 11/25/23 13:32, American Citizen wrote:
Hello:

I am trying to carefully learn about elliptic curve isogenies, and how to move points across two isogenous curves. (which have the same conductor, of course)

Suppose I have a non-minimal curve, say E with point P

I have another curve F, and I want to find the image of P on F.

My general gp script go something like this.. trying to build this script up carefully.

1. obtain conductors of E and F, using the ellglobalred()[1] command and see if they match, if not exit

if the conductors match, let u = ellglobalred(E)[2] and v = ellglobalred(F)[2] which is the transformation matrices.

2. obtain M the minimal curve of E and using ellchangepoint(P,v) where v=ellglobalred(E)[2] previously obtained from step 1 find point Mp on M. (double check by using ellheight check

3. obtain N, the minimal curve of F

This is where things get tricky.

4. Set R = ellisomat(M)[1] and set S = ellisomat(N)[1]

5. Carefully step over R[i] then carefully step over S[j], such that R[i] E a4,a6 component matches S[j] Ea4,a6]

6. Using the forward f isogeny, from R[i], move Mp to the point on the E a4,a6 curve. Watch out for f/g^2,f/h^3 transform

7. Using the dual isogeny g from S[j], move the point on E a4,a6 back to N.

8. Using the ellchangepointinv(pts on N,v) to move the points from N back onto K.

Is this the correct way to do the isogeny?

I do not know a direct way of phi(E) --> K where phi is the isogeny. I thought of moving point P to the minimal curve M, then moving the point Mp to minimal curve N using the isogeny, then using the dual isogeny to push Np, back up to K.

But this requires that I have to have identical a4,a6 terms for the [0,0,0,a4,a6] curves, so I have to loop and look for a match if I understand what is happening here.

Do I have this whole process correct?

Randall