極大部分群検定で行き詰まる

元表をダンプできるようになったが,元の構成を再考してみたい.現行では元.置換表示に置換積を格納するようにしているが,むしろ,置換そのもの(全単射)の方がよいと思う.応用が効くし,乗積表から置換を割り出すとすれば置換の形式になると考えられるからだ.メンバー名も置換表示ではなく,置換でよいと思う.置換プリントで置換積に変換することができる.⇒ただし,データ型が違う.stringの配列だ.置換はいくらでも大きく取ることはできるが,現状ではたかだか7程度なので,MAXを押さえておくことにしよう.

暫定的にcMAXPERMARRAY=7としておく.この定数はPermutationクラスで持つことにしよう.しかし,置換を置換積の形式に変換するのは結構厄介な計算になる.現物の置換の他に,恒等置換の文字列並びが必要だ.置換積への変換という関数を作った.⇒もうひとつ手当しておくことがある.元表はソートされることがあるので,個別の元に番号を付与しておく必要がある.さて,もう一度極大部分群に戻ろう.やることはすでにわかっているので,後は実装するだけだ.

A5の部分群検定で(Count != 部分群数)で停止した.これは昨日S5で起きていたのと同じだ.部分群数は58,Countは60になっている.極大部分群数が加算されている.現行では部分群検定に極大部分群検定は含まれていないので外しておこう.⇒解消した.

▲時間の掛かる処理ではカーソルを砂時計にする.

かなりよい動きになってきたが,まだ完全ではない.特にA4,A5に不審がある.A4,A5では位数3×2を検出しているが,A4の部分群には位数2X3 位数3X4 位数4X1がある.A5は正規部分群は持っていないが,57個の真部分群がある.位数2X15 位数3X10 位数4X5 位数5X6 位数6X10 位数10X6 位数12X5だ.A4は位数4の正規部分群を持っている.極大部分群と正規部分群はかなり近いような印象があるが,A4の位数4の正規部分群を検出できていないのは問題だ.

☆「A5の部分群 ハッセ図」でググったら,13番目にテント村(2023/11/13)が出てきた.投稿からまだ一週間しか経っていない!ハッセ図を出したいのだが… ゼルコバの木で表示することは可能だろうか?ゼルコバの木はハッセ図を描くようには作られていないが,ある程度それらしきものは出せるのではないか?ハッセ図を見ながら考えればかなりわかり易くなると思われるのだが… 群(部分群)をノードとし,部分群の包含関係を親子関係と見立てればハッセ図になるような気はする.ただし,そのためにはすべての部分群をキープする必要がある.現行ではそうなっていない.同型な部分群は代表群を一つ残してそれ以外は破棄されている.A4では8個だが,A5では57個もある.

▲現行では群をダンプするとき,元の集合{}の形式で表示しているが,これを元の置換積表示でも表示できるようにする.⇒部分群の登録のところでは生成元を置換積表示している.

ストック部分群と同型で追加されなかったときは,既存ストックの部分群名を表示してほしい.⇒対処した.

ともかく,極大検定でA4の位数4の部分群(=V)が取れない問題を調べなくてはならない.A4={a, b,…, l}のような元を持っている.V={a, d, i, l}なので,落とされているノードは{b, c, e, f, g, h, j, k}の8個だ.手順からゆくと真っ先に落とされるのはbだが,そこから先の動作をトレースしてみよう.

★★★★登録解除:i=1 peel=b count=0 N=12 台集合=12
登録解除 count=1 N=11 x=b
登録解除 count=1 N=10 x=c
■■■■元対解除:i=1 peel=b 元対=(3, 6) →3 d
登録解除 count=1 N=9 x=d
■■■■元対解除:i=1 peel=b 元対=(4, 9) →9 j
登録解除 count=1 N=8 x=j
登録解除 count=1 N=7 x=f
■■■■元対解除:i=1 peel=b 元対=(4, 7) →4 e
登録解除 count=1 N=6 x=e
登録解除 count=1 N=5 x=g
■■■■元対解除:i=1 peel=b 元対=(7, 8) →8 i
登録解除 count=1 N=4 x=i
■■■■元対解除:i=1 peel=b 元対=(7, 11) →11 l
登録解除 count=1 N=3 x=l
■群A4:~b 位数3〈~b〉 素群 極大 可換 巡回 自己同型 {a,h,k}

削除される順序は,{b, c, d☓, j, f, e, g, i, l☓}となっている.最初のつまづきの石はdだ.競合しているのは{g}だ.gを削除するのが正解であるところ,間違ったカードを引いている.dはx^2=dとなるノードがない.つまり,べき表では(0, 0)となっている.gは(1, 4)だ.この点でdが選択されているが,dのべき先は0つまり単位元だ.しかし,単位元の位数が2になっているというのはおかしい.ベキがeとなるとき,つまりx^2=eのときは位数2としているためだ.間違い易いので単位元はループの外で設定することにしよう.単位元の位数は1であるとした.

競合元対:x=3:d #2 (0, 0=a #1) y=6:g #3 (1, 4=e #3)

べき元が0ということは乗積表の対角線上にそのノードが現れないことを意味している.これはその意味では削除し易い条件のようにも思われるのだが,単位元に直結している位置でカットしたら根こそぎ倒されることは間違いない.この意味では最優先されるのは位数ということになる.書き直してみよう.⇒修正して以下の結果になった.

■群A4は3個の極大部分群を持つ■ 位数2X2 位数4X1
■群A5は3個の極大部分群を持つ■ 位数4X1 位数6X1 位数10X1

A4は8個の真部分群,位数2X3 位数3X4 位数4X1なので,まぁまぁというところ.A5は57個の真部分群,位数2X15 位数3X10 位数4X5 位数5X6 位数6X10 位数10X6 位数12X5 なので,まだまだだ.位数12が出てこなくてはならない.

S4~bをダンプしようとして例外が起きた.置換構成が空だ.⇒チェックして空テキストで補充するようにした.

コメントを残す

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

CAPTCHA