Quelques manipulations sur les groupes

> with(group);

[DerivedS, LCS, NormalClosure, RandElement, SnConjugates, Sylow, areconjugate, center, centralizer, core, cosets, cosrep, derived, elements, groupmember, grouporder, inter, invperm, isabelian, isnorma...[DerivedS, LCS, NormalClosure, RandElement, SnConjugates, Sylow, areconjugate, center, centralizer, core, cosets, cosrep, derived, elements, groupmember, grouporder, inter, invperm, isabelian, isnorma...[DerivedS, LCS, NormalClosure, RandElement, SnConjugates, Sylow, areconjugate, center, centralizer, core, cosets, cosrep, derived, elements, groupmember, grouporder, inter, invperm, isabelian, isnorma...

> f:=x->1-x; g:=x->1/x; e:=x->x;

f := proc (x) options operator, arrow; 1-x end proc

g := proc (x) options operator, arrow; 1/x end proc

e := proc (x) options operator, arrow; x end proc

Introduction


Montrer qu'il existe un groupe fini (dont l'opération est la composition) généré par les deux fonctions f et g ci-dessus. Vous procèderez expérimentalement
en en cherchant les éléments puis en donnant la table de multiplication du groupe.

>

Groupe de Permutations

On donne dans les quelques lignes qui suivent un certain nombre d'instructions Maple permettant de manipuler les groupes de permutation. Aidez-vous de l'aide en ligne pour en comprendre  la signification.

> S:=permgroup(4,{[[1,2]],[[3,4]]});

S := permgroup(4, {[[1, 2]], [[3, 4]]})

> grouporder(S);

4

> U:= permgroup(4, {[ ]});U1:=permgroup(4, {[[1,2]]});

U := permgroup(4, {[]})

U1 := permgroup(4, {[[1, 2]]})

> cosets(S,U);elements(S);cosets(S,U1);

{[], [[1, 2]], [[3, 4]], [[1, 2], [3, 4]]}

{[], [[1, 2]], [[3, 4]], [[1, 2], [3, 4]]}

{[], [[3, 4]]}

>

> S2:= permgroup(4, {[[3,4]]});cosets(S2,U);cosets(S,S2);

S2 := permgroup(4, {[[3, 4]]})

{[], [[3, 4]]}

{[], [[1, 2]]}

Multiplier des permutations

> mulperms([[1,2]],[[3,4]]);

[[1, 2], [3, 4]]

> mulperms([[1,2]],[[1,2]]);mulperms([[1,2]],[]);

[]

[[1, 2]]

> mulperms([[1,2]],[[2,3]]);

[[1, 3, 2]]

Orbites d'un élément et d'un ensemble

> orbit({[[1,2]]},1);orbit({[[1,2]]},3);

{1, 2}

{3}

> S:=permgroup(4,{[[1,2]],[[3,4]]});orbit(S,1);orbit(S,3);

S := permgroup(4, {[[1, 2]], [[3, 4]]})

{1, 2}

{3, 4}

> S:=permgroup(5,{[[1,2]],[[3,4]],[[1,2,5]]});grouporder(S);orbit(S,1);orbit(S,3);

S := permgroup(5, {[[1, 2]], [[3, 4]], [[1, 2, 5]]})

12

{1, 2, 5}

{3, 4}

1) Donner une procédure Maple qui étant donné un élément g d'un groupe de permutation G sur {1,...,k} et un sous-ensemble S de {1,...,k} calcule l'ensemble image g(S)={g(s) : s dans S}. Les paramètres seront : g, S et k.

Vous pourriez avoir besoin de la fonction Maple "convert" qui vous permettra de convertir g en une liste.

2) Généraliser pour calculer l'ensemble (d'ensemble) G(S)={g(S) : g dand G}. Ce dernier ensemble donne tous les ensembles images de S par un élément de G. L'union de tous ces élements est à nouveau l'orbite de S par G.

>

Stabilisateur d'un élément

Etant donné un élément s  {1..k}, le stabilisateur de s par G est l'ensemble : StabGs={g dans G : g(s)=s}.

3) Donner une procédure Maple qui calcule de stabilisateur de s par G. Si vous avez le temps, généraliser pour obtenir le stabilisateur StabGS de n'importe quel sous-ensemble S de {1..k} par G.

4) Vérifier (à l'aide de Maple) que l'ensemble StabGs (et StabGS) est un sous-groupe de G.

5) Pour tout s (ou tout sous-ensemble S)  les nombres d'éléments de G, G(s) et StabGs vérifient une égalité. Laquelle ?

