(x^5) -5 x + 12 のGalois 群  
with Mathematica 13.3

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

「FindGaloisGroup.nb」で最後から2番目に書いた「StepByStep Mathematica Program 」を 5次向けに直し，それを使って求めます．もちろん 最後に挙げた「Automated Mathematica Program」 の方を使うとすぐ求まりますが，それでは説明になりません．いまさら「説明は不要」という方は C5_Solutions.nb/pdf を御覧ください．逆に，より詳しい説明は「FindGaloisGroup.nb/pdf」をご覧ください．

Step1 . 分解方程式

(出力は 120次の方程式R (x)を因数分解した式, そして分解方程式V(x)です．分解方程式はR(x)の他の因子を選んでも大丈夫です)

ClearAll["`*"];
f[x_] = x^5 -5 x + 12;
vars={α,β,γ,δ,ϵ};
vs=Permutations[vars].{5,2,3,4,1};(*R(x)に重解があるときはここを変える*)
coef=CoefficientList[f[x],x]//Reverse//Drop[#,1]&;
{s1,s2,s3,s4,s5}=Table[SymmetricPolynomial[i,vars],{i,1,5}];
contents={s1+coef[[1]],s2-coef[[2]],s3+coef[[3]],s4-coef[[4]],s5+coef[[5]],v−vs[[1]]};
GroebnerBasis[contents,{α,β,γ,δ,ϵ,v}][[1]];
Factor[%]
V[x_]=(List@@%)[[1]]/.{v->x}

Step2 . f (x)の解を原始元vで表す

GroebnerBasis[contents,{α,v},{β,γ,δ,ϵ}]//PolynomialMod[Last[#],V[v]]&;
α'=α/.Solve[%==0,α][[1]]//Collect[#,v]&;
GroebnerBasis[contents,{β,v},{α,γ,δ,ϵ}]//PolynomialMod[Last[#],V[v]]&;
β'=β/.Solve[%==0,β][[1]]//Collect[#,v]&;
GroebnerBasis[contents,{γ,v},{α,β,δ,ϵ}]//PolynomialMod[Last[#],V[v]]&;
γ'=γ/.Solve[%==0,γ][[1]]//Collect[#,v]&;
GroebnerBasis[contents,{δ,v},{α,β,γ,ϵ}]//PolynomialMod[Last[#],V[v]]&;
δ'=δ/.Solve[%==0,δ][[1]]//Collect[#,v]&;
GroebnerBasis[contents,{ϵ,v},{α,β,γ,δ}]//PolynomialMod[Last[#],V[v]]&;
ϵ'=ϵ/.Solve[%==0,ϵ][[1]]//Collect[#,v]&;
{α',β',γ',δ',ϵ'}

Step３ . V(x)の解を原始元vで表す

vs/.{α->α',β->β',γ->γ',δ->δ',ϵ->ϵ'}//Simplify;(*vsの要素をvで表す*)
PolynomialMod[V[#],V[v]]&/@%;
Position[%,0]//Flatten
vset=vs[[%]]/.{α->α',β->β',γ->γ',δ->δ',ϵ->ϵ'}//Collect[#,v]&

Step4 . Galois群を求める

sols={α',β',γ',δ',ϵ'};
Table[
perm=sols/.{vset[[1]]->vset[[i]]}//PolynomialMod[#,V[v]]&;
Table[FirstPosition[Simplify[perm-sols[[k]]{1,1,1,1,1}],0][[1]],{k,1,5}]//Flatten,{i,1,Length[vset]}];
MatrixForm[%]

現代の書き方では次の様になる．
{Id, (2,5)(3,4), (1,2)(3,5),(1,5,4,3,2),   (1,3)(4,5), (1,4,2,5,3), (1,4)(2,3), (1,3,5,2,4),(1,2,3,4,5),  (1,5)(2,4)} 
ここで σ = (1, 2, 3, 4, 5), τ = (2,3,5,4) とすると，上の群は(τ^2)=(2,3)(4,5)とσで生成される2面体群 (Subscript[D, 5])と一致する．
(Subscript[C, 5])を5次巡回群とすると，(Subscript[D, 5])=(Subscript[C, 5])+(τ^2)(Subscript[C, 5])
分解列は    (Subscript[D, 5]) ⊳ (Subscript[C, 5]) ⊳ {Id}

[part2 . (HyperlinkURL["D5_Solution.nb", https://mixedmoss.com/mathematica/Galois/notebook/D5_Solutions.nb]) （厳密解を求める)  に続く］