
|
Go to the first, previous, next, last section, table of contents.
- ecm_add_ff(p1,p2,ec)
-
- ecm_sub_ff(p1,p2,ec)
-
- ecm_chsgn_ff(p1)
-
:: Âʱ߶ÊÀþ¾å¤ÎÅÀ¤Î²Ã»», ¸º»», µÕ¸µ
- return
-
¥Ù¥¯¥È¥ë¤Þ¤¿¤Ï 0
- p1,p2
-
Ťµ 3 ¤Î¥Ù¥¯¥È¥ë¤Þ¤¿¤Ï 0
- ec
-
Ťµ 2 ¤Î¥Ù¥¯¥È¥ë
-
¸½ºßÀßÄꤵ¤ì¤Æ¤¤¤ë͸ÂÂξå¤Ç, ec ¤ÇÄêµÁ¤µ¤ì¤ëÂʱ߶ÊÀþ¾å¤Î
ÅÀ p1, p2 ¤ÎÏ p1+p2, º¹ p1-p2, µÕ¸µ -p1 ¤òÊÖ¤¹.
-
ec ¤Ï, ÀßÄꤵ¤ì¤Æ¤¤¤ë͸ÂÂΤ¬´ñɸ¿ôÁÇÂΤξì¹ç,
y^2=x^3+ec[0]x+ec[1], ɸ¿ô 2 ¤Î¾ì¹ç y^2+xy=x^3+ec[0]x^2+ec[1]
¤òɽ¤¹.
-
°ú¿ô, ·ë²Ì¤È¤â¤Ë, ̵¸Â±óÅÀ¤Ï 0 ¤Çɽ¤µ¤ì¤ë.
-
p1, p2 ¤¬Ä¹¤µ 3 ¤Î¥Ù¥¯¥È¥ë¤Î¾ì¹ç, ÀƼ¡ºÂɸ¤Ë¤è¤ë¶ÊÀþ¾å¤Î
ÅÀ¤òɽ¤¹. ¤³¤Î¾ì¹ç, Âè 3 ºÂɸ¤Ï 0 ¤Ç¤¢¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤.
-
·ë²Ì¤¬Ä¹¤µ 3 ¤Î¥Ù¥¯¥È¥ë¤Î¾ì¹ç, Âè 3 ºÂɸ¤Ï 0 ¤Ç¤Ê¤¤¤¬, 1 ¤È¤Ï¸Â¤é¤Ê¤¤.
¥¢¥Õ¥£¥óºÂɸ¤Ë¤è¤ë·ë²Ì¤òÆÀ¤ë¤¿¤á¤Ë¤Ï, Âè 1 ºÂɸ, Âè 2 ºÂɸ¤òÂè 3 ºÂɸ
¤Ç³ä¤ëɬÍפ¬¤¢¤ë.
-
p1, p2 ¤¬Âʱ߶ÊÀþ¾å¤ÎÅÀ¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯¤Ï¤·¤Ê¤¤.
[0] setmod_ff(1125899906842679)$
[1] EC=newvect(2,[ptolmp(1),ptolmp(1)])$
[2] Pt1=newvect(3,[1,-412127497938252,1])$
[3] Pt2=newvect(3,[6,-252647084363045,1])$
[4] Pt3=ecm_add_ff(Pt1,Pt2,EC);
[ 560137044461222 184453736165476 125 ]
[5] F=y^2-(x^3+EC[0]*x+EC[1])$
[6] subst(F,x,Pt3[0]/Pt3[2],y,Pt3[1]/Pt3[2]);
0
[7] ecm_add_ff(Pt3,ecm_chsgn_ff(Pt3),EC);
0
[8] D=ecm_sub_ff(Pt3,Pt2,EC);
[ 886545905133065 119584559149586 886545905133065 ]
[9] D[0]/D[2]==Pt1[0]/Pt1[2];
1
[10] D[1]/D[2]==Pt1[1]/Pt1[2];
1
- »²¾È
-
section
setmod_ff
Go to the first, previous, next, last section, table of contents.
|