12  Uma questão sobre centralizadores

12.1 Os fundamentos teóricos

Recordamos que o centralizador de um elemento \(x\) em um grupo \(G\) é definido por \[ C_{G}(x) = \{g \in G | \ gx=xg \}. \]

Denote por \(\mbox{Cent}(G)\) o conjunto de todos os centralizadores de elementos de \(G\).

Por exemplo, se \(G=S_3\), então temos os seguintes centralizadores dos seus elementos:

elemento 1 \((1,2)\) \((1,3)\) \((2,3)\) \((1,2,3)\) \((1,3,2)\)
centralizador \(S_3\) \(\left<(1,2)\right>\) \(\left<(1,3)\right>\) \(\left<(2,3)\right>\) \(\left<(1,2,3)\right>\) \(\left<(1,2,3)\right>\)

Note que o subgrupo \(\left<(1,2,3)\right>\) aparece duas vezes, então \[ \mbox{Cent}(S_3)=\{S_3,\left<(1,2)\right>, \left<(1,3)\right>, \left<(2,3)\right>, \left<(1,2,3)\right>\} \] e \[ |\mbox{Cent}(S_3)|=5. \]

O estudo de \(\mbox{Cent}(G)\) tem chamado a atenção de muitos pesquisadores. As duas principais motivações para se estudar \(\mbox{Cent}(G)\) é responder essencialmente duas questões:

  1. Dado um grupo \(G\), o que se pode dizer sobre \(|\mbox{Cent}(G)|\)?
  2. Se é conhecido o valor de \(|\mbox{Cent}(G)|\), o que se pode dizer a respeito do grupo \(G\)?

Neste projeto, queremos usar o GAP para resolver algumas questões para grupos simples finitos.

12.2 Tarefa 1

Vamos determinar o centralizador de um elemento em um grupo. Considere o seguinte exemplo.

gap> G := AlternatingGroup( 5 );
Alt( [ 1 .. 5 ] )
gap> x := (1,2,3);
(1,2,3)
gap> Cx := Centralizer( G, x );
Group([ (1,2,3) ])
gap> Size( Cx );
3

Seguindo o exemplo em cima, determine os seguintes centralizadores \(C_G(x)\).

  1. \(G=S_6\), \(x=(1,2,3)(4,5,6)\).
  2. \(G=D_8\) (diedral de ordem 8) e \(x\) é uma rotação por \(90\) graus.
  3. \(G=\mbox{GL}(2,5)\) e \(x\) é a matriz diagonal com \((2,3)\) na diagonal principal.

Consulte Seção 4.1 para ver como definir o grupo GL e o grupo diedral.

12.3 Exploração interativa

Para investigar o problema em cima, nós precisamos determinar o conjunto dos centralizadores em um grupo dado. Vamos fazer esta computação com o grupo \(S_5\).

gap> G := SymmetricGroup( 3 );
Sym( [ 1 .. 3 ] )
gap> cent := List( G, x->Centralizer( G, x ));
[ Group([ (1,3), (2,3) ]), Group([ (2,3) ]), Group([ (1,3) ]), Group([ (1,3,2) ]), 
  Group([ (1,2,3) ]), Group([ (1,2) ]) ]
gap> cent[5] = cent[6];
false
gap> cent[4] = cent[5];
true
gap> cent_set := Set( G, x->Centralizer( G, x ));
[ Group([ (2,3) ]), Group([ (1,3), (2,3) ]), Group([ (1,2) ]), Group([ (1,3,2) ]), 
  Group([ (1,3) ]) ]
gap> Size( cent );
6
gap> Size( cent_set );
5

Ou seja, \(S_3\) possui 5 centralizadores (como foi visto em cima). Note que usamos a função Set que vai devolver um conjunto; ou seja, todo elemento do output aparece apenas uma vez.

12.4 Tarefa 2

Escreva uma função Cent(G) para computar o conjunto de todos os centralizadores de elementos de um grupo \(G\) dado. Use a função Centralizer(G,x) (manual).

Sua função deve verificar:

gap> Cent( SymmetricGroup( 3 ));                  
[ Group([ (2,3) ]), Group([ (1,3), (2,3) ]), Group([ (1,2) ]), 
  Group([ (1,3,2) ]), Group([ (1,3) ]) ]
gap> Cent( AlternatingGroup( 4 ));
[ Group([ (2,4,3) ]), Group([ (1,2,4), (1,3,4) ]), 
  Group([ (1,2)(3,4), (1,4)(2,3) ]), Group([ (1,3,2) ]), Group([ (1,4,2) ]), 
  Group([ (1,4,3) ]) ]
gap> Cent( SmallGroup( 16,7 ));   
[ Group([ f1, f4 ]), Group([ f2, f4 ]), 
  <pc group of size 16 with 4 generators>, Group([ f1*f2, f3, f4 ]), 
  Group([ f1*f3, f4 ]), Group([ f2*f3, f4 ]) ]
gap> Size(Cent(AlternatingGroup(6)));
137
gap> Size(Cent(AlternatingGroup(5)));
807
gap> Size(Cent(PSL(2,7)));
79
gap> Size(Cent(PSL(3,3)));
1185
gap> Size(Cent(DihedralGroup(8)));
4
gap> Size(SmallGroup(16,7));
6
gap> Size(Cent(MathieuGroup(11)));
2081

12.5 Tarefa 3

