Bill Allombert on Sun, 26 Nov 2023 00:29:40 +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


On Sat, Nov 25, 2023 at 01:32:55PM -0800, 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.

How did you find F ? Usually you should have more information of the isogeny,
such as the degree, that will help you.

ellisogeny provides "isogeny from kernel", but GP is lacking the function
"isogeny from image" because we are not quite sure what should be the
specification. (However this is implemented in PARI for ellisomat).

Also we do not have ellisisomorphic but you can use this:

ellisisom(E,F)=
{
  my(u,r,s,t);
  if (E.j!=F.j, return(0));
  if (E.j==0,
       if(!ispower(F.c6/E.c6,6,&u),return(0))
     ,E.j==1728,
       if(!ispower(F.c4/E.c4,4,&u),return(0))
     , if(!ispower(F.c4*E.c6/(F.c6*E.c4),2,&u),return(0)));
  s = (u*F.a1-E.a1)/2;
  r = (u^2*F.a2 + s*E.a1 - E.a2 + s^2)/3;
  t = (u^3*F.a3 - r*E.a1 - E.a3)/2;
  [u,r,s,t]
}

So you can call ellisomat of E, find the curve which is isomorphic to F and compute
the isomorphism. 

Cheers,
Bill.