American Citizen on Sat, 25 Nov 2023 22:33:04 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
general educational question on elliptic curve isogenies and moving points around |
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