10 Comutadores em grupos
10.1 O problema
Seja \(G\) um grupo. Se \(x,y\in G\), o comutador \([x,y]\) está definido como \[ [x,y]=x^{-1}y^{-1}xy. \] O subgrupo derivado \(G'\) de \(G\) é definido como o subgrupo de \(G\) gerado por todos os comutadores; ou seja, \[ G'=\left<[x,y]\mid x,y\in G\right>. \] É importante observar que o subgrupo derivado por definição não é apenas o conjunto dos comutadores, mas ele é o subgrupo gerado por este conjunto. Isso é porque o conjunto de comutadores pode não ser um subgrupo. No entanto, nos grupos pequenos, \(G'\) coincide com o conjunto de comutadores.
10.2 Exploração interativa
Vamos explorar o conjunto de comutadores em um grupo dado. Considere por exemplo o grupo SymmetricGroup( 5 )
. Vamos primeiro calcular o comutador de dois elementos.
gap> G := SymmetricGroup( 5 );
Sym( [ 1 .. 5 ] )
gap> x := (1,2,3,4,5);
1,2,3,4,5)
(gap> y := (1,2);
1,2)
(gap> x in G;
true
gap> y in G;
true
gap> Comm( x, y );
1,2,3)
(gap> Comm( x, y ) = x^-1*y^-1*x*y;
true
Ora, vamos computar o conjunto de comutadores de \(G\) e comparamos este conjunto com o subgrupo derivado.
gap> comms := Set( Tuples( Elements( G ), 2 ), t->Comm( t[1],t[2]));
, (3,4,5), (3,5,4), (2,3)(4,5), (2,3,4), (2,3,5), (2,4,3), (2,4,5),
[ ()2,4)(3,5), (2,5,3), (2,5,4), (2,5)(3,4), (1,2)(4,5), (1,2)(3,4),
(1,2)(3,5), (1,2,3), (1,2,3,4,5), (1,2,3,5,4), (1,2,4,5,3), (1,2,4),
(1,2,4,3,5), (1,2,5,4,3), (1,2,5), (1,2,5,3,4), (1,3,2), (1,3,4,5,2),
(1,3,5,4,2), (1,3)(4,5), (1,3,4), (1,3,5), (1,3)(2,4), (1,3,2,4,5),
(1,3,5,2,4), (1,3)(2,5), (1,3,2,5,4), (1,3,4,2,5), (1,4,5,3,2), (1,4,2),
(1,4,3,5,2), (1,4,3), (1,4,5), (1,4)(3,5), (1,4,5,2,3), (1,4)(2,3),
(1,4,2,3,5), (1,4,2,5,3), (1,4,3,2,5), (1,4)(2,5), (1,5,4,3,2), (1,5,2),
(1,5,3,4,2), (1,5,3), (1,5,4), (1,5)(3,4), (1,5,4,2,3), (1,5)(2,3),
(1,5,2,3,4), (1,5,2,4,3), (1,5,3,2,4), (1,5)(2,4) ]
(gap> Size( comms );
60
gap> comms = Set( DerivedSubgroup( G ));
true
gap> DerivedSubgroup( G ) = AlternatingGroup( 5 );
true
A computação em cima mostra que no caso do grupo \(S_5\), o subgrupo derivado (ou seja, o subgrupo \(A_5\)) coincide com o conjunto de comutadores.
10.3 Tarefa 1
Escreva uma função nr_commutators( G )
que para um grupo G
dado, computa o número de comutadores distintos de G
. A sua função deve verificar:
gap> nr_comms( SymmetricGroup( 5 ));
60
gap> nr_comms( AlternatingGroup( 5 ));
60
gap> nr_comms( DihedralGroup( 20 ));
5
gap> nr_comms( AlternatingGroup( 4 ));
4
gap> nr_comms( PGL( 2, 7 ));
168
gap> Size( DerivedSubgroup( SymmetricGroup( 5 )));
60
gap> Size( DerivedSubgroup( AlternatingGroup( 5 )));
60
gap> Size( DerivedSubgroup( DihedralGroup( 10 )));
5
gap> Size( DerivedSubgroup( PGL( 2,7 )));
168
Escreva uma função encapsulando o código no exemplo anterior.
10.4 Tarefa 2
Escreva uma função commutator_set_is_subgroup( G )
para verificar se o conjunto de comutadores é igual ao subgrupo derivado de um grupo G
. A função deve devolver true
ou false
. Note que é suficiente verificar se a cardinalidade do conjunto de comutadores é igual à cardinalidade do subgrupo derivado. A sua função deve seguir os seguintes exemplos.
gap> commutator_set_is_subgroup( SymmetricGroup( 5 ));
true
gap> commutator_set_is_subgroup( AlternatingGroup( 5 ));
true
gap> commutator_set_is_subgroup( DihedralGroup( 10 ));
true
gap> commutator_set_is_subgroup( PGL( 2, 7 ));
true
10.5 Tarefa 3
Usando a função AllSmallGroups( Size, list )
, ache o menor grupo G
tal que o conjunto de comutadores de G
não é o subgrupo derivado. Por exemplo, vamos verificar que entre os grupos de ordem 24 isso não ocorre.
gap> List( AllSmallGroups( Size, [24] ), G -> commutator_set_is_subgroup( G ));
true, true, true, true, true, true, true, true, true, true, true, true,
[ true, true, true ]
10.6 Tarefa 4
Seja \(G\) o grupo encontrado na tarefa anterior.
- Faça a lista dos elementos do subgrupo derivado \(G'\) que não são comutadores.
- Escreva estes elementos como produto de comutadores de \(G\). Demonstre que todo elemento de \(G'\) pode ser escrito na forma \([x_1,x_2][y_1,y_2]\) com \(x_i,y_i\in G\).
O item 2. da tarefa anterior pode ser difícil resolver construindo todos os elementos \([x_1,x_2][y_1,y_2]\), pois o número de possibilidades é muito grande. Um caminho alternativo é escolher elementos aleatórios \(x_1,x_2,y_1,y_2\) até obter os elemendos desejados na forma \([x_1,x_2][y_1,y_2]\).
10.7 Tarefa 5
Para um grupo \(G\) e \(x\in G\), denote por \(B_x(G)\) o seguinte conjunto: \[ B_x(G)=\{u^{-1}x^{-1}uv^{-1}xv\mid u,v\in G\}. \]
- Escreva uma função
B_x( G, x )
que calcula \(B_x(G)\) para um grupo \(G\) e elemento \(x\in G\). - Decide quais dos seguintes grupos possui elemento \(x\) tal que \(B_x(G)=G\):
- \(D_8\),
- \(Q_8\),
- \(A_4\),
- \(S_4\),
- \(A_5\),
- \(S_5\).
Use Cartesian
para criar o produto cartesiano de duas listas (manual).