6次方程式のガロア群とガロア分解体　with Mathematica 14

2025 年6月  by  　(HyperlinkURL["mixedmoss", https://mixedmoss.com])

ClearAll["Global`*"]

§1. 可解で既約な6次方程式のガロア群

既約で可解な6次方程式のガロア群Galは12個あり，大きく分けて，次の3グループに分かれます．(添え数字は位数を表します.)
       ({{{, ({{(Subscript[G, 72])グループ:, (Subscript[G, 72]), (Subscript[G, 36]), (Subscript[Γ, 36]), (Subscript[G, 18])((Subscript[G, 72])の部分群だが(Subscript[G, 48])の部分群でない)}, {(Subscript[G, 48])グループ:, (Subscript[G, 48]),(Subscript[G, 24]), (Subscript[Γ, 24]),(Subscript[H, 24]), (Subscript[Γ, 12])((Subscript[G, 48])の部分群(Subscript[だがG, 72])の部分群でない)}, {(Subscript[G, 12])グループ:, (Subscript[G, 12]), (Subscript[C, 6]), (Subscript[H, 6])((Subscript[G, 72])(Subscript[とG, 48])の共通の部分群で，全て (Subscript[G, 12])の部分群となる)}})}})

但し決まった名前は無いようで，上の名前は 「文献1」 によるものです． (Subscript[G, 72]), (Subscript[G, 48]) などの”G”には特別な意味は無いようです．

(Subscript[G, 72]) は X={1,3,5},Y={2,4,6},S={X,Y}とおくとき，Sを動かさない(Subscript[S, 6])の部分群で,  (Subscript[G, 72])=<(1,3),(1,5),(1,2)(3,4)(5,6)>, 
SageMathによると，(Subscript[G, 72])=<σ,τ>, σ=(1,2,3,4,5,6),τ=(1,3) です．

次に (Subscript[G, 48])は X={1,2},Y={3,4},Z={5,6},T={X,Y,Z}とおくとき，Tを動かさない (Subscript[S, 6])の部分群で,  (Subscript[G, 48])=<(1,2),(1,3)(2,4),(1,3,5)(2,4,6)>, 
Sageによると  (Subscript[G, 48])=<σ,τ,μ>, σ=(1,3,5,2,4,6),τ=(1,2), μ=(1,3,2,4) です．

最後に (Subscript[G, 12])=(Subscript[G, 72])⋂(Subscript[G, 48])  で (Subscript[G, 12]) ≃ (Subscript[D, 4]) です．

Γ36 ,Γ24,Γ12 は交代群を表し，それぞれ (Subscript[G, 72]), (Subscript[G, 48]), (Subscript[G, 24]) と (Subscript[A, 6]) の共通部分で，特に Γ12≃(Subscript[A, 4]) です．
また Hは対称群と同型な群を表し  (Subscript[H, 24]) ≃(Subscript[S, 4]),  (Subscript[H, 6])≃ (Subscript[S, 3]) です． 更に (Subscript[Γ, 24])≃ (Subscript[H, 24])≃(Subscript[S, 4])です．詳しくは「文献1」をご覧ください．

これらをSageMathで見つけるには，例えば次の様にすれば  OKです．要するに (Subscript[S, 6]) の推移的な共役部分群を求めます．
このような共役部分群は16個ありますが，そのうち可解群となるのが上の12個です．

G = SymmetricGroup (6)
tr = []
repgroup = G . conjugacy_classes _subgroups ()
for  i  in  range (0, len (repgroup)) : if  repgroup[i] . is_transitive () : tr . append (repgroup[i])

SageMath  で既約で可解なガロア群を見つけるには，例えば上に続けて次の様にプログラムします．((Subscript[H, 24])≃(Subscript[Γ, 24]) なので 位数が24 の場合は別に扱っています.)

G72 = tr[12]; G48 = tr[10]; G18 = tr[4]; G36 = tr[8]; Gamma36 = tr[9]; Gamma12 = tr[2]; G12 = tr[3]; C6 = tr[1]; H6 = tr[0]; G24 = tr[5]; Gamma24 = tr[6]; H24 = tr[7];
group=[C6,H6,Gamma12,G12,G18,G36,Gamma36,G48,G72]
names={C6:”C6”,H6:”H6”,Gamma12:”Gamma12”,G12:”G12”,G18:”G18”,G36:”G36”,Gamma36:”Gamma36”,G48:”G48”,G72:”G72”}

_.<x>= PolynomialRing (QQ)
for p in range(-10,11):
    for q in range(-10,11):
        for r in range(-10,11):
            for s in range(-10,11):
                 for t in range(-10,11):
                    f=x^6+ p*x^4+q*x^3+r*x^2+s*x+t
                    if f.is_irreducible():
                          g=f.galois_group()
                          if g.order()!=24:
                            for h in group:
                                if g.is_isomorphic(h):
                                   print([[p,q,r,s,t],names[h]])
                          elif g.is_subgroup(AlternatingGroup(6)):
                                 print([[p,q,r,s,t],”Gamma24”])   
                          elif g.is_isomorphic(SymmetricGroup(4)):
                                 print([[p,q,r,s,t],”H24”])   
                          else:
                                 print([[p,q,r,s,t],”G24”])

「solvableSextic.txt」に上のプログラムで見つけた可解で既約な6次方程式のリストを載せてあります．

§1-1.(Subscript[G, 72]) グループ

ガロア群が (Subscript[G, 72])グループとなる方程式の例としては (#1)「f(x)=(((g(x)))^2)+a (g(x))+b (a,bは有理数,gは3次式)」があります．例えば
「f(x)=((((x^3)+(x^2)+x+1))^2)+4((x^3)+(x^2)+x+1)+1=(x^6)+2(x^5)+3(x^4)+8(x^3)+7(x^2)+6x+6」 のガロア群は (Subscript[G, 72]) です．実際,(t^2)+4t+1=0 の2解を (Subscript[t, 1]),(Subscript[t, 2]) ,  (x^3)+(x^2)+x+1=(Subscript[t, 1])の解を (Subscript[α, 1]),(Subscript[β, 1]),(Subscript[γ, 1]),(x^3)+(x^2)+x+1=(Subscript[t, 2])の解を (Subscript[α, 2]),(Subscript[β, 2]),(Subscript[γ, 2])  とすると「Q⊂Q((Subscript[t, 1]))⊂Q((Subscript[t, 1]),(Subscript[α, 1]),(Subscript[β, 1]),(Subscript[γ, 1]))⊂Q((Subscript[t, 1]),(Subscript[α, 1]),(Subscript[β, 1]),(Subscript[γ, 1]),(Subscript[α, 2]),(Subscript[β, 2]),(Subscript[γ, 2])) 」となりますが，各々の拡大次数は最大で 2,6,6となるので ガロア群の位数は最大で 2×6×6=72 となります．そして「Q((Subscript[t, 1]))⊂Q((Subscript[t, 1]),(Subscript[α, 1]),(Subscript[β, 1]),(Subscript[γ, 1]))」や「Q((Subscript[t, 1]),(Subscript[α, 1]),(Subscript[β, 1]),(Subscript[γ, 1]))⊂Q((Subscript[t, 1]),(Subscript[α, 1]),(Subscript[β, 1]),(Subscript[γ, 1]),(Subscript[α, 2]),(Subscript[β, 2]),(Subscript[γ, 2])) 」の拡大次数は 3となることはあっても 2となることはないので，(#1)の形のガロア群の位数は 2×3×6=36や 2×3×3=18 には成りえますが，24には成りません．もちろん(#1)に入らないgal=(Subscript[G, 72]) の方程式も沢山有ります．

§1-2.(Subscript[G, 48]) グループ

(Subscript[ガロア群がG, 48])グループとなる方程式の例としては (#2)「f(x)=(((g(x)))^3)+a (((g(x)))^2)+b g(x)+c (a,b,cは有理数,gは2次式)」があります．例えば
「f(x)=((((x^2)+1))^3)+((((x^2)+1))^2)+((x^2)+1)+2=(x^6)+4(x^4)+6(x^2)+5」 のガロア群は (Subscript[G, 48]) です．実際,(t^3)+(t^2)+t+2=0 の解を α,β,γ ,(x^2)+1=αの解を (Subscript[x, 1]), (Subscript[x, 2]),(x^2)+1=βの解を (Subscript[x, 3]), (Subscript[x, 4]),(x^2)+1=γの解を (Subscript[x, 5]), (Subscript[x, 6]) とすると「Q⊂Q(α,β,γ)⊂Q(α,β,γ,(Subscript[x, 1]))⊂Q(α,β,γ,(Subscript[x, 1]),(Subscript[x, 3]))⊂Q(α,β,γ,(Subscript[x, 1]),(Subscript[x, 3]),(Subscript[x, 5])) 」となります．その拡大次数は，最大で 6,2,2,2 となるので　ガロア群の位数は最大で 6×2×2×2=48 となります．また「Q⊂Q(α,β,γ)」の拡大次数は 3 には成りえますが，2には成らないので，(#2)の形のガロア群の位数は 3×2×2×2=24には成りえますが，16には成りません．また (Subscript[x, 1]),(Subscript[x, 3]),(Subscript[x, 5]) の中に独立でない組があれば 位数は12やもっと小さくなることもあります．(#1)に入らないgal=(Subscript[G, 48]) の方程式も有りますが かなり少ないです．

§1-3.(Subscript[G, 12]) グループ

例えば (Subscript[f, 1])(x)=(x^6)-3 や (Subscript[f, 2])(x)=(x^6)+3 は(#1)とも (#2)とも見えます．そしてそのガロア群はそれぞれ (Subscript[G, 12])と (Subscript[H, 6]) です．もちろんどちらにも入らないものも有ります．例えば (Subscript[f, 3])(x)=(x^6)+(x^5)+(x^4)+(x^3)+(x^2)+x+1 は (#1)にも (#2)にも書き直せませんが , gal=(Subscript[C, 6]) です．

§2 . Galois  Resolvent

これに関しては  先に「G72_solutions . nb」  か 「 G48_solutions . nb」  を読まれた方が分かりやすいと思います．また 「solveSexticProgram.nb」 も併せて読まれると更に分かりやすいと思います．

Import["https://mixedmoss.com/mathematica/Galois/sextic/Table1.png"]

上の表は 「文献1」 からです． (Subscript[F, 2])(x),  (Subscript[F, 10])(x), (Subscript[F, 15])(x) というのが Galois Resolvent です．  この表の説明をできる限りしたいと思いますが，もしかしたら間違っているかもしれません．(^^;

§2-1. (Subscript[F, 2])(x)について

(Subscript[F, 2])(x)は正確には (Subscript[F, (Subscript[A, 6])])(x) で  定義は 「 (Subscript[F, 2])(x) = (Subscript[Π, (Subscript[A, 6])])(x-θ), θ=  ((Subscript[x, 1])-(Subscript[x, 2]))((Subscript[x, 1])-(Subscript[x, 3]))⋯  ( (Subscript[x, 5])-(Subscript[x, 6])) 」です．  (Subscript[S, 6])の (Subscript[A, 5])による剰余類の代表元(e={}とσ=(1,2)) によりθを置換して (x-θ) の積を作ります．
即ち (Subscript[F, 2])(x)=(x-θ)(x-σ(θ))=(x-(Sqrt[D]))(x+(Sqrt[D]))= (x^2)-D (Dはfの判別式)です． 例えば  gal(f)=(Subscript[Γ, 60]) の時は gal(f)は偶置換のみからなるので σ(θ)=θ となり，θは g(f)によって変わりません．
即ち θは g(f)の固定体である有理数となります．一方，   gal(f)=(Subscript[H, 24])≃(Subscript[S, 4]) の場合は gal(f)は奇置換を含むので　θは gal(f)の固定体に入りません．
故に (Subscript[F, 2])(x) は既約2次式となりえます．ただし，gal(f)= (Subscript[H, 24]) の場合でも (Subscript[F, 2])(x) が一次式の積となることも有ります．
例えば 「 f=1-10 x+8 (x^2)-7 (x^4)+(x^6)」のガロア群は g(f)=(Subscript[H, 24]) ですが，D=(26600^2) で (Subscript[F, 2])(x)=(x-26600)(x+26600)です．

§2-2. (Subscript[F, 10])(x)について

次に   (Subscript[F, 10])(x)は正確には (Subscript[F, (Subscript[G, 72])])(x) で  定義は 「 (Subscript[F, 10])(x) = (Subscript[Π, (Subscript[G, 72])])(x-θ), θ=  ((Subscript[x, 1])+(Subscript[x, 3])+(Subscript[x, 5]))  ((Subscript[x, 2])+(Subscript[x, 4])+(Subscript[x, 6])) 」です．(Subscript[S, 6])の (Subscript[G, 72])による剰余類の代表元の集合を Σ10 ,Σ10の要素によってθを置換して(x-θ)の積を作った式が (Subscript[F, 10])(x)となります．具体的には以下の様になります．(Σ10は {x1,x3,x5,x2,x4,x6}の置換先によって表現しています.)

Σ10 = {{x1, x3, x5, x2, x4, x6}, {x1, x3, x2, x4, x5, x6}, {x1, x3, x4, x2, x5, x6}, {x1, x3, x6, x2, x4, x5}, {x1, x5, x2, x3, x4, x6}, {x1, x5, x4, x2, x3, x6}, {x1, x5, x6, x2, x3, x4}, {x1, x2, x4, x3, x5, x6}, {x1, x2, x6, x3, x4, x5}, {x1, x4, x6, x2, x3, x5}};

(Subscript[F, 10])(x)=(x-(x1+x3+x5) (x2+x4+x6)) (x-(x1+x2+x3) (x4+x5+x6))(x-(x1+x3+x4) (x2+x5+x6)) (x-(x1+x3+x6)(x2+x4+x5) ) (x-(x1+x2+x5) (x3+x4+x6))(x-(x1+x4+x5) (x2+x3+x6))(x- (x1+x5+x6)(x2+x3+x4))(x-(x1+x2+x4) (x3+x5+x6)) (x-(x1+x2+x6)(x3+x4+x5) )  (x-(x1+x4+x6)(x2+x3+x5) )

(Subscript[F, 10])(x) は (Subscript[x, 1])~(Subscript[x, 6]) の対称式となるので有理数係数の式です．また gal(f)=(Subscript[G, 72])のとき，θは (Subscript[G, 72])の固定体に入るので 有理数です．従って1次の因数(x-θ)を持ちます．このことは (Subscript[G, 72 ])の部分群である (Subscript[Γ, 36]),(Subscript[G, 36]),(Subscript[G, 18]),(Subscript[G, 12 ]), (Subscript[C, 6]),(Subscript[H, 6])でも正しいです．しかし (Subscript[G, 12 ]), (Subscript[C, 6]),(Subscript[H, 6]) などは この他にも 3次や6次の因数を持ちます．

例えば gal=(Subscript[C, 6])=<μ>,μ=(1,2,3,4,5,6) のとき (Subscript[F, 10])(x)の因数を調べるために Σ10 の元を 順に (Subscript[σ, 0]),(Subscript[σ, 1]),..,(Subscript[σ, 9]) , (Subscript[S, 6])の (Subscript[G, 72])による剰余類を (Subscript[S, 6])=(Subscript[σ, 0])(Subscript[G, 72])+(Subscript[σ, 1])(Subscript[G, 72])+⋯+(Subscript[σ, 9])(Subscript[G, 72]) =(Subscript[S, 0])+(Subscript[S, 1])+⋯+(Subscript[S, 9])とし，{(Subscript[S, i]),i=0,1,..,9}の (Subscript[C, 6]) による軌道(orbit)を調べます．ここで 「(Subscript[G, 72])は X={1,3,5},Y={2,4,6},S={X,Y}とおくとき，(Subscript[Sを動かさないS, 6])の部分群」なので

(Subscript[S, 0])={{1,3,5},{2,4,6}}, (Subscript[S, 1])={{1,2,3},{4,5,6}},(Subscript[S, 2])={{1,3,4},{2,5,6}},(Subscript[S, 3])={{1,3,6},{2,4,5}},(Subscript[S, 4])={{1,2,5},{3,4,6}},(Subscript[S, 5])={{1,4,5},{2,3,6}},(Subscript[S, 6])={{1,5,6},{2,3,4}},(Subscript[S, 7])={{1,2,4},{3,5,6}},(Subscript[S, 8])={{1,2,6},{3,4,5}},(Subscript[S, 9])={{1,4,6},{2,3,5}},

と見て構いません．まず (Subscript[明らかにC, 6])((Subscript[S, 0]))=(Subscript[S, 0]) です．次に「 (Subscript[S, 1])(Overscript[→, μ])(Subscript[S, 6])(Overscript[→, μ])(Subscript[S, 8])(Overscript[→, μ])(Subscript[S, 1]) 」なので (Subscript[C, 6])((Subscript[S, 1]))={(Subscript[S, 1]),(Subscript[S, 6]),(Subscript[S, 8])}です．最後に  「(Subscript[S, 2])(Overscript[→, μ])(Subscript[S, 3])(Overscript[→, μ])(Subscript[S, 7])(Overscript[→, μ])(Subscript[S, 9])(Overscript[→, μ])(Subscript[S, 4])(Overscript[→, μ])(Subscript[S, 5])(Overscript[→, μ])(Subscript[S, 2])」なので(Subscript[C, 6])((Subscript[S, 2]))={(Subscript[S, 2]),(Subscript[S, 3]),(Subscript[S, 7]),(Subscript[S, 9]),(Subscript[S, 4]),(Subscript[S, 5])}です．これで Mが軌道分解されました．軌道の長さが 1,3,6 となるので，表と一致します．(Subscript[同じ軌道上にあるS, k])は同じ代数的構造を持つので，(Subscript[S, k])を含む軌道の長さをmとすると，(Subscript[F, 10])(x)は既約m次式(gとおく)を因数に持つか，gを均等に分解した式h( n|m , (h^n)=g)を持ちます．

以上をMathematica  でプログラムすると次の様になります．

orbitInSBy[H_]:=Table[Sort/@Table[Sort/@(TakeList[Σ10[[i]],{3,3}]/.AssociationThread[H[[1]]->H[[k]]]),{k,1,Length[H]}]//Union,{i,1,10}]//Union
C6={{x1,x2,x3,x4,x5,x6},{x2,x3,x4,x5,x6,x1},{x3,x4,x5,x6,x1,x2},{x4,x5,x6,x1,x2,x3},{x5,x6,x1,x2,x3,x4},{x6,x1,x2,x3,x4,x5}};

orbit=orbitInSBy[C6]
Length/@orbit

同様にして，gal=(Subscript[H, 6]), (Subscript[G, 12])の場合も求めます．表と一致します．

G12={{x1,x2,x3,x4,x5,x6},{x3,x4,x6,x5,x2,x1},{x6,x5,x1,x2,x4,x3},{x4,x3,x5,x6,x1,x2},{x5,x6,x2,x1,x3,x4},{x2,x1,x4,x3,x6,x5},{x1,x2,x6,x5,x4,x3},{x3,x4,x1,x2,x5,x6},{x6,x5,x3,x4,x2,x1},{x4,x3,x2,x1,x6,x5},{x5,x6,x4,x3,x1,x2},{x2,x1,x5,x6,x3,x4}};
H6={{x1,x2,x3,x4,x5,x6},{x6,x3,x4,x2,x1,x5},{x5,x4,x2,x3,x6,x1},{x4,x5,x6,x1,x2,x3},{x3,x6,x1,x5,x4,x2},{x2,x1,x5,x6,x3,x4}};

orbit=orbitInSBy[H6]
Length/@orbit

orbit=orbitInSBy[G12]
Length/@orbit

§2-3. (Subscript[F, 15])(x)について

最後に   (Subscript[F, 15])(x)は正確には (Subscript[F, (Subscript[G, 48])])(x) で  定義は 「 (Subscript[F, 48])(x) = (Subscript[Π, (Subscript[G, 48])])(x-θ), θ=  (Subscript[x, 1])(Subscript[x, 2])+(Subscript[x, 3])(Subscript[x, 4])+(Subscript[x, 5])(Subscript[x, 6]) 」です．(Subscript[S, 6])の (Subscript[G, 48])による剰余類の代表元の集合を Σ15 ,Σ15の要素によってθを置換して(x-θ)の積を作った式が (Subscript[F, 15])(x)となります．具体的には以下の様になります．(Σ15は {x1,x2,x3,x4,x5,x6}の置換先によって表現しています.)

Σ15={{x1,x2,x3,x4,x5,x6},{x1,x2,x3,x5,x4,x6},{x1,x2,x3,x6,x4,x5},{x1,x3,x2,x4,x5,x6},{x1,x3,x2,x5,x4,x6},{x1,x3,x2,x6,x4,x5},{x1,x4,x2,x3,x5,x6},{x1,x4,x2,x5,x3,x6},{x1,x4,x2,x6,x3,x5},{x1,x5,x2,x3,x4,x6},{x1,x5,x2,x4,x3,x6},{x1,x5,x2,x6,x3,x4},{x1,x6,x2,x3,x4,x5},{x1,x6,x2,x4,x3,x5},{x1,x6,x2,x5,x3,x4}};

(Subscript[F, 15])(x)=(x-x1 x2-x3 x4-x5 x6)(x-x1 x2-x3 x5-x4 x6)(x-x1 x2-x3 x6-x4 x5) (x-x1 x3-x2 x4-x5 x6)(x-x1 x3-x2 x5-x4 x6) (x-x1 x3-x2 x6-x4 x5)(x-x1 x4-x2 x3-x5 x6)(x-x1 x4-x2 x5-x3 x6)(x-x1 x4-x2 x6-x3 x5)(x-x1 x5-x2 x3-x4 x6)(x-x1 x5-x2 x4-x3 x6)(x-x1 x5-x2 x6-x3 x4)(x-x1 x6-x2 x3-x4 x5) (x-x1 x6-x2 x4-x3 x5) (x-x1 x6-x2 x5-x3 x4)

(Subscript[F, 15])(x) は (Subscript[x, 1])~(Subscript[x, 6]) の対称式となるので有理数係数の式です．また gal(f)=(Subscript[G, 48])のとき，θは (Subscript[G, 48])の固定体に入るので 有理数です．従って1次の因数(x-θ)を持ちます．このことは (Subscript[G, 48 ])の部分群である (Subscript[G, 24]), (Subscript[Γ, 24]),(Subscript[H, 24]), (Subscript[Γ, 12]), (Subscript[G, 12 ]), (Subscript[C, 6]),(Subscript[H, 6])でも正しいです．しかし (Subscript[G, 12 ]), (Subscript[C, 6]),(Subscript[H, 6]) などは この他にも 2次，3次，6次の因数を持ちます．

Σ15 の元を 順に (Subscript[σ, 0]),(Subscript[σ, 1]),..,(Subscript[σ, 14]) , (Subscript[S, 6])の (Subscript[G, 48])による剰余類を (Subscript[G, 48])=(Subscript[σ, 0])(Subscript[G, 48])+(Subscript[σ, 1])(Subscript[G, 48])+⋯+(Subscript[σ, 14])(Subscript[G, 48]) =(Subscript[T, 0])+(Subscript[T, 1])+⋯+(Subscript[T, 14])とし，{(Subscript[T, i]),i=0,1,..,14}の gal による軌道(orbit)を調べます．ここで 「(Subscript[G, 48])は X={1,2},Y={3,4},Z={5,6},T={X,Y,Z}とおくとき，(Subscript[Tを動かさないS, 6])の部分群」なので

(Subscript[T, 0])={{1,2},{3,4},{5,6}},(Subscript[T, 1])={{1,2},{3,5},{4,6}},(Subscript[T, 3])={{1,2},{3,6},{4,5}},⋯,(Subscript[T, 14])={{1,6},{2,5},{3,4}}

と見て構いません． gal= (Subscript[G, 12]),(Subscript[C, 6]), (Subscript[H, 6])  に対して, 順に,  (Subscript[F, 10])(x)の時と同様に  Mathematica  でプログラムして Tに於ける軌道の長さを調べます．

orbitInTBy[H_]:=Table[Sort/@Table[Sort/@(TakeList[Σ15[[i]],{2,2,2}]/.AssociationThread[H[[1]]->H[[k]]]),{k,1,Length[H]}]//Union,{i,1,15}]//Union

orbit=orbitInTBy[G12]
Length/@orbit

orbit=orbitInTBy[C6]
Length/@orbit

orbit=orbitInTBy[H6]
Length/@orbit

表の他の部分についても同様に調べることができます．また 「G72_solutions.nb」,「G48_solutions.nb」 などでは f10a~f10f, f15a~f15e などの式が登場しますが， f10a=(Subscript[F, 10])(x), f15a=(Subscript[F, 15])(x) です．さらにこのセクション に関しては「 solveSixticProgram.nb の§2」 も参考になると思います．