Calcul formel : Mode d'emploi - Exemples en Maple

Claude Gomez, Bruno Salvy, Paul Zimmermann

Masson, 1995

Chapitre V, section 3.4, exercice 7, page 142.

Philippe.Dumas@inria.fr
http://algo.inria.fr/dumas/Maple/

Page du Projet Algorithmes | Page de Philippe Dumas | Page Maple de Philippe Dumas

Retour en page principale
Table des matières
Index
Maple V.4 worksheet
Maple V.5 worksheet


Nous définissons la matrice.

> A:=matrix(3,3,[-1/2,v/u,w/u,
u/v,-1/2,w/v,
u/w,v/w,-1/2]):
M:=evalm(-2/3*A);

[Maple Math]

Sans nous poser de questions, nous demandons les valeurs propres et les vecteurs propres.

> linalg[eigenvects](M);

[Maple Math]

Nous obtenons une jolie réponse, ce qui montre que l'exercice est convenablement truqué. Bien sûr, nous n'avons traité que le cas générique car les lettres u, v, w sont des indéterminées. Cependant les valeurs propres ne dépendent pas de u, v, w (on peut vérifier que le polynôme caractéristique dont on attend qu'il soit à coefficients dans Q(u,v,w) est en fait à coefficients constants). De plus les vecteurs propres obtenus pour la valeur propre double sont indépendants quel que soit le jeu de valeurs que l'on donne aux indéterminées. Donc pour ce qui est de l'interprétation sur n'importe quel corps (de caractéristique différente de 2 pour que 1 et -1 restent distincts) la seule contrainte est celle indiquée par l'énoncé.

Pour obtenir la matrice de changement de base, le plus simple est d'en appeler à linalg/jordan.

> linalg[jordan](M,'P');

[Maple Math]

> print(P);

[Maple Math]

L'interprétation géométrique est évidente : les seules valeurs propres sont 1 et -1, donc nous avons affaire à une symétrie, précisément une symétrie par rapport à un hyperplan d'après les dimensions des sous-espaces propres.

Pour obtenir une isométrie (les indéterminées sont interprétées comme des réels), il suffit d'ecrire la condition usuelle sur les matrices orthogonales : la transposée de M fois M vaut la matrice identique.

> Test:=evalm(transpose(M)&*M-&*());

[Maple Math]

Il faut écrire que les neuf coefficients de cette matrice sont nulles. Nous extrayons donc les coefficients et nous les rangeons dans un ensemble.

> entries(Test);

[Maple Math]
[Maple Math]
[Maple Math]

> test:=map(op,{entries(Test)});

[Maple Math]
[Maple Math]

On aurait pu aussi employer l'instruction suivante.

> convert(Test,set);

[Maple Math]
[Maple Math]

Seuls les numérateurs nous intéressent.

> test:=map(numer,test);

[Maple Math]
[Maple Math]
[Maple Math]

Plein d'optimisme, nous faisons appel à solve.

> sol:=[solve(test,{u,v,w})];

[Maple Math]
[Maple Math]
[Maple Math]

Et cela marche ! Nous évacuons cependant les solutions où l'un des paramètres est nul, puisque cette condition est imposée depuis le début.

> sol:=remove(has,sol,0);

[Maple Math]
[Maple Math]

Nous avons ainsi quatre solutions, que nous explicitons.

> for i in sol do
i,subs(i,eval(M))
od;

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

Nous avons obtenu quatre matrices de symétries orthogonales par rapport à des hyperplans (des réflexions ou miroirs). Ces transformations sont auto-adjointes et nous constatons que les matrices sont bien symétriques. Précisons que nous avons implicitement supposé que la base de référence est orthonormée, autant pour écrire que nous avions affaire à une matrice orthogonale que dans cette dernière affirmation sur la symétrie de la matrice d'une transformation auto-adjointe.

Retour en page principale