Générer le groupe Sn pour différents n

> Sn:=permgroup(5,{seq([[i,i+1]], i=1..4)});

Sn := permgroup(5, {[[1, 2]], [[3, 4]], [[2, 3]], [[4, 5]]})

> U:= permgroup(5, {[ ]});grouporder(Sn);cosets(Sn,U):elements(Sn):

U := permgroup(5, {[]})

120

> OrbitG(Sn,{1});

{{1, 2}, {1}, {1, 2, 3}, {1, 2, 3, 4}, {1, 3}, {1, 3, 4}, {1, 2, 3, 4, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}, {1, 3, 5}, {1, 2, 3, 5}, {1, 5}, {1, 2, 5}, {1, 2, 4}, {1, 4}, {1, 4, 5}}{{1, 2}, {1}, {1, 2, 3}, {1, 2, 3, 4}, {1, 3}, {1, 3, 4}, {1, 2, 3, 4, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}, {1, 3, 5}, {1, 2, 3, 5}, {1, 5}, {1, 2, 5}, {1, 2, 4}, {1, 4}, {1, 4, 5}}{{1, 2}, {1}, {1, 2, 3}, {1, 2, 3, 4}, {1, 3}, {1, 3, 4}, {1, 2, 3, 4, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}, {1, 3, 5}, {1, 2, 3, 5}, {1, 5}, {1, 2, 5}, {1, 2, 4}, {1, 4}, {1, 4, 5}}

> SnPrime:=permgroup(5,{seq([[i,i+1]], i=1..3)});

SnPrime := permgroup(5, {[[1, 2]], [[3, 4]], [[2, 3]]})

> cosets(Sn,SnPrime);

{[], [[4, 5]], [[1, 3, 2, 4, 5]], [[2, 4, 5, 3]], [[2, 4, 5]]}

> orbit(Sn,5);

{1, 2, 3, 4, 5}

> orbit(SnPrime,5);

{5}

> map([[1,2]],{3});

{[[1, 2]]}

Définir un groupe par générateurs et relations

>

Le groupe cyclique d'ordre 4

> C4:=grelgroup({a},{[a,a,a,a]}); grouporder(C4);

C4 := grelgroup({a}, {[a, a, a, a]})

4

> U:=subgrel({e=[]},C4);

U := subgrel({e = []}, grelgroup({a}, {[a, a, a, a]}))

> CC4:=cosets(U);

CC4 := {[], [a, a, a], [a], [a, a], [b], [b, a], [b, a, a], [b, a, a, a]}

>

>

Le groupe dihedral Dn, groupe de symétries d'un régulier polygone à n cotés noté 1,...,n. Généré par la rotation d'angle 2*pi/n et la symétrie axiale d'axe passant par le sommet 1 et le centre du polygone (associe chaque i à n +2 - i mod n). Pour D4, on a :

> D4:=grelgroup({a,b,1/a,1/b},{[a,1/a],[b,1/b],[a,a,a,a],[b,b],[b,a,1/b,1/a]});

D4 := grelgroup({a, b, 1/b, 1/a}, {[a, a, a, a], [a, 1/a], [b, 1/b], [b, b], [b, a, 1/b, 1/a]})

> U:=subgrel({e=[]},D4); cosets(U);

U := subgrel({e = []}, grelgroup({a, b, 1/b, 1/a}, {[a, a, a, a], [a, 1/a], [b, 1/b], [b, b], [b, a, 1/b, 1/a]}))

{[], [a, a, a], [a], [a, a], [b], [b, a], [b, a, a], [b, a, a, a]}

>

On obtient une liste des éléments du groupe mais peu de chose sont prévues pour, par exemple, faire des manipulations simples sur ces groupes comme : multiplier deux éléments ou déterminer si deux produits sont égaux. On va procéder autrement et définir ces groupes comme sous-groupes d'un groupe de permutation Sn, ce qui est toujours possible pour un groupe d'ordre n (on peut même faire mieux parfois).

Dans le cas des groupes cycliques et dihédraux cela peut être fait facilement.

Remarquer que le générateur a de C4 correspond à une rotation de pi/2 des sommets d'un carré et donc à la permutation : [1,2,3,4] (pour une bonne numérotation des sommets!).

De même la symétrie axiale b de D4, correspond à la permutation de S4 : [2,4] (et laisse invariante les sommets 1 et 3).

Re-définir les groupes C4 et D4 puis donner leur table de multiplication.

>

>