TP19-sol.cas
2.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
restart;maple_mode(1);cas_setup(0,0,0,1,0,1e-10,10,[1,50,0,25],0,0,0); #radians,pas de cmplx, pas de Sqrt
/* -----------------------------------------------Exercice-----------------------------------*/
/* Essayons (1,1) (1,0) (2,1). C'est l'ensemble des points annulant les elements de I.*/
q1:=(x+y-1)*(y-1);q2:=(x-y-1)*(x-1);q3:=(x-1)*(y-1); #Les coniques contenant les 3 points.
I1:=[q1,q2,q3]; #l'ideal des 3 points.
I2:=[q1^2,q1*q2,q2^2,q3^2,q2*q3,q1*q3]; #le carr\'e de l'id\'eal I1.
P:=normal(([1,2,-3,0,-5,6]*transpose(I2))[1]-q2^2);
factor(P);
/* P est irreductible sur Q, mais on ne le sait pas sur C. En revanche, le£dessin suivant ne ressemble ni a la reunion de 2 coniques, ni a la reunion£d'une droite et d'une cubique. P est donc bien irreductible sur C. */
DP:=implicitplot(P,x=-1..4,y=-4..4,xstep=0.01,ystep=0.01,couleur=blue+line_width_3):
/* On trouve 2 element de I1 de degre 2 sans terme constant.*/
C1:=q1-q2;
C2:=q1-q3;
/* Une conique passant par (0,0) et les 3 autres points coupe la quartique en£(0,0) et deux fois les 3 autres points. Ceci se voit sur le resultant. IL y a£un facteur de degre 5 qui ne depend pas de la conique passant par ces 4 points,£et dont les racines sont les projections des 4 points avec multiplicit\'ees. */
factor(gcd(resultant(P,C1,y),resultant(P,C2,y)));
quo(resultant(P,C1,y),x*(x-2)^2*(x-1)^4,x);
quo(resultant(P,C2,y),x*(x-2)^2*(x-1)^4,x);
dernierfacteurx:=quo(resultant(P,C1+t*C2,y),x*(x-2)^2*(x-1)^4,x);
xt:=solve(dernierfacteurx,x);
/* On peut ne pas avoir de chance avec les 2 coniques choisies, ici le pgcd est£ de degre 8 , et pas 7,*/
factor(gcd(resultant(P,C1,x),resultant(P,C2,x)));
/* Mais en prenant une combinaison lineaire generale on voit le facteur£correspondant aux 1+3*2 racines deja connues, On simplifie donc par ce polynome£de degre 7. */
factor(resultant(P,C1+t*C2,x));
dernierfacteury:=quo(resultant(P,C1+t*C2,x),y^3*(y-1)^4,y);
yt:=solve(dernierfacteury,y);
/* On verifie graphiquement la parametrisation.*/
paramplot(xt+I*yt,t=-75..75,tstep=0.01);
/* ----------------------------Exercice---------------------------------------------*/
P:=x^4+x+1;
A:=1/d*add(a[i]*x^i,i=0..degree(P)-1);
H:=d*A;
M:=matrix([seq([seq(coeff(rem(A*x^i,P,x),x,j),i=0..degree(P)-1)],j=0..degree(P)-1)]);
M:=matrix(4,4,(i,j)->coeff(rem(A*x^(j-1),P),x,i-1)); #c'est plus simple
cp:=charpoly(M,x):
res:=resultant(subs(x=y,P),d*x-subs(x=y,H),y): #attention re est un mot reserve
/* le poly caract est 1/d^(deg P) * resultant: verification:*/
normal(d^(degree(P))*cp-res); #ils sont bien egaux
P:=x^4+1;
A:=x^2:H:=A;
M:=matrix([seq([seq(coeff(rem(A*x^i,P,x),x,j),i=0..degree(P)-1)],j=0..degree(P)-1)]);
cp:=charpoly(M,x):
res:=resultant(subs(x=y,P),x-subs(x=y,H),y):
/* le poly caract est 1/d^(deg P) * resultant: verification:*/
normal(cp-res);
/* le poly min est une puissance de:*/
gcd(res,diff(res,x));
pmin(M,x);#ils sont egaux.