Bill Allombert on Mon, 27 Nov 2023 18:46:34 +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
|
- To: pari-users@pari.math.u-bordeaux.fr
- Subject: Re: general educational question on elliptic curve isogenies and moving points around
- From: Bill Allombert <Bill.Allombert@math.u-bordeaux.fr>
- Date: Mon, 27 Nov 2023 18:46:21 +0100
- Arc-authentication-results: i=1; smail; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; d=math.u-bordeaux.fr; s=openarc; t=1701107182; c=relaxed/relaxed; bh=C7Dn9jBlnIUMSg5zj7pJTZ2JFfZNUiFo5XNJAigCmgY=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:Mail-Followup-To: References:MIME-Version:Content-Type:Content-Disposition: Content-Transfer-Encoding:In-Reply-To; b=YCxc0caj9cWzT097VqTB1jPp3jD1T/iswK3yJv3JGjSYxnNukIn0hLuk/hoL7DGSJl/Erasu1H/tw8csoLSJmz5FaqM1Y1ZAImMzZEBQl7xX89IvbPRnGG0poQS+8Pcwcbfc0jahlahx1XSK43cUa838OE/veaW/LfH36MlKSoEIxJ0IH2FhB1XWejbo3pXF9qale8N8JHLuDFtV0ryOZ/LwozsFDUZeRyckcdGcPf7REsARnQ7wVukwp7Qa0y1MZHPmgmBIi3qg0UZ54+wFwVvQj/9+q2+j+D6RgSbw6HuB+6qMks84967u+wVGCXcGAa/+YSW5M/gn27O/nxNim/5hMAHN+RLdDpOtQGBAw95IaxNvKVAFZN+HaDlGlr1zN631wndR2U/U5FiZEMYllPr6tylzdMX466cyqinH1H5IVFDHvahM5q2mPrfzu3di8rQp05GJf77ztW+ZtocgX8fdLuhl9d6HlXluUxs07UEGp9YN10kj2iiv1NKvc4aa1uSFapelgXMNDgFlHEJCdd7hoyVeJ8lRmrbqpw09/IUVjqie1y4zY0adessXwHo8PQkECt4a1vyVdKhDCHsW9oZBzm3LzJUZ7zGocF5eWkQE/L+ae2oPxuyWBAaweDFIOAckTxmMJ+yTSPcJnXvey2aTLoj81h5N6gN7u4KSVu4=
- Arc-seal: i=1; a=rsa-sha256; d=math.u-bordeaux.fr; s=openarc; t=1701107182; cv=none; b=07FKEq9CHgKaXQH8m0FXxl+/a2/B7f9/EeI5PF+yyzvL+5ZdN14spg7vFQQ4FW8N03u9K41uX0pBu8xeKm5Gck4tfZmqJ7Siq+D4SLrZNw3CSgMmzi/ZyLE6Cf56Rwc+VigRVKiS/TrYyccGrdSEFDpJrQPGa0mz9oCTHv6N9HbHHRyq39l/G9jvvuJcJJxqhtHFmN87oB3rMBXl6874niYa68BIkB6UBd2OnqGCffBWCVMDR+61gm5rRKDdVpW9800zt0Aj7d9x9InNf74Q2L0lz8b7bmK54gh7GsnjNDjWye4tq2w6zTFwCArupQZbqgHkWk8Rxxhmt53tRaPst/18aOz4aEdyz5xS/uQqPNv0WQXmItie3cEvRzrrtJ0w5sQtSiljb5jeqaXGzS3gU3L/oXEh66qanh9QD6/sxaJrdtI4c6SB5Gwr9VrXEV9lPW9wzSSVAk1Tw3Uc6LA8F0Bd+UeayxT6TgGWIXRDtNxqvZk/4rFeq7gwHdLlClTuHgaMg+4FclKdj7vIX/r8TBJMc52zq77GbFZkRlyAEoryjS9oxo952bhznajp/XCMm0amb70lJXCezZve9eqqlgeFWRVhxQAmZzO9NJ83OzP2BEX/curTBT1OUut6i81mD9/Ko8Ok9SBILaBU5VMAaoBKv4QEeg7v6JemlULk2rw=
- Authentication-results: smail; arc=none
- Delivery-date: Mon, 27 Nov 2023 18:46:34 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=math.u-bordeaux.fr; s=2022; t=1701107182; bh=C7Dn9jBlnIUMSg5zj7pJTZ2JFfZNUiFo5XNJAigCmgY=; h=Date:From:To:Subject:References:In-Reply-To:From; b=ZSGJQhUuo+tfNgDd8TQlVBhYBEaHKRsBLmeQtQnxrcChoKl15gHAImMRJweJZqudz 3Ljv8tyqIaEM9BXBMWqpOedA5TiIAlObab3QhdSzPQU9foUPO/UT4uV8bhafnaVTf3 iitgSSZ/1smVdSJePfSu54cmVOnojB+Kofe4pi5lawssAW3DDj3JEWFqhOjcmjOeF+ 0RsAYHBBN9b65khAeONq3psRnPwBBBv5LlZzIBFSbO5Em7Qg7DNf6fWY9pj5yDoA+6 d+hOm5twSzHRInDrO6qq8K23sM0nVTRwfrWvXkdBNwXst3PKQQ6LVVk1mAWaAr0ULx tbdam1y/RVMnj7XUb+HLASgkM8M44l9lXEJA5LkRegzStvxx/1D0h1Sd3wvXbFRR2D L0s+x/v8q8gWxCkUvW50G5DwlqPYM7hhW9/zmeFo5YnNrIu6DIGByBVSyAhh7Pdt5z 2rFlvE8htbJhN6DZ/DuSVQL7LSDDKojSWSF8jB8JEHFpXfFPeUXgvA1GZGx5FQoTTJ oJpmF0WrkFiRRt0HioZnT92i4mV/9e8krMJdoT6YtMz6Abh0Kt20KZMfQHZ/lyZf6x ZGPaLEPs1Yj+sAFii7oKQ+mOtaLEpzKtQ/l7Gzp/pHT5hFvpr2JYqubmMINWVdoLCe 3Zry7lVJSiNNt3prBme2f2Eg=
- In-reply-to: <a4abf308-06f5-496e-b90b-6f04a6c3d1ad@gmail.com>
- Mail-followup-to: pari-users@pari.math.u-bordeaux.fr
- References: <0fd70cee-3fad-4a48-b69e-454ead07e331@gmail.com> <26313126-c09e-47d2-baac-967fd684e9ff@gmail.com> <ZWJ93+HtHtx6FX5R@seventeen> <a4abf308-06f5-496e-b90b-6f04a6c3d1ad@gmail.com>
On Sun, Nov 26, 2023 at 05:07:18PM -0800, American Citizen wrote:
> Bill
>
> What I am expecting as a function operator is something like
>
> map_iso(F,E,pt) = [operate_on_x, operate_on_y] where x=p[1] and y=p[2] using
> the f,g,h polynomials from the ellisomat results. derived from the minimal
> model maps of the elliptic curves F and E.
>
> I would like to see the operator function f given like a GP-Pari function
> say q = f(F,E,p) which outputs point q on F.
>
> The way I worked this was take E (given elliptic curve), find M (minimal
> model of E), move points to M, then find N (minimal model of F) and
> carefully compare the ellisomat results for both elliptic curves M and N, to
> find a match on the E(a4,a6) curves. Once this is found, I move points on E
> to M, then move points from M to N, then move the points from N to F. As you
> all know, this has to be carefully done.
There is no need to take minimal models.
You can do this:
\\ find the curve in S isomorphic to F
findisom(S,F)=
{
foreach(S,s,
my(urst=ellisisom(ellinit(s[1]),F));
if(urst,return([s[2],s[3],urst])));
}
\\ return [f,fd], f isogeny from E to F, and fd its dual.
isog(E,F)=
{
my(S=ellisomat(E)[1]);
my([f,fd,urst]=findisom(S,F));
[P->ellchangepoint(ellisogenyapply(f,P),urst),
P->ellisogenyapply(fd,ellchangepointinv(P,urst))];
}
For example:
? E=ellinit(K[1]);
? F=ellinit(K[2]);
? P=elltors(E).gen[1]
%3 = [-221813002148660,28351785859134866849500]
? [f,fd]=isog(E,F);
? Q=f(P)
%5 = [833820316449280,-7588256062930707186440]
? ellisoncurve(F,Q)
%6 = 1
? ellorder(F,Q)
%7 = 4
? R=fd(Q)
%8 = [990529152804880,-495264576402440]
? R==ellmul(E,P,2)
%9 = 1
Cheers,
Bill.