前書き
循環グループとは何かをすでに知っている場合は、この部分をスキップできます。
グループが設定され、連想バイナリ操作によって定義される$
(、である(a $ b) $ c = a $ (b $ c)
グループに正確に1つの要素が存在する。e
ここで、a $ e = a = e $ a
全てのためのa
グループ(で識別)。すべての要素についてはa
、グループ内の存在正確に一つのb
ようにa $ b = e = b $ a
(逆) 。a, b
グループ内の2つの要素ごとに、a $ b
に、グループ内にあります(closure)。
私たちは書くことができます a^n
代わりにa$a$a$...$a
。
任意の要素によって生成された巡回サブグループa
、グループ内である<a> = {e, a, a^2, a^3, a^4, ..., a^(n-1)}
場合n
(サブグループが無限大でない限り)サブグループの順序(サイズ)です。
グループは、その要素の1つによって生成できる場合、周期的です。
チャレンジ
有限グループのCayleyテーブル(製品テーブル)が与えられたら、それが周期的かどうかを判断します。
例
次のCayleyテーブルを見てみましょう。
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
(これは、Dihedral Group 3、D_3のCayleyテーブルです)。
これは、我々はの値を見つけるにしたいそうだとすれば、1インデックスである5 $ 3
ので、我々は、オペレータが必ずしも可換ではないこと(注3行目5列目で見て、に5 $ 3
等しく、必ずしもではない3 $ 5
。我々は、ここを参照してください5 $ 3 = 6
(また、その3 $ 5 = 4
)。
で<3>
始まり[3]
、リストが一意である間に最後の要素とジェネレーターの積を追加して見つけることができます(3)。取得し[3, 3 $ 3 = 2, 2 $ 3 = 1, 1 $ 3 = 3]
ます。ここでサブグループで停止します{3, 2, 1}
。
計算<1>
する<6>
と、グループ内のどの要素もグループ全体を生成しないことがわかります。したがって、このグループは循環的ではありません。
テストケース
入力は行列として与えられ、出力は真実/偽の決定値として与えられます。
[[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)
入力は常にグループであることが保証されます。
入力は0のインデックス値として取得できます。
[1..n]
いくつかの答えの欠陥を隠している可能性があります。
[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]]
)?