Previous Up Next

Chapitre 17  Les quadriques

17.1  Équation d’une quadrique

Une forme quadratique de 4 variables X,Y,Z,T peut s’interpréter dans l’espace projectif Oxyz comme le premier membre de l’équation d’une quadrique.
Par exemple soit :
q(x,y,z):=4*x2+y2+z2-4*x*y+4*x*z-2*y*z+8*x-4*y+4*z+2
q(x,y,z)=0 est l’équation d’une quadrique.
On associe à q la forme quadradique Q :
Q(x,y,z,t):=normal(t^2*normal(q(x/t,y/t,z/t)))
et la matrice carrée A d’ordre 4 :
A:=q2a(Q(x,y,z,t),[x,y,z,t])
On obtient :
A:=[[4,-2,2,4],[-2,1,-1,-2],[2,-1,1,2],[4,-2,2,2]]
on retrouve la forme Q à partir de A si :
v:=[x,y,z,t]
la forme quadratique est :
Q(op(v)):=normal((v*A*tran(v))[0]) ou plus simplement :
Q(op(v)):=normal(v*A*v)
on retrouve la forme Q à partir de A si :
v1:=[x,y,z,1]
q(op(v1)):=normal(v1*A*v1)
et Q(v)=0 représente une quadrique Q de l’espace projectif.
Les points doubles de Q vérifie A*tran(v)=[0,0,0,0] ie tran(v) est un élément du noyau de A.
Discussion selon le rang r de A : r:=rank(A)

17.2  Équation reduite d’une quadrique

Pour réaliser la réduction de l’équation d’une quadrique, on pose :
B:=A[0..2,0..2];
C:=A[0..2,3];
d:=A[3,3];
Les directions propres de B sont les directions principales de la quadrique Q.
Comme une matrice symétrique réelle est diagonalisable dans un repère orthonormé, il existe un repère orthonormé (O,u,v,w) dans lequel la quadrique a comme équation :
s1*x12+s2*y12+s3*z12+2c1*x1+2*c2*y1+2*c3*z1+d1=0
s1,s2,s3 sont les valeurs propres de B et u,v,w sont les vecteurs propres associés, choisis normés et orthogonaux.
Remarques

Voici les différents cas :

Pour faciliter l’étude des différents cas le programme jortho va renvoyer 6 valeurs :
les 3 valeurs propres (en regroupant les valeurs propres égales et non nulles au début et en mettant les valeurs propres nulles à la fin) et les 3 vecteurs propres seront normés et orthogonaux sauf pour les vecteurs propres associés à 0.
Soit les trois valeurs propres sont : s1,s2,s3 et les trois vecteurs propres associés sont : u,v,w.
On a soit les zeros déjà à la fin et les valeurs égales non nulles déjà regroupées au début, soit on peut avoir 8 cas ( a!=0,b!=0,a!=b) :
(0,a,b) ou (0,a,a) ou (0,a,0) ou (b,a,a) ou (a,b,a) ou (0,0,a) ou (a,0,b) ou (a,0,a).
Pour les quatre premiers cas : Si (s1==0 ou s2==s3) et s2!=0) on renvoie s2,s3,s1 et v,w,u .
Ainsi on a maintenant :
(a,b,0) ou (a,a,0) ou (a,0,0) ou (a,a,b) ou (a,b,a) ou (0,0,a) ou (a,0,b) ou (a,0,a).
Pour les quatre derniers cas, on a :
(s2==0 ou s1==s3) et s3!=0) on renvoie s3,s1,s2 et w,u,v.
Il faut rendre u,v othogonaux lorsque s1==s2 si v*u!=0
v1:=-(v*u)*u+(u*u)*v ainsi v1*u=0 il faut rendre v,w othogonaux lorsque s3==s2==0 si v*w!=0
puis on norme u,v,w.
Voici les programmes :
jortho renvoie les valeurs propres et les vecteurs propres orthonormés.
quadrique renvoie la nouvelle origine la matrice de passage et la forme reduite ainsi que la verification.

jortho(A):={
local P,J,u,v,w,s1,s2,s3,a,b;
(P,J):=jordan(A);
u:=P[0..2,0];
v:=P[0..2,1];
w:=P[0..2,2];
s1:=J[0,0];
s2:=J[1,1];
s3:=J[2,2];
if ((s1==0 || s2==s3) && s2!=0){
b:=u;
u:=v; 
v:=w;
w:=b;
a:=s1;
s1:=s2;
s2:=s3;
s3:=a;
}
if ((s2==0|| s1==s3)&& s3!=0){
b:=w;
w:=v; 
v:=u;
u:=b;
a:=s3;
s3:=s2;
s2:=s1;
s1:=a;
}
//si s1==s2 et si v*u!=0 
a:=normal(u*u);
b:=normal(v*u);
if (b!=0) {
v:=-b*u+a*v;
}
//on norme u
u:=u/sqrt(a);
//si s3==s2==0 et si v*w!=0 
a:=normal(v*v);
b:=normal(v*w);
if (b!=0) {
w:=-b*v+a*w;
}
//on norme w et v 
w:=w/sqrt(normal(w*w));
v:=v/sqrt(a);
return (s1,s2,s3,u,v,w);
};

Le programme Quadrique renvoie le repere (la nouvelle origine et la matrice de passage) et l’équation réduite dans ce repère :

//q0(x,y,z):=4*x^2+y^2+z^2-4*x*y+4*x*z-2*y*z+8*x-4*y+4*z+2 
//           (s2=s3=0,c2=c3=0)
//q1(x,y,z):=x^2+3*y^2-3*z^2-8*y*z+2*z*x-4*x*y-1 
//           (s3=0,c3=0)
//q2(x,y,z):=5*x^2+y^2+z^2-2*x*y+2*x*z-6*y*z+2*x+4*y-6*z+1 
//           (s1,s2,s3!=0)
//Quadrique(q2)=[(-1)/2,-1,1/2],[[0,2/(sqrt(6)),
//-(1/(sqrt(3)))],[1/(sqrt(2)),-(1/(sqrt(6))),-(1/(sqrt(3)))],
//[1/(sqrt(2)),1/(sqrt(6)),1/(sqrt(3))]],
//-2*X^2+6*Y^2+3*Z^2-3
//q3(x,y,z):=2*x^2+2*y^2+z^2+2*x*z-2*y*z+4*x-2*y-z+3 
//           (s3=0,c3!=0)
//q4(x,y,z):=4*x^2+y^2+z^2-4*x*y+4*x*z-2*y*z+8*x-
//           6*y+4*z+2 
//           (((s2=s3=0,c2!=0||c3!=0))
//q5(x,y,z):=x^2+2*y^2-z^2-4*x*y+4*x*z+4*y*z+6*x-
//           4*y+2*z+1 
//           (root of)
//q6(x,y,z):=(x+y)*(y-z)+3*x-5*y 
//             (s3=0,c3!=0)
//q7(x,y,z):=7*x^2+4*y^2+4*z^2+4*x*y-4*x*z-2*y*z-
//             4*x+5*y+4*z-18 
//           (s1,s2,s3!=0)
//q8(x,y,z):=-x^2-3*z^2-4*x*y+4*x*z+4*y*z+6*x-4*y+2*z+1 
//q9(x,y,z):=x^2-3*x*y+y^2+x-y-z^2/2+sqrt(10)/5*z
//q est une fct de 3 variables de degre 2
//Quadrique renvoie la nouvelle origine,
// la matrice de passage,
//la forme reduite avec le vecteur de variables et
//la verification par ex pour q4 
//B:=[[4,-2,2],[-2,1,-1],[2,-1,1]];C:=[4,-3,2];
Quadrique(q):={
local Q,A,B,C,d,J,r,P,O1,c,c1,c2,c3,c4,s1,s2,
      s3,u,v,w,v1,w1,N,k;
Q(x,y,z,t):=normal(t^2*normal(q(x/t,y/t,z/t)));
A:=q2a(Q(x,y,z,t),[x,y,z,t]);
r:=rank(A);
B:=A[0..2,0..2];
C:=A[0..2,3];
d:=A[3,3];
//on rend P orthogonale sauf si il y a des val propres =0 
(s1,s2,s3,u,v,w):=jortho(B);
P:=tran([u,v,w]);
//c:=normal(diff(C*P*[x,y,z],[x,y,z]));
c:=normal(C*P);
//les vp nulles sont a la fin
c1:=c[0];
c2:=c[1];
c3:=c[2];
if (s1*s2*s3!=0) {
O1:=normal(-c1/s1*u-c2/s2*v-c3/s3*w);
//O1:=solve(B*[x,y,z]+C,[x,y,z])[0];
d:=q(O1[0],O1[1],O1[2]);
return (O1,P,s1*X^2+s2*Y^2+s3*Z^2+d,[X,Y,Z],r,
        normal(q(op(O1+P*[X,Y,Z]))));
}
if (s1*s2!=0) {
if (c3!=0) {
O1:=normal(-c1/s1*u-c2/s2*v);
d:=q(O1[0],O1[1],O1[2]);
O1:=normal(-c1/s1*u-c2/s2*v-d/(2*c3)*w);
return (O1,P,s1*X^2+s2*Y^2+2*c3*Z,[X,Y,Z],r,
           normal(q(op(O1+P*[X,Y,Z]))));
}
if (c3==0) {
O1:=normal(P*[-c1/s1,-c2/s2,0]);
d:=q(O1[0],O1[1],O1[2]);
return (O1,P,s1*X^2+s2*Y^2+d,[X,Y,Z],r,
           normal(q(normal(op(O1+P*[X,Y,Z])))));
}
}
if (s1!=0) {
if (c2 !=0 or c3 !=0) {
c4:=sqrt(c2^2+c3^2);
v1:=normal(P*[0,c3,-c2]/c4);
w1:=normal(P*[0,c2,c3]/c4);
O1:=normal(P*[-c1/s1,0,0]);
d:=q(O1[0],O1[1],O1[2]);
P:=P[0..2,0..0];
P:=border(P,v1);
P:=border(P,w1);
//en fait le nouveau c3 ci dessous ==c4 mais 
//ca ne marche pas avec c4 mystere (corrige?)
//c:=normal(diff(C*P*[x,y,z],[x,y,z]));
//c3:=c[2];
//O1:=O1+normal(P*[0,0,-d/(2*c3)]);
O1:=O1+normal(P*[0,0,-d/(2*c4)]);
d:=q(O1[0],O1[1],O1[2]);
return (O1,P,s1*X^2+2*c3*Z+d,[X,Y,Z],r,
        normal(q(normal(op(O1+P*[X,Y,Z])))));
//return (O1,P,s1*X^2+2*c4*Z+d,[X,Y,Z],r,
//          normal(q(op(O1+P*[X,Y,Z]))));
}
if (c2==0 && c3==0) {

//on rend P orthogonale
k:=normal(v*v);
w:=normal(-(w*v)*v+k*w);
w:=normal(w/sqrt(normal(w*w)));
v:=normal(v/sqrt(k));
P:=tran([u,v,w]);
O1:=normal(P*[-c1/s1,0,0]);
d:=q(O1[0],O1[1],O1[2]);

return (O1,P,s1*X^2+d,[X,Y,Z],r,
         normal(q(op(O1+P*[X,Y,Z]))));
}
}
}

On tape :
q0(x,y,z):=4*x^2+y^2+z^2-4*x*y+4*x*z-2*y*z+8*x-4*y+4*z+2
Quadrique(q0)
On obtient :
[(-2)/3,1/3,(-1)/3],[[2/(sqrt(6)),(sqrt(5))/5,(sqrt(30))/15],
[-(1/(sqrt(6))),0,(sqrt(30))/6],[1/(sqrt(6)),(-2*sqrt(5))/5,
(sqrt(30))/30]],6*X^2-2,[X,Y,Z],2,6*X^2-2
On tape :
q1(x,y,z):=x^2+3*y^2-3*z^2-8*y*z+2*z*x-4*x*y-1
Quadrique(q1)
On obtient :
[0,0,0],[[0,1/(sqrt(6)),5*(-(1/(sqrt(30))))],[1/(sqrt(5)),
2*(-(1/(sqrt(6)))),2*(-(1/(sqrt(30))))],[2/(sqrt(5)),
1/(sqrt(6)),1/(sqrt(30))]],-5*X^2+6*Y^2-1,[X,Y,Z],3,
6*Y^2-5*X^2-1
On tape :
q2(x,y,z):=5*x^2+y^2+z^2-2*x*y+2*x*z-6*y*z+2*x+4*y-6*z+1
Quadrique(q2)
On obtient :
[(-1)/2,-1,1/2],[[0,2/(sqrt(6)),-(1/(sqrt(3)))],[1/(sqrt(2)),
-(1/(sqrt(6))),-(1/(sqrt(3)))],
[1/(sqrt(2)),1/(sqrt(6)),1/(sqrt(3))]],
-2*X^2+6*Y^2+3*Z^2-3,[X,Y,Z],4
3*Z^2+6*Y^2-2*X^2-3
On tape :
q3(x,y,z):=2*x^2+2*y^2+z^2+2*x*z-2*y*z+4*x-2*y-z+3
Quadrique(q3)
On obtient :
[(-113)/144,41/144,17/72],
[[1/(sqrt(3)),-(1/(sqrt(2))),1/(sqrt(6))],
[-(1/(sqrt(3))),-(1/(sqrt(2))),
-(1/(sqrt(6)))],[1/(sqrt(3)),
0,2*(-(1/(sqrt(6))))]],
3*X^2+2*Y^2+(2*2*sqrt(6)*Z)/3,
[X,Y,Z],4,3*X^2+(4*sqrt(6)*Z)/3+2*Y^2
On tape :
q4(x,y,z):=4*x^2+y^2+z^2-4*x*y+4*x*z-2*y*z+8*x-6*y+4*z+2
Quadrique(q4)
On obtient :
[(-227)/180,(-71)/72,(-227)/360],
[[2/(sqrt(6)),(-(sqrt(5)))/5,(-(sqrt(30)))/15],
[-(1/(sqrt(6))),0,(-(sqrt(30)))/6],
[1/(sqrt(6)),(2*sqrt(5))/5,(-(sqrt(30)))/30]],
6*X^2+(2*sqrt(30)*Z)/6,[X,Y,Z],3,
(48*sqrt(30)*Z)/144+6*X^2
On tape :
q5(x,y,z):=x^2+2*y^2-z^2-4*x*y+4*x*z+4*y*z+6*x-4*y+2*z+1
Quadrique(q5)
On obtient :
[(-15)/13,5/13,(-7)/13],[[(-2)/3,(-sqrt(13)+1)/(sqrt(-8*sqrt(13)+52)),
(sqrt(13)+1)/(sqrt(8*sqrt(13)+52))],[(-1)/3,4/(sqrt(-8*sqrt(13)+52)),
4/(sqrt(8*sqrt(13)+52))],[(-2)/3,(sqrt(13)-3)/(sqrt(-8*sqrt(13)+52)),
(-sqrt(13)-3)/(sqrt(8*sqrt(13)+52))]],
2*X^2+sqrt(13)*Y^2+(-(sqrt(13)))*Z^2+(-49)/13,[X,Y,Z],4,
((-2*sqrt(13))*Z^2)/2+(2*sqrt(13)*Y^2)/2+2*X^2+(-49)/13
On tape :
q6(x,y,z):=(x+y)*(y-z)+3*x-5*y
Quadrique(q6)
On obtient :
[16/9,8/9,11/9],[[1/(sqrt(2)),1/(sqrt(6)),-(1/(sqrt(3)))],
[0,2/(sqrt(6)),1/(sqrt(3))],[1/(sqrt(2)),-(1/(sqrt(6))),
1/(sqrt(3))]],(X^2)/-2+(3*Y^2)/2+(2*(-4*sqrt(3))*Z)/3,
[X,Y,Z],4,-(X^2)/2-(8*sqrt(3)*Z)/3-(-3*Y^2)/2
On tape :
q7(x,y,z):=7*x^2+4*y^2+4*z^2+4*x*y-4*x*z-2*y*z-4*x+5*y+4*z-18
Quadrique(q7)
On obtient :
[11/27,(-26)/27,(-29)/54],[[1/(sqrt(5)),54*(-(1/(sqrt(30)*27))),
2/(sqrt(6))],[0,5/(sqrt(30)),1/(sqrt(6))],[2/(sqrt(5)),1/(sqrt(30)),
-(1/(sqrt(6)))]],3*X^2+3*Y^2+9*Z^2+(-602)/27,
[X,Y,Z],4,3*Y^2+3*X^2+9*Z^2+(-602)/27
On tape :
q8(x,y,z):=-x^2-3*z^2-4*x*y+4*x*z+4*y*z+6*x-4*y+2*z+1
Quadrique(q8)
On obtient (c’est tres long!):
[(-11)/54,223/108,61/54],[[(-sqrt(13)+1)/(sqrt(-8*sqrt(13)+52)),
(sqrt(13)+1)/(sqrt(8*sqrt(13)+52)),(-2)/3],[4/(sqrt(-8*sqrt(13)+52)),
4/(sqrt(8*sqrt(13)+52)),(-1)/3],[(sqrt(13)-3)/(sqrt(-8*sqrt(13)+52)),
(-sqrt(13)-3)/(sqrt(8*sqrt(13)+52)),(-2)/3]],
(sqrt(13)-2)*X^2+(-sqrt(13)-2)*Y^2-4*Z,[X,Y,Z],4,
((-4+2*sqrt(13))*X^2)/2+((-4-2*sqrt(13))*Y^2)/2-4*Z
On tape :
q9(x,y,z):=x^2-3*x*y+y^2+x-y-z^2/2+sqrt(10)/5*z
Quadrique(q9)
On obtient un cône car r=3 :
[-1/5,1/5,(sqrt(10))/5],[[1/(sqrt(2)),1/(sqrt(2)),0],[-(1/(sqrt(2))),
1/(sqrt(2)),0],[0,0,1]],(5*X^2)/2+(Y^2)/(-2)+(Z^2)/(-2),[X,Y,Z],3,
5/2*X^2+(-1)/2*Y^2+(-1)/2*Z^2
On tape :
q10(x,y,z):=x^2-3*x*y+y^2-x-y-z^2/2+sqrt(10)/5*z
Quadrique(q10)
On obtient :
[-1,-1,(sqrt(10))/5],[[1/(sqrt(2)),1/(sqrt(2)),0],
[-(1/(sqrt(2))),1/(sqrt(2)),0],[0,0,1]],
(5*X^2)/2+(Y^2)/(-2)+(Z^2)/(-2)+6/5,[X,Y,Z],4,
5/2*X^2+(-1)/2*Y^2+(-1)/2*Z^2+6/5


Previous Up Next