Einführung
Sie können diesen Teil überspringen, wenn Sie bereits wissen, was eine zyklische Gruppe ist.
Eine Gruppe wird durch eine Menge und eine assoziative Binäroperation definiert $(d (a $ b) $ c = a $ (b $ c). H. Es gibt genau ein Element in der Gruppe, ein dem a $ e = a = e $ afür alle ain der Gruppe ( Identität ). Für jedes Element ain der Gruppe gibt es genau ein Element b, das a $ b = e = b $ a( invers ) Für jeweils zwei Elemente a, bin der Gruppe a $ bbefindet sich in der Gruppe ( Abschluss ).
Wir können a^nanstelle von schreiben a$a$a$...$a.
Das zyklische Untergruppe von jedem Element erzeugt ain der Gruppe ist , <a> = {e, a, a^2, a^3, a^4, ..., a^(n-1)}wo ndie Ordnung (Größe) der Untergruppe (es sei denn , die Untergruppe ist unendlich).
Eine Gruppe ist zyklisch, wenn sie von einem ihrer Elemente erzeugt werden kann.
Herausforderung
Bestimmen Sie anhand der Cayley-Tabelle (Produkttabelle) für eine endliche Gruppe, ob sie zyklisch ist oder nicht.
Beispiel
Werfen wir einen Blick auf die folgende Cayley-Tabelle:
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
(Dies ist die Cayley-Tabelle für Diedergruppe 3, D_3).
Dies ist 1-indiziert. Wenn wir also den Wert von ermitteln möchten 5 $ 3, sehen wir in der fünften Spalte in der dritten Zeile nach (beachten Sie, dass der Operator nicht unbedingt kommutativ ist, also 5 $ 3nicht unbedingt gleich 3 $ 5. Wir sehen hier, dass 5 $ 3 = 6(auch das 3 $ 5 = 4).
Wir können finden, <3>indem wir mit beginnen [3]und dann, während die Liste eindeutig ist, das Produkt des letzten Elements und den Generator (3) anhängen. Wir bekommen [3, 3 $ 3 = 2, 2 $ 3 = 1, 1 $ 3 = 3]. Wir hören hier mit der Untergruppe auf {3, 2, 1}.
Wenn Sie durchrechnen, <1>werden <6>Sie feststellen, dass keines der Elemente in der Gruppe die gesamte Gruppe generiert. Somit ist diese Gruppe nicht zyklisch.
Testfälle
Die Eingabe wird als Matrix angegeben, die Ausgabe als wahrheitsgetreuer / falscher Entscheidungswert.
[[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)
Sie werden garantiert, dass die Eingabe immer eine Gruppe ist.
Sie können Eingaben als 0-indizierte Werte annehmen.
[1..n]diejenige, die Fehler in einigen Antworten verbergen kann.
[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]])?