introduction
Vous pouvez ignorer cette partie si vous savez déjà ce qu'est un groupe cyclique.
Un groupe est défini par un ensemble et une opération binaire associative $
(c'est-à-dire (a $ b) $ c = a $ (b $ c)
. Il existe exactement un élément dans le groupe e
où a $ e = a = e $ a
pour tous a
dans le groupe ( identité ). Pour chaque élément a
du groupe, il en existe exactement un b
tel que a $ b = e = b $ a
( inverse ) Pour tous les deux éléments a, b
du groupe, a $ b
est dans le groupe ( fermeture ).
Nous pouvons écrire a^n
à la place de a$a$a$...$a
.
Le sous-groupe cyclique généré par n'importe quel élément a
du groupe est <a> = {e, a, a^2, a^3, a^4, ..., a^(n-1)}
où n
est l'ordre (taille) du sous-groupe (sauf si le sous-groupe est infini).
Un groupe est cyclique s'il peut être généré par l'un de ses éléments.
Défi
Étant donné la table Cayley (tableau des produits) pour un groupe fini, déterminez si elle est cyclique ou non.
Exemple
Jetons un coup d'œil au tableau Cayley suivant:
1 2 3 4 5 6
2 3 1 6 4 5
3 1 2 5 6 4
4 5 6 1 2 3
5 6 4 3 1 2
6 4 5 2 3 1
(Il s'agit du tableau de Cayley pour le groupe dièdre 3, D_3).
Ceci est indexé sur 1, donc si nous voulons trouver la valeur de 5 $ 3
, nous regardons dans la cinquième colonne de la troisième ligne (notez que l'opérateur n'est pas nécessairement commutatif, donc 5 $ 3
n'est pas nécessairement égal à 3 $ 5
. Nous voyons ici que 5 $ 3 = 6
(aussi que 3 $ 5 = 4
).
On peut trouver <3>
en commençant par [3]
, puis alors que la liste est unique, ajouter le produit du dernier élément et le générateur (3). Nous obtenons [3, 3 $ 3 = 2, 2 $ 3 = 1, 1 $ 3 = 3]
. Nous nous arrêtons ici avec le sous-groupe {3, 2, 1}
.
Si vous calculez à <1>
travers <6>
vous verrez qu'aucun des éléments du groupe génèrent tout le groupe. Ainsi, ce groupe n'est pas cyclique.
Cas de test
L'entrée sera donnée sous forme de matrice, la sortie sous forme de valeur de décision véridique / fausse.
[[1,2,3,4,5,6],[2,3,1,6,4,5],[3,1,2,5,6,4],[4,5,6,1,2,3],[5,6,4,3,1,2],[6,4,5,2,3,1]] -> False (D_3)
[[1]] -> True ({e})
[[1,2,3,4],[2,3,4,1],[3,4,1,2],[4,1,2,3]] -> True ({1, i, -1, -i})
[[3,2,4,1],[2,4,1,3],[4,1,3,2],[1,3,2,4]] -> True ({-1, i, -i, 1})
[[1,2],[2,1]] -> True ({e, a} with a^-1=a)
[[1,2,3,4,5,6,7,8],[2,3,4,1,6,7,8,5],[3,4,1,2,7,8,5,6],[4,1,2,3,8,5,6,7],[5,8,7,6,1,4,3,2],[6,5,8,7,2,1,4,3],[7,6,5,8,3,2,1,4],[8,7,6,5,4,3,2,1]] -> False (D_4)
[[1,2,3,4,5,6],[2,1,4,3,6,5],[3,4,5,6,1,2],[4,3,6,5,2,1],[5,6,1,2,3,4],[6,5,2,1,4,3]] -> True (product of cyclic subgroups of order 2 and 3, thanks to Zgarb)
[[1,2,3,4],[2,1,4,3],[3,4,1,2],[4,3,1,2]] -> False (Abelian but not cyclic; thanks to xnor)
Vous serez assuré que l'entrée est toujours un groupe.
Vous pouvez prendre l'entrée comme des valeurs indexées 0.
[1..n]
ce qui peut cacher des défauts dans certaines réponses.
[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]]
)?