部分群検定6をテストする

部分群検定のアルゴリズムを書換えて部分群検定6とした.検定6では素群リストをベースにその「積」を計算し,必要なノードを補充して合成群を生成→部分群リストに追加→検定の自動延長→部分群の追加がなくなるまでこれを反復という動作になっている.A5はほぼ15秒程度で完了するが,S5では15分掛かっている.A5の十倍だ.S5の部分群でもっとも大きいのは位数60のA5だが,この素性を見ておこう.

(32)〈3,22〉群:{e,3,4,30,48,51,89,42,116,115,34,71,73,77,63,46,108,111,112,37,93,52,74,38, 41,85,100,68,67,99,45,33,64,96,90,94,60,12,8,7,11,19,23,20,15,16,78,56,55,59, 103,107,104,81,82,26,25,29,119,86,}は位数60のS5の合成群である

A5の生成元は置換#3と#22で,置換リストで見ると,

置換リスト(3) →        {1,2,4,5,3,}  →        (3 4 5)
置換リスト(22) →       {1,5,4,2,3,}  →        (2 5 3 4)

FKさんのコメントによると,A5の生成元は[[(2,4),(3,5)], [(1,2,5)]]のようになっている.この違いはどこから出てきているのだろう?

置換リスト(16) →       {1,4,5,2,3,}  →        (2 4)(3 5)
置換リスト(45) →       {2,5,3,4,1,}  →        (1 2 5)

これで見ると,〈16, 45〉でA5が生成できることになる.しかし,生成された部分群リストでは〈16〉から生成される群は以下の5つだけだ.

(96)〈16〉群{e,23,}は位数2のS5の素群である
(97)〈16,18〉群:{e,23,25,41,85,100,68,60,82,111,}は位数10のS5の合成群である
(98)〈16,19〉群:{e,23,26,45,99,107,}は位数6のS5の合成群である
(99)〈16,21〉群:{e,23,29,33,64,96,90,86,55,119,}は位数10のS5の合成群である
(100)〈16,42〉群:{e,23,56,78,94,67,}は位数6のS5の合成群である

〈3,22〉と〈16, 45〉は同型というよりは,同一と見るべきだろう.重複検査を行っているところで情報を出せるようにしてみよう.⇒結構難しい.置換に関しては置換プリントで取り出すことができるが,ループカウンタが違う.検定では部分群リストであり,そこから直接置換番号にアクセスすることはできない.部分群を生成するところで置換番号を記録できるのではないか?ないし,置換そのものを群の名称にしてしまうことも考えられる.置換群はPという置換クラスの変数を持っている.

しかし,部分群リストには部分群そのものは登録されていない.台集合が記載されているだけだ.⇒2つの部分群が一致した場合にダンプするように改変したのだが,むしろ速くなった.6分23秒で完了している.というか,これは,実際にはループの半分をカットした効果だが…

■群S5は154個の真部分群を持つ■位数2X25 位数3X10 位数4X35 位数5X6 位数6X30 位数8X15 位数10X6 位数12X15 位数20X6 位数24X5 位数60X1
経過時間=0:6:28.352

どうもどこかに整合していないところがあるような気がする.一度整理してみよう.部分群の生成では,①置換リスト,②部分集合,③部分群生成元という3つのテーブルを使っている.①は親群を生成するときに用いた置換のリストで,(1)置換番号(0発進,単位元を含む),(2)置換(全単射),(3)巡回置換の積表現の3項目からなっている.②は2次元配列で,部分群の元集合を生成順に格納したもの,③は部分群生成時の生成元のリストであり,②の部分集合の生成順に格納されている.②と③には単位群は含まれていない.

部分群は生成元を特定するために,置換リストを用いて置換を決定し,それから取り出した置換積を部分群の生成元として割り当てている.これは置換.置換プリントによって置換リストから取り出された値である.部分群が2つの素群から合成される場合には,部分群生成元から取り出された素群の生成元を連結して新たな部分群の生成元としている.いま注目している位数60のS5の部分群は,〈2,21〉なので部分群[2]と部分群[21]から合成されたものと推定される.

部分群[2]は{e, 3, 4},部分群[21]は{e, 30, 48}でそれぞれ,(45), (123)を生成元としているから,位数60の生成元は(345), (123)でなくてはならない.(345)は置換リストでは#3,(123)は#30だが,これらは元の番号であり,部分群の番号ではないことに注意する必要がある.位数60の部分群が生成されたときには停止するようにしてみた.

★群(1 2 5),(2 3)(4 5),(2 4)(3 5)と群(3 4 5),(1 2 3)は一致する.

というのが出てきた.

★群(2 4)(3 5),(1 2 3)と群(3 4 5),(1 2 3)は一致する★

というのもある.見つかった!

★群(2 4)(3 5),(1 2 5)と群(3 4 5),(1 2 3)は一致する★

これが,FK氏の言うA5の生成元集合だ.

▲おかしな行が出てきた.

(109)〈22〉()位数3のS5の素群である

()の中が空なのはなぜだろう?⇒ミスタイプで消してしまったようだ.

(109)〈22〉群(1 2 3)は位数3のS5の素群である

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA