Pour classer rapidement sa quadrique "personnelle"
Il s'agit ici de montrer,avec un exemple, comment on peut sauvegarder une commande ou une liste de commandes de Mathematica dans un fichier de son répertoire personnel pour utilisation ultérieure. Il suffira alors de charger ce fichier de la même manière qu'on charge une librairie au cours d'une session de Mathematica.
Reprenons donc la page sur la construction de l'équation d'une quadrique et rassemblons toutes les commandes utiles pour la classification, disons, de sa quadrique "personnelle".
On aura :
---------------
<<LinearAlgebra`MatrixManipulation`
pol := coef = Table[Random[Integer,{-10,10}],{10}]
coeff:= If[coef[[1]] <= 0, (coef[[1]] = -coef[[1]] + 1;coef),coef]
m := {{coeff[[1]],coeff[[4]]/2,coeff[[5]]/2,coeff[[7]]/2},
{coeff[[4]]/2,coeff[[2]],coeff[[6]]/2,coeff[[8]]/2},
{coeff[[5]]/2,coeff[[6]]/2,coeff[[3]],coeff[[9]]/2},
{coeff[[7]]/2,coeff[[8]]/2,coeff[[9]]/2,coeff[[10]]}}
classquad[m_]:= Module[{mat, gd, pd, tr, sm, deg, class},
mat=m;gd=Det[mat];pd=Minors[mat,3][[1,1]];tr=Sum[mat[[k,k]],{k,3}];
sm=Sum[Minors[TakeMatrix[mat,{1,1},{3,3}],2][[k,k]],{k,3}];
deg=Sum[Minors[mat,3][[k,k]],{k,2,4}];inv={gd,pd,tr,sm,deg};
class=Which[TakeMatrix[mat, {1, 1}, {3, 3}] == {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}},"pas une quadrique!",
pd!=0 && gd>0 && pd*tr>0 &&
sm>0,"ellipsoide imaginaire",
pd!=0 && gd<0 && pd*tr>0 && sm>0,"ellipsoide",
pd!=0 && gd<0 && (pd*tr<=0||sm<=0),"hyperboloide
a deux nappes",
pd!=0 && gd>0 && (pd*tr<=0||sm<0),"hyperboloide
a une nappe",
pd!=0 && gd==0 && pd*tr>0 && sm>0,"cone
imaginaire",
pd!=0 && gd==0 && (pd*tr<=0||sm<=0),"cone",
pd==0 && gd<0 && sm>0, "paraboloide elliptique",
pd==0 && gd>0 && sm<0,"paraboloide
hyperbolique",
pd==0 && gd==0 && sm>0 && deg!=0,"cylindre
elliptique",
pd==0 && gd==0 && sm<0 && deg!=0,"cylindre
hyperbolique",
pd==0 && gd==0 && sm==0 && deg!=0,"cylindre
parabolique",
pd==0 && gd==0 && sm==0 && deg==0,"paire
de plans",1==1,
"pas une quadrique!"]]
classifquadpers[x_]:= (SeedRandom[ToString[x]];pol;coeff;m;classquad[m])
---------------
Dans Unix, on crée un fichier, disons classquadpers.m, dont le contenu sera une copie conforme des lignes entre les traits ------
ci-dessus, copie obtenue par la méthode copier/coller bien connue.
Une fois ce fichier sauvegardé, on pourra le charger au besoin dans sa session de Mathematica avec la commande :
<<classquadpers.m
Ceci fait, l'usager tintin pourra trouver le type de sa quadrique personnelle en exécutant la commande :
classifquadpers[tintin]
Il aura la réponse en moins d'un dixième de seconde, comme il pourra le mesurer s'il a chargé, auparavant, le fichier krono.m
A noter bien sûr que chacun peut choisir à sa guise l'argument de la commande classifquadpers !
Retour à ma page
personnelle
©jmt : création le 000927 - dernière modification le 011121