Definições
Você pode pular esta parte se já conhece as definições de grupos , grupos finitos e subgrupos .
Grupos
Na álgebra abstrata, um grupo é uma tupla (G, ∗) , onde G é um conjunto e ∗ é uma função G × G → G, de modo que o seguinte vale:
Fechamento: para todo x, y em G , x ∗ y também está em G (implicado no fato de que ∗ é uma função G × G → G ).
Associatividade: para todos os x, y, z em G , (x ∗ y) ∗ z = x ∗ (y ∗ z) .
Identidade: existe um elemento e em G tal que para todo x em G , x x e = x = e ∗ x .
Inverso: para cada x em G , existe um elemento y em G tal que x ∗ y = e = y ∗ x , onde e é o elemento de identidade mencionado no ponto anterior.
Grupos finitos
Um grupo finito é um grupo (G, ∗) onde G é finito, ou seja, possui muitos elementos finitos.
Subgrupos
Um subgrupo (H, ∗) de um grupo (G, ∗) é tal que H é um subconjunto de G (não necessariamente subconjunto apropriado) e (H, ∗) também é um grupo (ou seja, satisfaz os 4 critérios acima).
Exemplos
Considere o grupo diédrico D 3 (G, ∗) onde G = {1, A, B, C, D, E} e ∗ é definido abaixo (uma tabela como essa é chamada de tabela de Cayley ):
∗ 1 ABCDE - + ---------------------- 1 | 1 ABCDE A AB 1 DEZ B B 1 AECD C CED 1 BA D DCEA 1 B E EDCBA 1
Nesse grupo, a identidade é 1 . Além disso, A e B são inversos um do outro, enquanto 1 , C , D e E são inversos de si mesmos, respectivamente (o inverso de 1 é 1 , o inverso de C é C , o inverso de D é D e o inverso de E é E ).
Agora, podemos verificar que (H, ∗) onde H = {1, A, B} é um subgrupo de (G, ∗) . Para o fechamento, consulte a tabela abaixo:
∗ 1 AB - + ---------- 1 | 1 AB A AB 1 B B 1 A
onde todos os pares possíveis de elementos em H abaixo de ∗ dão um membro em H .
A associatividade não requer verificação, pois os elementos de H são elementos de G .
A identidade é 1 . Deve ser o mesmo com a identidade do grupo. Além disso, a identidade em um grupo deve ser única. (Você pode provar isso?)
Para o inverso, verificar que o inverso da Uma é B , que é um membro de H . O inverso de B é A , que também é um membro de H . O inverso de 1 ainda é o próprio, o que não requer verificação.
Tarefa
Descrição
Dado um grupo finito (G, ∗) , encontre o número de seus subgrupos.
Entrada
Para um grupo (G, *) , vai receber um conjunto 2D de tamanho n x n , em que n é o número de elementos em L . Suponha que o índice 0
seja o elemento de identidade. A matriz 2D representará a tabela de multiplicação. Por exemplo, para o grupo acima, você receberá a seguinte matriz 2D:
[[0, 1, 2, 3, 4, 5],
[1, 2, 0, 4, 5, 3],
[2, 0, 1, 5, 3, 4],
[3, 5, 4, 0, 2, 1],
[4, 3, 5, 1, 0, 2],
[5, 4, 3, 2, 1, 0]]
Por exemplo, você pode ver que 3 ∗ 1 = 5 porque a[3][1] = 5
, onde a
está a matriz 2D acima.
Notas:
- Você pode usar uma matriz 2D indexada em 1.
- A linha e a coluna da identidade podem ser omitidas.
- Você pode usar outros formatos como achar melhor, mas deve ser consistente. (por exemplo, você pode querer que o último índice seja identidade, etc.)
Resultado
Um número positivo que representa o número de subgrupos no grupo.
Por exemplo, para o grupo acima, (H, ∗) é um subgrupo de (G, ∗) sempre que H =
- {1}
- {1, A, B}
- {1, C}
- {1, D}
- {1, E}
- {1, A, B, C, D, E}
Portanto, existem 6 subgrupos, e sua saída para este exemplo deve ser 6
.
Dicas
Você pode ler os artigos aos quais vinculei. Esses artigos contêm teoremas sobre grupos e subgrupos que podem ser úteis para você.
Pontuação
Isso é código-golfe . Responda com os menores ganhos de contagem de bytes.
0
o elemento de identidade, é confuso ter o operador descrito como multiplicação ...