有限群の列挙&分類

Cayley表を埋める時点で結合律を確認する方法が浮かばなかったので,とりあえず生成されたCayley表においてあらゆる3元*1の組み合わせをチェックするルーチンを加える.コストが輪をかけてひどいことになったが仕方ない.
5x5のCayley表で本当に群に対応していたのは8つだけだった.で,文献によればこれらはいずれもZ_5であるらしい.そこで同型をチェックするルーチンを考えてみたんだが...
元の名前のあらゆる置換を試すのはあまりと言えばあまりなので,とりあえず巡回のパターンをチェックしてみた.

  1. 「まだ出てない元」の集合を,群の零元以外の全ての元として初期化.
  2. 「まだ出てない元」の集合からある元を取り,それを累乗して零元を得るまで続ける(この過程を印字).その過程で得られた元は「まだ出てない元」の集合から取り除く.
  3. 「まだ出てない元」の集合が空になるまで続ける.

しかしこれを実行してみると,イマイチだった.位数4の群は同型を除いて2通り,Z_4Z_2\oplus Z_2であり,後者は1^2=02^2=0、1 2=2 1と記述される.しかし上のルーチンでは3=1 2=2 1という関係が分かってないので,面白い表示ができない.
どなたか,よい知恵をお持ちではありませんかね? 多分,私のアプローチはそもそもの方向性がずれてると思うんだけど...

*1:正確には,零元以外のあらゆる3元.零元が混じると結合律は自明なので.