Agora você precisa responder a seguinte questão de Ashrafi e Taeri:

  1. Sejam \(G\) e \(H\) grupos simples não abelianos. É verdade que se \(|\mbox{Cent}(G)| = |\mbox{Cent}(H)|\), então \(G\) é isomorfo a \(H\)?

Os grupos simples não abelianos podem ser acessos usando a função AllSmallNonabelianSimpleGroups( list ) onde list é uma lista de números naturais. A função devolve a lista dos grupos simples abelianos cuja ordem está na lista list. Por exemplo:

gap> AllSmallNonabelianSimpleGroups( [1..200] );
[ A5, PSL(2,7) ]

Ou seja, existem apenas \(2\) grupos simples não abelianos com ordem entre \(1\) e \(200\); nomeadamente \(A_5\) e \(\mbox{PSL}(2,7)\). Use a função AllSmallNonabelianSimpleGroups para gerar grupos simples e compare os seus números de centralizadores.

12.6 Tarefa 4

E se restringirmos a função para sabermos a quantidade dos centralizadores abelianos ou dos centralizadores não abelianos de um grupo? Será que se dois grupos simples não abelianos tiverem a mesma quantidade de centralizadores abelianos (ou não abelianos) de elementos, esses grupos são necessariamente isomorfos?

  1. Escreva uma nova versão da função Cent( G ) que aceita, além do grupo G, um argumento opcional (veja Seção 5.6) que pode ser true ou false. Se o valor do argumento opcional for true, a função devolve o conjunto dos centralizadores abelianos; se o valor for false, devolve o conjunto dos centralizadores não abelianos. Se o argumento opcional não for fornecido, a função devolve todos os centralizadores.
gap> Cent( AlternatingGroup( 4 ));
[ Group([ (2,4,3) ]), Group([ (1,2,4), (1,3,4) ]), 
  Group([ (1,2)(3,4), (1,4)(2,3) ]), Group([ (1,3,2) ]), Group([ (1,4,2) ]), 
  Group([ (1,4,3) ]) ]
gap> Cent( AlternatingGroup( 4 ), true );
[ Group([ (2,4,3) ]), Group([ (1,2)(3,4), (1,4)(2,3) ]), Group([ (1,3,2) ]), 
  Group([ (1,4,2) ]), Group([ (1,4,3) ]) ]
gap> Cent( AlternatingGroup( 4 ), false );
[ Group([ (1,2,4), (1,3,4) ]) ]
  1. Ache dois grupos simples não abelianos não isomorfos que têm o mesmo número de centralizadores abelianos ou não abelianos.

Funções com argumentos opcionais foram tratadas na Seção 5.6.

12.7 Tarefa 5

Nesta próxima tarefa, vamos usar o conceito de grupos isoclínicos (desenvolvido por P. Hall em seu artigo influenciador de 1940). Dois grupos \(G\) e \(H\) são ditos isoclínicos se existem dois isomorfismos \[ \phi: \frac{G}{Z(G)} \rightarrow \frac{H}{Z(H)}\quad \mbox{e} \quad\psi: G' \rightarrow H' \] tais que se \[ \phi(g_1Z(G))=h_1Z(H)\quad\mbox{e} \quad\phi(g_2Z(G))=h_2Z(H) \] para \(g_1,g_2 \in G\) e \(h_1,h_2 \in H\), então \(\psi([g_1,g_2])= [h_1,h_2]\). É possível mostrar que isoclinismo é uma relação de equivalência e que grupos abelianos são isoclínicos ao grupo trivial.

Por exemplo, pode se verificar que o grupo dihedral \(D_8\) e o grupo de quaternions \(Q_8\) são isoclínicos, mas os grupos \(D_8\) e \(D_{10}\) não são.

gap> LoadPackage( "xmod" );
true
gap> f := Isoclinism( DihedralGroup(8), QuaternionGroup(8));
[ [ f1, f2 ] -> [ f2, f1*f2 ], [ f3 ] -> [ y2 ] ]
gap> Isoclinism( DihedralGroup( 8 ), DihedralGroup( 10 ));
fail

M. Zarrin usou o isoclinismo para estender os resultados sobre centralizados de elementos para grupos infinitos. Em particular, ele provou que se \(G\) e \(H\) são isoclínicos, então \(|\mbox{Cent}(G)| = |\mbox{Cent}(H)|\). Nesta tarefa vamos verificar a seguinte questão de Khoramshahi and M. Zarrin.

  1. Ache dois grupos \(G\) e \(H\) tal que \(|\mbox{Cent}(G)|=|\mbox{Cent}(H)|\), \(|H|=|G|\), \(|G'|=|H'|\), mas \(G\) e \(H\) não são isoclínicos.
  2. Khoromshahi e Zarrin mostrou que se \(G\) e \(H\) são como no item anterior, então \(|\mbox{Cent}(G)|\leq 5\). Ache exemplos com \(|\mbox{Cent}(G)|=6\) para verificar que esta cota superior não pode ser melhorada.

Para gerar os candidatos entre os possíveis grupos, use a função AllSmallGroups. Por exemplo, pode gerar os grupos de ordem entre \(1\) e \(20\) com 6 centralizadores com o seguinte código:

gap> AllSmallGroups( Size, [1..20], x->Size( Cent( x )) = 6 );
[ <pc group of size 12 with 3 generators>, 
  <pc group of size 16 with 4 generators>, 
  <pc group of size 16 with 4 generators>, 
  <pc group of size 16 with 4 generators> ]