Algèbre T1
type(g,disjcyc(n)) renvoie true si g est un élément de S n donné comme
une liste de cycles à supports disjoints et false sinon.
Remarque. Concernant toutes les commandes Maple suivantes (et toutes
les procédures que vous serez amenés à écrire), sauf mention du contraire, il
sera sous-entendu que les permutations sont entrées comme listes de cycles
à supports disjoints.
– Opérations sur les permutations. Elles sont données par les commandes
invperm, mulperms (inverse et produit respectivement). Le neutre est [ ].
– Définition d’un groupe de permutations. La commande Maple
G:=permgroup(n,{g1,...,gr}) définit le sous-groupe G de S n par
un ensemble g 1 , . . . , g r de générateurs. On peut alors tester si g appartient
à G par groupmember(g,G) et calculer le cardinal par grouporder(G).
Remarque. A priori, tous les algorithmes à la base des commandes Maple
utilisés dans cette feuille sont connus du lecteur, à l’exception précisément de
groupmember et de grouporder dont l’implémentation dépassant le cadre de ce
TP sera passée sous silence (voir cependant la question 4.). Le lecteur intéressé
pourra consulter [10], chapitre 8, ou attendre le TP.II.
Les groupes S n et A n
☞ Quelques commandes Maple utiles : seq, nops, op, type( ,odd).
1. Calculer mulperms([[1,2]],[[1,3]]) et mulperms([[1,3]],[[1,2]]). Que
constate-t-on ? Écrire une procédure multperm:=proc(g1,g2) renvoyant g1 ◦ g2.
2. La commande combinat[permute](n) renvoie la liste de tous les éléments de
S n en tant que « permutation lists ». Définir S 3 avec la commande permgroup et
donner la liste de ses éléments à l’aide de la commande elements. Comparer avec
le résultat de la commande combinat[permute](3).
3. Écrire des fonctions définissant sous Maple, pour n un entier quelconque
donné, le groupe S n à partir des systèmes de générateurs suivants :
– les transpositions (1, 2), (2, 3), . . . , (n − 1, n) ;
– la transposition (1, 2) et le n-cycle (1, 2, . . . , n).
Vérifier, pour différentes valeurs de n, que l’on obtient bien S n tout entier (et le
démontrer au papier-crayon pour tout n).
34
type(g,disjcyc(n)) renvoie true si g est un élément de S n donné comme
une liste de cycles à supports disjoints et false sinon.
Remarque. Concernant toutes les commandes Maple suivantes (et toutes
les procédures que vous serez amenés à écrire), sauf mention du contraire, il
sera sous-entendu que les permutations sont entrées comme listes de cycles
à supports disjoints.
– Opérations sur les permutations. Elles sont données par les commandes
invperm, mulperms (inverse et produit respectivement). Le neutre est [ ].
– Définition d’un groupe de permutations. La commande Maple
G:=permgroup(n,{g1,...,gr}) définit le sous-groupe G de S n par
un ensemble g 1 , . . . , g r de générateurs. On peut alors tester si g appartient
à G par groupmember(g,G) et calculer le cardinal par grouporder(G).
Remarque. A priori, tous les algorithmes à la base des commandes Maple
utilisés dans cette feuille sont connus du lecteur, à l’exception précisément de
groupmember et de grouporder dont l’implémentation dépassant le cadre de ce
TP sera passée sous silence (voir cependant la question 4.). Le lecteur intéressé
pourra consulter [10], chapitre 8, ou attendre le TP.II.
Les groupes S n et A n
☞ Quelques commandes Maple utiles : seq, nops, op, type( ,odd).
1. Calculer mulperms([[1,2]],[[1,3]]) et mulperms([[1,3]],[[1,2]]). Que
constate-t-on ? Écrire une procédure multperm:=proc(g1,g2) renvoyant g1 ◦ g2.
2. La commande combinat[permute](n) renvoie la liste de tous les éléments de
S n en tant que « permutation lists ». Définir S 3 avec la commande permgroup et
donner la liste de ses éléments à l’aide de la commande elements. Comparer avec
le résultat de la commande combinat[permute](3).
3. Écrire des fonctions définissant sous Maple, pour n un entier quelconque
donné, le groupe S n à partir des systèmes de générateurs suivants :
– les transpositions (1, 2), (2, 3), . . . , (n − 1, n) ;
– la transposition (1, 2) et le n-cycle (1, 2, . . . , n).
Vérifier, pour différentes valeurs de n, que l’on obtient bien S n tout entier (et le
démontrer au papier-crayon pour tout n).
34
