definizioni
Puoi saltare questa parte se conosci già le definizioni di gruppi , gruppi finiti e sottogruppi .
gruppi
Nell'algebra astratta, un gruppo è una tupla (G, ∗) , dove G è un insieme e ∗ è una funzione G × G → G tale che vale quanto segue:
Chiusura: per tutti x, y in G , x ∗ y è anche in G (implicito dal fatto che ∗ è una funzione G × G → G ).
Associatività: per tutti x, y, z in G , (x ∗ y) ∗ z = x ∗ (y ∗ z) .
Identità: esiste un elemento e in G tale che per tutti x in G , x ∗ e = x = e ∗ x .
Inverso: per ogni x in G , esiste un elemento y in G tale che x ∗ y = e = y ∗ x , dove e è l'elemento di identità menzionato nel precedente punto elenco.
Gruppi finiti
Un gruppo finito è un gruppo (G, ∗) in cui G è finito, cioè ha finitamente molti elementi.
sottogruppi
Un sottogruppo (H, ∗) di un gruppo (G, ∗) è tale che H è un sottoinsieme di G (non necessariamente sottoinsieme proprio) e (H, ∗) è anche un gruppo (cioè soddisfa i 4 criteri sopra).
Esempi
Considera il gruppo diedro D 3 (G, ∗) dove G = {1, A, B, C, D, E} e ∗ è definito di seguito (una tabella come questa è chiamata tabella di Cayley ):
∗ | 1 ABCDE - + ---------------------- 1 | 1 ABCDE A | AB 1 DIC B | B 1 AECD C | CED 1 BA D | DCEA 1 B E | EDCBA 1
In questo gruppo, l'identità è 1 . Inoltre, A e B sono inverse l'una dall'altra, mentre 1 , C , D ed E sono le inversioni di se stessi rispettivamente (l'inverso di 1 è 1 , l'inverso di C è C , l'inverso di D è D e il l'inverso di E è E ).
Ora, possiamo verificare che (H, ∗) dove H = {1, A, B} è un sottogruppo di (G, ∗) . Per la chiusura, consultare la tabella seguente:
∗ | 1 AB - + ---------- 1 | 1 AB A | AB 1 B | B 1 A
dove tutte le possibili coppie di elementi in H sotto * dare un membro di H .
All'associatività non richiede controllo, poiché gli elementi di H sono elementi di G .
L'identità è 1 . Questo deve essere lo stesso con l'identità del gruppo. Inoltre, l'identità in un gruppo deve essere unica. (Puoi provarlo?)
Per l'inverso, controllare che l'inversa di A è B , che è un membro di H . L'inverso di B è A , che è anche un membro di H . L'inverso di 1 è ancora esso stesso, che non richiede controllo.
Compito
Descrizione
Dato un gruppo finito (G, ∗) , trova il numero dei suoi sottogruppi.
Ingresso
Per un gruppo (G, *) , si riceverà una matrice 2D di dimensioni n × n , dove n è il numero di elementi in G . Supponiamo che l'indice 0
sia l'elemento identità. L'array 2D rappresenterà la tabella di moltiplicazione. Ad esempio, per il gruppo sopra, riceverai il seguente array 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]]
Ad esempio, puoi vedere 3 ∗ 1 = 5 perché a[3][1] = 5
, dov'è a
la matrice 2D sopra.
Appunti:
- È possibile utilizzare un array 2D con 1 indice.
- La riga e la colonna per l'identità possono essere omesse.
- Puoi usare altri formati come ritieni opportuno, ma deve essere coerente. (ad esempio, potresti desiderare che l'ultimo indice sia invece identità, ecc.)
Produzione
Un numero positivo che rappresenta il numero di sottogruppi nel gruppo.
Ad esempio, per il gruppo sopra, (H, ∗) è un sottogruppo di (G, ∗) ogni volta che H =
- {1}
- {1, A, B}
- {1, C}
- {1, D}
- {1, E}
- {1, A, B, C, D, E}
Pertanto, ci sono 6 sottogruppi e l'output per questo esempio dovrebbe essere 6
.
suggerimenti
Puoi leggere gli articoli a cui ho collegato. Questi articoli contengono teoremi su gruppi e sottogruppi che potrebbero esserti utili.
punteggio
Questo è code-golf . Rispondi con il conteggio dei byte più basso vince.
0
l'elemento identità, allora è confuso che l'operatore sia descritto come moltiplicazione ...