Algèbre T1
6. On désire déterminer l’ordre d’un point P ∈ E(Q) dont les coordonnées (x, y)
sont entières : on calcule donc les multiples nP successivement. Si P est d’ordre
infini, dire pourquoi on trouvera un point nP n’ayant plus ses coordonnées
entières au bout de quelques itérations. Pourquoi est-il suffisant d’aller jusqu’à n = 12 ? En déduire un algorithme de calcul de l’ordre. La procédure
ordre(E,P) renverra infinity si P est d’ordre infini, et l’entier égal à l’ordre
de P sinon.
Tester votre procédure sur l’exemple habituel ; on répondra notamment à la
conjecture de la question 4.
7. Écrire une procédure NagellLutz(E) renvoyant la liste formatée comme suit :
[N,[[O,1],[[x1,y1],r1],...,[[xn,yn],rn]]] des N éléments de E(Q) tors ,
qui sont, outre O (d’ordre 1), les (x i , y i ), d’ordre r i . On pourra utiliser les
lignes de commandes suivantes :
>candidatsy:=proc(E) local L,r,i,d;
L:=ifactors(4*E[1]^3+27*E[2]^2); r:=1;
for d in L[2] do r:=r*d[1]^iquo(d[2],2); od;
return([O,op(numtheory[divisors](r))]);
end:
>trouverx:=proc(E,y) local x,sol,L,d;
sol:={solve(y^2=x^3+E[1]*x+E[2],x)};
L:=[]; for d in sol do if type(d,integer) then
L:=[op(L),d]; fi; od;
return(L);
end:
Ces procédures donnent respectivement la liste [y1,...,yn] des entiers naturels y tels que y = 0 ou y 2 | Δ et la liste des abscisses entières des points de E
d’ordonnée y.
Tester sur l’exemple habituel ; quelle est la structure de E(Q) tors ?
8. Pour chaque courbe elliptique suivante, déterminer la structure de la partie
de torsion du groupe de Mordell. On utilisera deux méthodes : d’une part la
réduction de E modulo différents p, d’autre part Nagell-Lutz.
– E 1 : y 2 = x 3 + 3 ;
– E 2 : y 2 = x 3 + x ;
172
6. On désire déterminer l’ordre d’un point P ∈ E(Q) dont les coordonnées (x, y)
sont entières : on calcule donc les multiples nP successivement. Si P est d’ordre
infini, dire pourquoi on trouvera un point nP n’ayant plus ses coordonnées
entières au bout de quelques itérations. Pourquoi est-il suffisant d’aller jusqu’à n = 12 ? En déduire un algorithme de calcul de l’ordre. La procédure
ordre(E,P) renverra infinity si P est d’ordre infini, et l’entier égal à l’ordre
de P sinon.
Tester votre procédure sur l’exemple habituel ; on répondra notamment à la
conjecture de la question 4.
7. Écrire une procédure NagellLutz(E) renvoyant la liste formatée comme suit :
[N,[[O,1],[[x1,y1],r1],...,[[xn,yn],rn]]] des N éléments de E(Q) tors ,
qui sont, outre O (d’ordre 1), les (x i , y i ), d’ordre r i . On pourra utiliser les
lignes de commandes suivantes :
>candidatsy:=proc(E) local L,r,i,d;
L:=ifactors(4*E[1]^3+27*E[2]^2); r:=1;
for d in L[2] do r:=r*d[1]^iquo(d[2],2); od;
return([O,op(numtheory[divisors](r))]);
end:
>trouverx:=proc(E,y) local x,sol,L,d;
sol:={solve(y^2=x^3+E[1]*x+E[2],x)};
L:=[]; for d in sol do if type(d,integer) then
L:=[op(L),d]; fi; od;
return(L);
end:
Ces procédures donnent respectivement la liste [y1,...,yn] des entiers naturels y tels que y = 0 ou y 2 | Δ et la liste des abscisses entières des points de E
d’ordonnée y.
Tester sur l’exemple habituel ; quelle est la structure de E(Q) tors ?
8. Pour chaque courbe elliptique suivante, déterminer la structure de la partie
de torsion du groupe de Mordell. On utilisera deux méthodes : d’une part la
réduction de E modulo différents p, d’autre part Nagell-Lutz.
– E 1 : y 2 = x 3 + 3 ;
– E 2 : y 2 = x 3 + x ;
172
