{VERSION 6 0 "IBM INTEL LINUX" "6.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 2 1 2 0 0 0 1 }{CSTYLE "Text" -1 215 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle17" -1 222 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "_cstyle18" -1 223 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "_cstyle19" -1 224 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "_cstyle21" -1 226 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle22" -1 227 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "" -1 256 "" 0 1 0 0 0 0 1 2 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 1 " -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 4 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "Title" -1 18 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle21 " -1 220 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 } 1 0 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle22" -1 221 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 1 0 0 1 }1 0 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle23" -1 222 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle25 " -1 224 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 } 1 0 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle26" -1 225 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }} {SECT 0 {EXCHG {PARA 18 "" 0 "" {TEXT -1 45 "OPA 2005 TP3\nAutour du g roupe de Mordell-Weil" }}{PARA 18 "" 0 "" {TEXT 256 19 "El\351ments de corrig\351" }}}{EXCHG {PARA 220 "> " 0 "" {MPLTEXT 1 222 8 "restart; " }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 19 "Proc\351dures fournies" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "deltaE:=E-> 4*E[1]^3+27*E[2] ^2:" }}}{EXCHG {PARA 221 "> " 0 "" {MPLTEXT 1 223 133 "appart:=proc(E, P);\n if P=Origine then RETURN(true);fi;\n if P[2]^2=P[1]^3+E[1]*P[1]+ E[2] then RETURN(true) else RETURN(false);fi;\nend:" }}}{EXCHG {PARA 221 "> " 0 "" {MPLTEXT 1 223 154 "somme1:=proc(E,P,Q) local alpha,x3,y 3;\n alpha:=(Q[2]-P[2])/(Q[1]-P[1]);\n x3:=alpha^2-P[1]-Q[1]; \n \+ y3:=-P[2]+alpha*(P[1]-x3);\n RETURN([x3,y3]);end:" }}}{EXCHG {PARA 221 "> " 0 "" {MPLTEXT 1 223 150 "somme2:=proc(E,P) local alpha,x3,y3; \n alpha:=(3*P[1]^2+E[1])/(2*P[2]);\n x3:=alpha^2-2*P[1]; \n y3: =-P[2]+alpha*(P[1]-x3);\n RETURN([x3,y3]);end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 472 "somme:=proc(E,P,Q) local alpha, x3,y3;\n if \+ deltaE(E)=0 then error \"ceci n'est pas une courbe elliptique\" else\n if appart(E,P) and appart(E,Q) then\n if P<>Origine and Q<>Orig ine then\n if P[1]<>Q[1] then RETURN(somme1(E,P,Q))\n elif P [2]=Q[2] and Q[2]<> 0 then RETURN(somme2(E,P))\n else RETURN(Or igine);\n fi; \n elif P=Origine then RETURN(Q);\n else RETU RN(P);\n fi;\n else error \"les points doivent etre sur la courb e !\";\n fi;\n fi;\nend:" }}}{EXCHG {PARA 220 "> " 0 "" {MPLTEXT 1 222 217 "nbpointsmodp:=proc(E,p) local N, i, fx, x;\n N:=1;\n for i f rom 0 to p-1 do \n fx:=subs(x=i,x^3+E[1]*x+E[2]) mod p;\n if fx=0 t hen N:=N+1;\n elif numtheory[quadres](fx,p)=1 then\n N:=N+2;\n f i;\n od;\nRETURN(N);\nend:" }}}{EXCHG {PARA 221 "> " 0 "" {MPLTEXT 1 223 153 "appartmodp:=proc(E,P,p);\n if P=Origine then RETURN(true);fi; \n if P[2]^2 mod p = P[1]^3+E[1]*P[1]+E[2] mod p then RETURN(true) els e RETURN(false);fi;\nend:" }}}{EXCHG {PARA 221 "> " 0 "" {MPLTEXT 1 223 178 "somme1modp:=proc(E,P,Q,p) local alpha,x3,y3;\n alpha:=(Q[2] -P[2])/(Q[1]-P[1]) mod p;\n x3:=alpha^2-P[1]-Q[1] mod p; \n y3:=-P [2]+alpha*(P[1]-x3) mod p;\n RETURN([x3,y3]);end:" }}}{EXCHG {PARA 221 "> " 0 "" {MPLTEXT 1 223 174 "somme2modp:=proc(E,P,p) local alpha, x3,y3;\n alpha:=(3*P[1]^2+E[1])/(2*P[2]) mod p;\n x3:=alpha^2-2*P[ 1] mod p; \n y3:=-P[2]+alpha*(P[1]-x3) mod p;\n RETURN([x3,y3]);en d:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 521 "sommemodp:=proc(E,P, Q,p) local alpha, x3,y3;\n if 2*deltaE(E) mod p = 0 then error \"ce n' est pas une courbe elliptique modulo %1\",p\n else\n if appartmodp(E, P,p) and appartmodp(E,Q,p) then\n if P<>Origine and Q<>Origine then \n if P[1]<>Q[1] then RETURN(somme1modp(E,P,Q,p))\n elif P[2 ]=Q[2] and Q[2]<> 0 then RETURN(somme2modp(E,P,p))\n else RETU RN(Origine);\n fi; \n elif P=Origine then RETURN(Q)\n el se RETURN(P);\n fi;\n else error \"les points doivent etre sur la \+ courbe !\";\n fi;\n fi;\nend:" }}}{EXCHG {PARA 220 "> " 0 "" {MPLTEXT 1 222 283 "ordremodp:=proc(E,P,p) local n,Q;\nif 2*deltaE(E) \+ mod p = 0 then error \"ce n'est pas une courbe elliptique modulo %1\", p\nelse\n if not(appartmodp(E,P,p)) then RETURN(FAIL) else\n n:=1; Q:=P;\n while Q<>Origine do\n n:=n+1; Q:=sommemodp(E,Q,P,p); od ;\n RETURN(n);\n fi;\nfi;\nend:" }}}{EXCHG {PARA 220 "> " 0 "" {MPLTEXT 1 222 441 "pointsmodp:=proc(E,p) local N, L, i, fx, x, y, o; \nif 2*deltaE(E) mod p = 0 then error \"ce n'est pas une courbe ellipt ique modulo %1\",p\nelse \nL:=[[Origine,1]];N:=1;\n for i from 0 to p- 1 do \n fx:=subs(x=i,x^3+E[1]*x+E[2]) mod p;\n if fx=0 then L:=[op( L),[[i,0],2]]; N:=N+1\n else y:=numtheory[msqrt](fx,p);\n if y<> FAIL then o:=ordremodp(E,[i,y],p); L:=[op(L),[[i,y],o],[[i,-y],o]]; N :=N+2;\n fi;\n fi;\n od;\nRETURN([N,L]);\nfi;\nend:" }}}{EXCHG {PARA 220 "> " 0 "" {MPLTEXT 1 222 168 "candidatsy:=proc(E) local L,r, i,d;\n L:=ifactors(4*E[1]^3+27*E[2]^2); r:=1;\n for d in L[2] do r:= r*d[1]^iquo(d[2],2);od;\n RETURN([0,op(numtheory[divisors](r))]);\nen d:" }}}{EXCHG {PARA 220 "> " 0 "" {MPLTEXT 1 222 158 "trouverx:=proc(E ,y) local x,sol,L,d;\nsol:=\{solve(y^2=x^3+E[1]*x+E[2],x)\};\nL:=[]; f or d in sol do if type(d,integer) then L:=[op(L),d]; fi; od;\nRETURN(L );\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 369 "transf:=proc(f ) local F,a,b,c; # f sera present\351 sous la forme : y^2+ay+bxy= poly nome en x de degr\351 3\n F:=-lhs(f)+rhs(f);\n a:=coeff(F,y) ;\n if a< >0 then\n F:=expand(subs(y=y+a/2,F)) \n fi;\n b:=coeff(coeff(F,x),y) ; \n if b<>0 then\n F:=expand(subs(y=y+b*x/2,F)) \n fi;\n c:=coeff(F,x^2 );\n if c<>0 then\n F:=expand(subs(x=x-c/3,F))\n fi;\n RETURN(y^2=sort (algsubs(y^2=0,F)));\nend:" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "Q uestion 1" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 260 "ordre:=proc(E, P) local n,Q;\nif not(appart(E,P)) then RETURN(FAIL) else\n n:=1; Q:= P;\n while type(Q[1],integer) and type(Q[2],integer) and n<12 and Q<> Origine do\n n:=n+1; Q:=somme(E,Q,P); od;\n if Q=Origine then RETURN (n) else RETURN(infinity);\n fi;\nfi;\nend:" }{MPLTEXT 1 224 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "ordre([0,-432],[12,36]);" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 29 "P=(12,36) est donc d'ordre 3." }} }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "Question 2" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 434 "NagellLutz:=proc(E) local Ly,ctors,tors,x,y, t,N,o;\nif deltaE(E)=0 then RETURN(FAIL) else\nctors:=[]; Ly:=candidat sy(E);\nfor y in Ly do for x in trouverx(E,y) do ctors:=[op(ctors),[x, y]]; od; od;\ntors:=[[Origine,1]]; N:=1; \nfor t in ctors do\n if t[2 ]=0 then tors:=[op(tors),[t,2]]; N:=N+1;\n else o:=ordre(E,t);\n \+ if o<>infinity then tors:=[op(tors),[t,o],[[t[1],-t[2]],o]]; N:=N+2; \n fi;\n fi;\nod;\nRETURN([N,op(tors)]);\nfi;\nend:" }}{PARA 222 " > " 0 "" {MPLTEXT 1 224 21 "NagellLutz([0,-432]);" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 77 "On trouve 3 points, ce qui est en accord avec le t h\351or\350me de Fermat pour n=3." }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "Question 3" }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "y^2=x^3+3" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "E:=[0,3]; NagellLutz(E);" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 65 "La partie de torsion du groupe de Mordell-Weil est donc triviale." }}}{EXCHG {PARA 220 "> " 0 "" {MPLTEXT 1 222 57 "ifactor(deltaE(E)); nbpointsmodp(E,5); nbpointsmodp (E,7);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 83 "Comme 6 et 13 n'ont pas de diviseur commun, cela red\351montre l'assertion pr\351c\351dente. " }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "y^2=x^3+x" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "E:=[1,0]; NagellLutz(E);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 34 "E(Q)tors est donc isomorphe \340 Z/2Z" }}} {EXCHG {PARA 220 "> " 0 "" {MPLTEXT 1 222 96 "ifactor(deltaE(E)); for \+ i from 3 to 20 do if isprime(i) then print(i,nbpointsmodp(E,i)); fi; o d;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 108 "On sait que le cardinal de E(Q)tors divise 4 mais on n'arrive pas \340 conclure \340 ce stade s' il vaut 1, 2 ou 4." }}}{EXCHG {PARA 220 "> " 0 "" {MPLTEXT 1 222 33 "p ointsmodp(E,3); pointsmodp(E,5);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 303 "On voit que E(Z/3Z) est isomorphe \340 Z/4Z alors que E(Z/5Z) est isomorphe \340 Z/2ZxZ/2Z (3 \351l\351ments d'ordre 2). Comme E(Q)tors s'identifie \340 un sous-groupe de chacun de ces deux groupes, et que ce n'est pas le groupe trivial puisque (0,0) est de torsion, alors n \351cessairement E(Q)tors est isomorphe \340 Z/2Z." }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 15 "y^2=x^3-43x+166" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "E:=[-43,166]; NagellLutz(E);" }}}{EXCHG {PARA 220 "> \+ " 0 "" {MPLTEXT 1 222 97 "ifactor(deltaE(E)); for i from 3 to 12 do if isprime(i) then print(i,nbpointsmodp(E,i)); fi; od; " }}}{EXCHG {PARA 220 "" 0 "" {TEXT 226 197 "Donc soit E(Q)tors est le groupe triv ial, soit il est isomorphe \340 Z/7Z. On ne peut pas conclure sans exh iber de point rationnel non-trivial (donc sans utiliser Nagell-Lutz po ur trouver ce dernier)." }}}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "Que stion 4" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 348 "Il s'agit de diff\351r encier Z/4Z et Z/2ZxZ/2Z, Z/8Z et Z/2ZxZ/4Z, Z/12Z et Z/2ZxZ/6Z ; pour cela, il suffit de consid\351rer par exemple le nombre d'\351l\351men ts d'ordre 2 (faciles \340 d\351terminer) ou la pr\351sence d'un \351l \351ment d'ordre maximal. En effet, un groupe cyclique d'ordre pair co ntient un unique sous-groupe d'ordre 2, donc un unique \351l\351ment d 'ordre 2." }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "Question 5" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "x:='x':y:='y':" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 18 "y^2+7*x*y=x^3+16*x" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 79 "eq:=transf(y^2+7*x*y=x^3+16*x); ifactor(864); \+ eq:=6^6*subs(x=x/6^2,y=y/6^3,eq);" }}}{EXCHG {PARA 224 "> " 0 "" {MPLTEXT 1 227 29 "NagellLutz([-44091,3304854]);" }}}{EXCHG {PARA 224 "" 0 "" {TEXT 215 71 "Il n'y a q'un seul point d'ordre 2 donc E(Q)tor s est isomorphe \340 Z/8Z." }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 21 "y ^2+x*y-5*y=x^3-5*x^2" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 68 "eq:= transf(y^2+x*y-5*y=x^3-5*x^2); eq:=6^6*subs(x=x/6^2,y=y/6^3,eq);" }}} {EXCHG {PARA 224 "> " 0 "" {MPLTEXT 1 227 29 "NagellLutz([-12987,-2634 66]);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 59 "Il ya trois points d'ord re 2 donc il s'agit de Z/2Z X Z/4Z." }}}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "Question 6" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 161 "Tout t riplet Pythagoricien rationnel (x,y,z) s'\351crit s(x',y',z') o\371 (x ',y',z') est primitif et s est rationnel. Alors m=x'y'/2 et n=xy/2 son t reli\351s par n=s^2 m." }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "Que stion 7" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 158 "L:=[]: \nfor a \+ from 1 to 10 do\n for b from 1 to a do\n if igcd(a,b)=1 and ty pe(a*b,even) then L:=[op(L), (a^2-b^2)*a*b];\n fi;\n od;\nod ; \nsort(L);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 45 "Remarquer que 31 ne figure pas dans la liste." }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "Q uestion 8" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "x:=Z^2/4;y:=(X^ 2-Y^2)*Z/8;" }}}{EXCHG {PARA 220 "> " 0 "" {MPLTEXT 1 222 9 "n:=X*Y/2; " }}}{EXCHG {PARA 220 "> " 0 "" {MPLTEXT 1 222 20 "Eq:=y^2-(x^3-n^2*x) ;" }}}{EXCHG {PARA 220 "> " 0 "" {MPLTEXT 1 222 45 "Eq:=algsubs(Z^2=X^ 2+Y^2,normal(Eq,expanded));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 189 "L e point (x,y) appartient donc bien \340 la courbe elliptique En. C'est un point d'ordre infini car il n'est pas d'ordre 2 (y<>0 car 2X^2=Z^2 ne poss\350de pas de solution rationelle non nulle). " }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "Question 9" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 71 "30, qui figure dans la liste de la question 7, est un nom bre congruent." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 147 "for a fr om 1 to 10 do\n for b from 1 to a do\n if igcd(a,b)=1 and type (a*b,even) and (a^2-b^2)*a*b=30 then print(a,b);\n fi;\n od;\no d ;\n" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 43 "Il correspond \340 a=3 e t b=2, donc au point :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "P :=subs(\{X=3^2-2^2,Y=2*3*2,Z=3^2+2^2\},[x,y]);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 14 "V\351rification :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "E:=[-30^2,0]; NagellLutz(E); ordre(E,P);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 81 "E(Q)tors est bien isomorphe au groupe de \+ Klein Z/2ZxZ/2Z et P est d'ordre infini." }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 11 "Question 10" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 " E:=[-31^2,0]; P:=[41^2/7^2,720*41/7^3]; ordre(E,P);" }}}{EXCHG } {EXCHG {PARA 0 "" 0 "" {TEXT -1 51 "P \351tant d'ordre infini, 31 est \+ un nombre congruent." }}}}{PARA 225 "" 0 "" {TEXT -1 0 "" }}}{MARK "12 0 0" 11 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }