(x^5) + 15 x + 12 の厳密解  with Mathematica 13.3

文献[1]を参考にして Gal= (Subscript[F, 20])の方程式を解く       
                                                                                             2025 年3月  by  　(HyperlinkURL["mixedmoss", https://mixedmoss.com])

§0.  [準備]  原始元, 分解方程式, ガロア群

以下は GaloisGroupProgram.nb を使って求めた結果です．

ClearAll["`*"];  
f=x^5+15x+12;

f(x)=0 の解を x1, x2, x3, x4, x5 (α,β... などの代わりに x1,x2,...を利用する).  f(x) の原始元をv = x1+ 4 x2 + 3 x3 + 2 x4 + 5 x5  ,  vの最小多項式をV[x] とすると

V[x_]=2371842000000000+79290090000000 (x^2)-10682052390000 (x^4)+850670100000 (x^6)-34046433000 (x^8)+523980000 (x^10)+9587025 (x^12)-90000 (x^14)-5370 (x^16)+(x^20);

f のガロア群を Gal とすると，
gal=<τ,σ>≃ (Subscript[C, 4]) (Subscript[C, 5])
ただしσ=(1,2,3,4,5),τ=(2,3,4,5)

このように (Subscript[C, 4]) (Subscript[C, 5])の形で書ける群を (Subscript[F, 20])(Frobenius group)というらしい．
分解列は   (Subscript[F, 20])⊳ (Subscript[D, 5]) ⊳ (Subscript[C, 5]) ⊳ {Id}  
ただし (Subscript[C, n])は巡回群，(Subscript[D, n ])は2面体群で
 (Subscript[C, 5])=<σ>, (Subscript[D, 5])=(Subscript[C, 5])+(τ^2)(Subscript[C, 5]),  (Subscript[F, 20])= (Subscript[D, 5])+τ(Subscript[D, 5])=(Subscript[C, 5])+τ(Subscript[C, 5])+(τ^2)(Subscript[C, 5])+(τ^3)(Subscript[C, 5])≃ (Subscript[C, 4]) (Subscript[C, 5])

また 解のvによる表現は次のようになる．(解は $x1,$x2,$x3,$x4,$x5に代入)

{$x1,$x2,$x3,$x4,$x5}={(-861938718370242204295608211266295749515640000000-684433253827819307591593725116638734918408000000 v+56453863409949377565172037271904795583245800000 (v^2)+19563002556282706292765646235752842691558840000 (v^3)-7978466780980478967648684319768154297604375000 (v^4)-1412078890526740319563466581752545752725075000 (v^5)+454647992046551629938068763322137557640847500 (v^6)+39523989667403257171441630822442153550235500 (v^7)-13776327979571728133852521864693297147931250 (v^8)+182204829309166623059648702064842417343750 (v^9)-82512570458629569770475904931084945494875 (v^10)-16375593393086713704888903663110645815275 (v^11)+4797148900075425726389295085994209777500 (v^12)-306835892721536375300648923135537216500 (v^13)+101218323101025844900848255798867235650 (v^14)+2862937646806542762759958481564843970 (v^15)-733123275960863452231815446003913250 (v^16)+86517962663944011222846746522076950 (v^17)-24177861079325177445822443717163795 (v^18)+109727114703154096983447147223069 (v^19))/2041681628667118655087624863780198236925920000000,(288962986598211429293764452721718394637080000000-174012846661039643819687509171589175686928000000 v-60001378726542522459935163913547847315185400000 (v^2)+19563002556282706292765646235752842691558840000 (v^3)+6580063880550445698229626882944152376275125000 (v^4)-1412078890526740319563466581752545752725075000 (v^5)-316671295975123912024987067169784443651517500 (v^6)+39523989667403257171441630822442153550235500 (v^7)+6067999698672491109590008894958502641868750 (v^8)+182204829309166623059648702064842417343750 (v^9)+96204031481264240681635473494882788795875 (v^10)-16375593393086713704888903663110645815275 (v^11)-1239924706348598058510108525628473142500 (v^12)-306835892721536375300648923135537216500 (v^13)-55503894727181654479874499299363568450 (v^14)+2862937646806542762759958481564843970 (v^15)+49098725383619996457776558599182750 (v^16)+86517962663944011222846746522076950 (v^17)+10156737918838949953161614612963835 (v^18)+109727114703154096983447147223069 (v^19))/1020840814333559327543812431890099118462960000000,(17682965821657195956640032738346434240000+3956628498066676567522910744266347000000 (v^2)-322616275388652119062693539383779437000 (v^4)+11125734870376676599102217027958772500 (v^6)+102128776784474922892498560974779050 (v^8)-6842221945748661717492745300989525 (v^10)-144277777424300821652509703231340 (v^12)+609503629255743300863141717310 (v^14)+39531224767096432236733301402 (v^16)+240601146642007769540230179 (v^18))/63558743528095155461086764482499108480000,(288962986598211429293764452721718394637080000000+174012846661039643819687509171589175686928000000 v-60001378726542522459935163913547847315185400000 (v^2)-19563002556282706292765646235752842691558840000 (v^3)+6580063880550445698229626882944152376275125000 (v^4)+1412078890526740319563466581752545752725075000 (v^5)-316671295975123912024987067169784443651517500 (v^6)-39523989667403257171441630822442153550235500 (v^7)+6067999698672491109590008894958502641868750 (v^8)-182204829309166623059648702064842417343750 (v^9)+96204031481264240681635473494882788795875 (v^10)+16375593393086713704888903663110645815275 (v^11)-1239924706348598058510108525628473142500 (v^12)+306835892721536375300648923135537216500 (v^13)-55503894727181654479874499299363568450 (v^14)-2862937646806542762759958481564843970 (v^15)+49098725383619996457776558599182750 (v^16)-86517962663944011222846746522076950 (v^17)+10156737918838949953161614612963835 (v^18)-109727114703154096983447147223069 (v^19))/1020840814333559327543812431890099118462960000000,(-861938718370242204295608211266295749515640000000+684433253827819307591593725116638734918408000000 v+56453863409949377565172037271904795583245800000 (v^2)-19563002556282706292765646235752842691558840000 (v^3)-7978466780980478967648684319768154297604375000 (v^4)+1412078890526740319563466581752545752725075000 (v^5)+454647992046551629938068763322137557640847500 (v^6)-39523989667403257171441630822442153550235500 (v^7)-13776327979571728133852521864693297147931250 (v^8)-182204829309166623059648702064842417343750 (v^9)-82512570458629569770475904931084945494875 (v^10)+16375593393086713704888903663110645815275 (v^11)+4797148900075425726389295085994209777500 (v^12)+306835892721536375300648923135537216500 (v^13)+101218323101025844900848255798867235650 (v^14)-2862937646806542762759958481564843970 (v^15)-733123275960863452231815446003913250 (v^16)-86517962663944011222846746522076950 (v^17)-24177861079325177445822443717163795 (v^18)-109727114703154096983447147223069 (v^19))/2041681628667118655087624863780198236925920000000};

今回は 参考文献[1] 「可解な５次方程式について」を 「参考」にして，Gal= (Subscript[F, 20])の方程式を解いてみたいと思います．この文献は，Galois群の判別式など，特に理論的な面に価値があると思うのですが，今回は，５次方程式の解法に絞って話をしたいと思います．またMathematicaの計算力をフルに使うので，文献の方法とはかなり違います．なおこのノートブックは変数の再利用を考えず，見やすさを一番に考え，変数の再定義を頻繁に行っています．ご注意ください．

§１.4次の分解方程式 h(x) を作る

1-1. 分解方程式の定義

(Subscript[C, 5]) ⊳{Id}の部分に注目し，ラグランジュの5次分解式をつくる .(ζは1の原始５乗根のひとつ．) このとき(Subscript[x, k]) (1≦k≦5)を自由変数，すなわち f=0の解となっていることは忘れるものとする．

Clear[x1,x2,x3,x4,x5,ζ]
r0=x1+ x2+  x3 + x4 + x5;
r1=x1+ζ x2+ ζ^2 x3 +ζ^3 x4 +ζ^4 x5;
r2=x1+ζ^2 x2+ ζ^4 x3 +ζ x4 +ζ^3 x5;
r3=x1+ζ^3 x2+ ζ x3 +ζ^4 x4 +ζ^2 x5;
r4=x1+ζ^4 x2+ ζ^3 x3 +ζ^2 x4 +ζ x5;

解と係数の関係より r0 = 0. 　また以下の性質が成り立つ．

(#1)({{{, ({{r1をσで移すと r1→(ζ^4)r1,, τで移すと r1→r3,(τ^2)で移すと r1→r4,}, {r2をσで移すと r2→(ζ^3)r2,, τで移すと r2→r1,(τ^2)で移すと r2→r3,}, {r3をσで移すと r3→(ζ^2)r3,, τで移すと r3→r4,(τ^2)で移すと r3→r2,}, {r4をσで移すと r4→ ζr4,, τで移すと r4→r2,(τ^2)で移すと r4→r1,}})}})

τは 分解式を「 r1→r3→r4→r2→r1」 のように移し，σは 「 r1→(ζ^4)r1→→(ζ^3)r1→→(ζ^2)r1→ζr1→r1」 のように移す．
さらに 同型写像 ω: ζ→(ζ^3) とすると，分解式は次のように移る.   ωはτと同じように分解式を移す.                        
                            (by ω) r1→r3→r4→r2 →r1⋯         (by (ω^2)) r1↔r4，r2↔r3

(Subscript[R, 1])= ((Subscript[r, 1])^5),(Subscript[R, 2])= ((Subscript[r, 2])^5),(Subscript[R, 3])= ((Subscript[r, 3])^5),(Subscript[R, 4])= ((Subscript[r, 4])^5) と定義し， ((Subscript[r, 1])^5)を展開し,ζについて整理した式を

(Subscript[R, 1])=((Subscript[r, 1])^5)= (Subscript[l, 0])+(Subscript[l, 1])ζ+(Subscript[l, 2])(ζ^2)+(Subscript[l, 3])(ζ^3)+(Subscript[l, 4])(ζ^4)((Subscript[l, i])は ζを含まない(Subscript[x, j])のみの式)とおく． これを ω で移すと次の式が得られる．

(#2)   ({{{, ({{(Subscript[R, 1])=((Subscript[r, 1])^5), =(Subscript[l, 0])+(Subscript[l, 1])ζ+(Subscript[l, 2])(ζ^2)+(Subscript[l, 3])(ζ^3)+(Subscript[l, 4])(ζ^4)}, {(Subscript[R, 2])=((Subscript[r, 2])^5), =(Subscript[l, 0])+(Subscript[l, 3])ζ+(Subscript[l, 1])(ζ^2)+(Subscript[l, 4])(ζ^3)+(Subscript[l, 2])(ζ^4)}, {(Subscript[R, 3])=((Subscript[r, 3])^5),  =(Subscript[l, 0])+(Subscript[l, 2])ζ+(Subscript[l, 4])(ζ^2)+(Subscript[l, 1])(ζ^3)+(Subscript[l, 3])(ζ^4)}, {(Subscript[R, 4])=((Subscript[r, 4])^5), =(Subscript[l, 0])+(Subscript[l, 4])ζ+(Subscript[l, 3])(ζ^2)+(Subscript[l, 2])(ζ^3)+(Subscript[l, 1])(ζ^4)}})}})

(#1)より，σで (Subscript[R, 1])~(Subscript[R, 4])は動かない．よってσで  (Subscript[l, 0])~(Subscript[l, 4])も動かない．次に τによって 「 (Subscript[R, 1])→(Subscript[R, 3])→(Subscript[R, 4])→(Subscript[R, 2])→(Subscript[R, 1]) 」と動くから，「(Subscript[l, 1])→(Subscript[l, 2])→(Subscript[l, 4])→(Subscript[l, 3])→(Subscript[l, 1])  」と動く．また (Subscript[l, 0]) は動かない．

次に h(x)=(x-(Subscript[l, 1]))(x-(Subscript[l, 2]))(x-(Subscript[l, 3]))(x-(Subscript[l, 4]))と定義すると，(Subscript[l, i])(1≦i≦4)は τによって動くので有理数でない．また σとτ によって h(x)の係数は変わらないので，h(x)の係数は (Subscript[F, 20])=<σ,τ>の固定体Q(ζ)に入る． しかし，(Subscript[l, i])(1≦i≦4)は ζ を含んでないから
h(x)の係数は有理数となる．まとめると「 h(x)は Q上既約な 有理数係数の4次式 」となる．同様に (Subscript[l, 0]) も σとτによって動かず ζ を含んでないから 有理数となる．

Mathematicaのような計算力があれば，上の１行で話は終わり である． h(x) の係数は Qに入るので「単純計算」で h(x) は求まる．そして4次方程式は解の公式があるので，(Subscript[l, i])(1≦i≦4)は求まる．これを(#2)へ代入すれば (Subscript[R, 1])~(Subscript[R, 4])が求まる．その５乗根を取ると (Subscript[r, 1])~(Subscript[r, 4]) が求まり，それを代入すると (Subscript[x, 1])~(Subscript[x, 5]) が求まる．

(私は分かりやすくするために「 4 次の分解方程式」と勝手に呼んでいますが，文献[1] では何も名前が与えられていません．)

1-2. 分解方程式h(x)の式を求める

以上を Mathematica で実行しましょう．解くだけなら不要ですが，先ず (Subscript[l, i])(0≦i≦4)を (Subscript[x, 1])~(Subscript[x, 5]) の式で見てみましょう．

r1^5//PolynomialMod[#,ζ^5-1]&//Collect[#,ζ]&

全てが長いので (Subscript[l, 0 ])だけ出力します．

{l0,l1,l2,l3,l4}=CoefficientList[%,ζ];l0

この後は (Subscript[F, 20])の固定体が Q(ζ)であることを使わないといけないので，x1~x5 に 原始元v による表現 $x1~$x5 を代入して，h(x)の式を求めます．

rule={x1->$x1,x2->$x2,x3->$x3,x4->$x4,x5->$x5};
l0=l0/.rule//Expand//PolynomialMod[#,V[v]]&
l1=l1/.rule//Expand//PolynomialMod[#,V[v]]&;
l2=l2/.rule//Expand//PolynomialMod[#,V[v]]&;
l3=l3/.rule//Expand//PolynomialMod[#,V[v]]&;
l4=l4/.rule//Expand//PolynomialMod[#,V[v]]&;
l1//Style[#,Small]&

(Subscript[l, 0])は確かに有理数です． (Subscript[l, 1])のみ出力しましたが (Subscript[l, 2]), (Subscript[l, 3]),(Subscript[l, 4]) も vが残った長い式になっています．それでは h(x) を「単純計算」で求めましょう．

h[x_]=(x-l1)(x-l2)(x-l3)(x-l4)//Expand//PolynomialMod[#,V[v]]&
IrreduciblePolynomialQ[%]

確かに有理数係数で既約な４次式です．因みに 「(Subscript[l, 0])+(Subscript[l, 1])+(Subscript[l, 2])+(Subscript[l, 3])+(Subscript[l, 4])= ((((Subscript[x, 1])+(Subscript[x, 2])+(Subscript[x, 3])+(Subscript[x, 4])+(Subscript[x, 5])))^5) =0」が成り立つので，(x^3) の係数は(Subscript[l, 0])と等しいです．

§2. h(x) を解いて (Subscript[R, 1])~(Subscript[R, 4])の候補を求める

2-1. h(x)を解く

解の公式を使っても良いのですが，ここでは文献[1] を参考にします．(#1) よりσで (Subscript[l, 1])~(Subscript[l, 4])は動かず, また τによって 「(Subscript[l, 1])→(Subscript[l, 2])→(Subscript[l, 4])→(Subscript[l, 3])→(Subscript[l, 1])  」 と動くので， (Subscript[D, 5])=<σ,  (τ^2)> によって (Subscript[l, 1])+(Subscript[l, 4]), (Subscript[l, 2])+(Subscript[l, 3]), (Subscript[l, 1])(Subscript[l, 4]), (Subscript[l, 2])(Subscript[l, 3 ])は動きません．故にこれらは (Subscript[D, 5])の固定体 Q((Sqrt[5]))に入ります．

h(x)=(x-(Subscript[l, 1]))(x-(Subscript[l, 2]))(x-(Subscript[l, 3]))(x-(Subscript[l, 4]))={ (x^2)-((Subscript[l, 1])+(Subscript[l, 4]))x+(Subscript[l, 1])(Subscript[l, 4])}{ (x^2)-((Subscript[l, 2])+(Subscript[l, 3]))x+(Subscript[l, 2])(Subscript[l, 3])} ですから，h(x) は  Q((Sqrt[5])) の係数を持つ2次式の積に直せます.　ver13.3より新しい Mathematica では次のように因数分解出来ます．(ver13.3より古い場合は Solveをお使い下さい.)

(RefLink[Factor, paclet:ref/Factor])[poly,(RefLink[Extension, paclet:ref/Extension])->{(Subscript[a, 1]),(Subscript[a, 2]),…}](Subscript[代数的数a, i])の有理的組合せからなる係数を使い，多項式を因数分解する．

hx=Factor[h[x],Extension->Sqrt[5]]

h(x) = h1*h2 (h1, h2 は2次式) と分けると

h1=-(List@@hx)[[2]]
h2=(List@@hx)[[3]]

h1 = 0 の解を {x11, x12}, h2 = 0 の解を {x21,x22} とおき，{l1,l2,l3,l4}={ x11, x21, x22, x12} と置きます .

{l1,l2,l3,l4}={x/.Solve[h1==0,x],x/.Solve[h2==0,x]}//Flatten[#,1][[{1,3,4,2}]]&

【注】同じことが Solve でも出来ます．(順序もたまたま揃っています. )

{l1,l2,l3,l4}=x/.Solve[h[x]==0,x,Quartics->True][[{1,3,4,2}]]

2-2. (Subscript[R, 1])~(Subscript[R, 4])の候補を求める

もちろん，ここで，(Subscript[l, 1])~(Subscript[l, 4])が本来あるべき(Subscript[l, 1])~(Subscript[l, 4])と一致しているとは限りません．しかし (Subscript[l, 1])と (Subscript[l, 4])，(Subscript[l, 2])と (Subscript[l, 3])は同じ２次方程式の解であることから，正しい((Subscript[l, 1]),(Subscript[l, 2]),(Subscript[l, 3]),(Subscript[l, 4]))は,(Subscript[l, i])=iと省略すると，(1,2,3,4),(1,3,2,4),(4,2,3,1),(4,3,2,1),(2,1,4,3),(2,4,1,3),(3,1,4,2),(3,4,1,2)の８通りのいずれか.

ここで(#2)の定義より「(1,2,3,4)と (2,4,1,3)と(3,1,4,2)と(4,3,2,1)」,「 (1,3,2,4)と (2,1,4,3)と(3,4,1,2)と(4,2,3,1)」  は同じ (Subscript[R, 1])~(Subscript[R, 4])の集合を与える．故に (Subscript[R, 1])~(Subscript[R, 4]) は次のA,B2組の何れかになります．(F20_Solutions . nb でも結局は2種類の比較となっていました．このやり方だと「2種類」になる理由が，よりはっきりしますね. )

ζ=Cos[2Pi/5]+I Sin[2Pi/5];

(*A組(1,2,3,4),(2,4,1,3),(3,1,4,2),(4,3,2,1)*)
R1a=l0+l1 ζ+l2 ζ^2+l3 ζ^3+l4  ζ^4//FullSimplify;
R2a=l0+l3 ζ+l1 ζ^2+l4 ζ^3+l2  ζ^4//FullSimplify;
R3a=l0+l2 ζ+l4 ζ^2+l1 ζ^3+l3 ζ^4//FullSimplify;
R4a=l0+l4 ζ+l3 ζ^2+l2 ζ^3+l1 ζ^4//FullSimplify;
(*B組(1,3,2,4),(2,1,4,3),(3,4,1,2),(4,2,3,1)*)
R1b=l0+l1 ζ+l3 ζ^2+l2 ζ^3+l4 ζ^4//FullSimplify;
R2b=l0+l2 ζ+l1 ζ^2+l4 ζ^3+l3 ζ^4//FullSimplify;
R3b=l0+l3 ζ+l4 ζ^2+l1 ζ^3+l2 ζ^4//FullSimplify;
R4b=l0+l4 ζ+l2 ζ^2+l3 ζ^3+l1 ζ^4//FullSimplify;
Ra={R1a,R2a,R3a,R4a}
Rb={R1b,R2b,R3b,R4b}

(Subscript[l, 1])と (Subscript[l, 4]), (Subscript[l, 2])と (Subscript[l, 3]) は複素共役だから(Subscript[R, 1])~(Subscript[R, 4])は実数です．

§3.(おまけ) 束縛条件から (Subscript[r, 1])~(Subscript[r, 4]) を決めて，解を求める

3-1. (Subscript[w, 1])=(Subscript[r, 1]) ((Subscript[r, 2])^2)+((Subscript[r, 3])^2) (Subscript[r, 4]) ,  (Subscript[w, 2])=((Subscript[r, 1])^2) (Subscript[r, 3])+(Subscript[r, 2]) ((Subscript[r, 4])^2)の値から (Subscript[r, 1])~ (Subscript[r, 4]) を決める

これから後は F20_Solutions . nb と全く同じです．「(Subscript[R, 1])~(Subscript[R, 4]) が実数のときは  (Subscript[r, 1])~(Subscript[r, 4]) が全て実数としても一般性を失わない」(D5_Solutions.nb) から, A,Bのケースに対する (Subscript[r, i])の値のセットを raと rb とすると,

realRoot[p_]:=Sign[p]Abs[p]^(1/5)
ra=realRoot/@Ra
rb=realRoot/@Rb

(Subscript[w, 1])=(Subscript[r, 1]) ((Subscript[r, 2])^2)+((Subscript[r, 3])^2) (Subscript[r, 4]) ,  (Subscript[w, 2])=((Subscript[r, 1])^2) (Subscript[r, 3])+(Subscript[r, 2]) ((Subscript[r, 4])^2)とおく．F20_Solutions.nb で述べたように (Subscript[w, 1])+(Subscript[w, 2]),((((Subscript[w, 1])-(Subscript[w, 2])))^2)は (Subscript[F, 20])の固定体Q(ζ)に入る．「単純計算」して

Clear[ζ]
w1=r1 r2^2+r3^2 r4/.rule;     w2=r1^2 r3+r2 r4^2/.rule;
w1+w2//PolynomialMod[#,{V[v],Cyclotomic[5,ζ]}]&
(w1-w2)^2//PolynomialMod[#,{V[v],Cyclotomic[5,ζ]}]&

raとrbのセットの内，(Subscript[w, 1])+(Subscript[w, 2]),((((Subscript[w, 1])-(Subscript[w, 2])))^2)の値が上と一致するものを見つけるとよい．時間の節約のため有効小数で計算する．

sum[{r1_,r2_,r3_,r4_}]:=(w1=r1 r2^2+r3^2 r4;w2=r1^2 r3+r2 r4^2;w1+w2)
minusSquared[{r1_,r2_,r3_,r4_}]:=(w1=r1 r2^2+r3^2 r4;w2=r1^2 r3+r2 r4^2;(w1-w2)^2)

{sum[ra],minusSquared[ra]-90000}//N
{sum[rb],minusSquared[rb]-90000}//N

ご覧のように 正しいセットは ra と分かる． (Subscript[r, 1])~(Subscript[r, 4]) に ra を代入すれば, f(x)=0 の解 (Subscript[x, i]) が求まる.

3-2. (Subscript[r, 1])~(Subscript[r, 4])を代入して，方程式の解 (Subscript[x, 1])~ (Subscript[x, 5]) を求める

{$r1,$r2,$r3,$r4}=ra;

F20_Solutions . nb と同じ単なる代入です.

ζ=Cos[2Pi/5]+I Sin[2Pi/5];
x1=1/5($r1+$r2+ $r3+ $r4)//Simplify
x2=1/5(ζ^4$r1+ζ^3 $r2+ζ ^2 $r3+ζ $r4)//Simplify
x3=1/5(ζ^3$r1+ζ $r2+ζ^4 $r3+ζ^2$r4)//Simplify
x4=1/5(ζ^2$r1+ζ^4 $r2+ζ $r3+ζ^3 $r4)//Simplify
x5=1/5(ζ$r1+ζ^2 $r2+ζ ^3 $r3+ζ^4 $r4)//Simplify

お約束の近似値です．上が 累乗根の，下が NSolve で求めた解です．

N[{x1,x2,x3,x4,x5}]//Sort
x/.NSolve[f==0,x]//Sort

§4．まとめ

Lagrange の  分解式を (Subscript[r, 0]),(Subscript[r, 1]),(Subscript[r, 2]),(Subscript[r, 3]),(Subscript[r, 4]) ,  (Subscript[R, 1])= ((Subscript[r, 1])^5),(Subscript[R, 2])= ((Subscript[r, 2])^5),(Subscript[R, 3])= ((Subscript[r, 3])^5),(Subscript[R, 4])= ((Subscript[r, 4])^5) とおき，さらに (Subscript[l, i]) を (Subscript[R, 1])を計算したときの (ζ^i) の係数と定めると，次のようになります．

({{{, ({{(Subscript[R, 1])=((Subscript[r, 1])^5), =(Subscript[l, 0])+(Subscript[l, 1])ζ+(Subscript[l, 2])(ζ^2)+(Subscript[l, 3])(ζ^3)+(Subscript[l, 4])(ζ^4)}, {(Subscript[R, 2])=((Subscript[r, 2])^5), =(Subscript[l, 0])+(Subscript[l, 3])ζ+(Subscript[l, 1])(ζ^2)+(Subscript[l, 4])(ζ^3)+(Subscript[l, 2])(ζ^4)}, {(Subscript[R, 3])=((Subscript[r, 3])^5),  =(Subscript[l, 0])+(Subscript[l, 2])ζ+(Subscript[l, 4])(ζ^2)+(Subscript[l, 1])(ζ^3)+(Subscript[l, 3])(ζ^4)}, {(Subscript[R, 4])=((Subscript[r, 4])^5), =(Subscript[l, 0])+(Subscript[l, 4])ζ+(Subscript[l, 3])(ζ^2)+(Subscript[l, 2])(ζ^3)+(Subscript[l, 1])(ζ^4)}})}})

ここで，h(x)=(x-(Subscript[l, 1]))(x-(Subscript[l, 2]))(x-(Subscript[l, 3]))(x-(Subscript[l, 4]))と定義すると「 h(x)は Q上既約な 有理数係数の4次式 」となります．


これはQ係数の方程式なので Mathematica では「単純計算」で式が求まります．そして h(x)は4次方程式なので，解の公式で解けます．(Q((Sqrt[5]))係数の2つの2次式に因数分解して解くこともできます.)

この様にして((Subscript[l, 1]),(Subscript[l, 2]),(Subscript[l, 3]),(Subscript[l, 4 ]))の候補が本質的には2組見つかり，それに対応して (Subscript[R, 1])~(Subscript[R, 4])と， その実5乗根 (Subscript[r, 1])~(Subscript[r, 4])の候補も2組見つかります．((Subscript[l, 0])は有理数となるので「単純計算」で求まります)
この後は「F20_Solutions.nb」と全く同じです．その2組の内，束縛条件「(Subscript[w, 1])=(Subscript[r, 1]) ((Subscript[r, 2])^2)+((Subscript[r, 3])^2) (Subscript[r, 4]) ,  (Subscript[w, 2])=((Subscript[r, 1])^2) (Subscript[r, 3])+(Subscript[r, 2]) ((Subscript[r, 4])^2)」の値から(Subscript[r, 1])~(Subscript[r, 4])を決めます．

やはり 「h(x) を考えつく点が 鮮やか」 です．私の解き方だと k1~ k7 までの7個の変数を「単純計算」して求めないといけなかったので，それと比べると h(x) の１つだけで良いのは素晴らしいと思います．しかし最初の解法としては ，私のやり方も基本に忠実なやり方で良いのではないでしょうか？ 「巧い解法」と「基本に忠実な解法」はどちらも大切だと思います．(^_^;)    

なお，プログラムをこれを使って書き直すことはしません．実行時間のほとんどは 「Galois群& 解のvによる表現を求める事」が占めています．そして方程式を解く計算自体は短いので 余り実行時間は変わらないと思います．そもそも h(x) の「単純計算」は，まず(Subscript[l, 1])~(Subscript[l, 4])の「単純計算」が必要で，次に(Subscript[l, 1])~(Subscript[l, 4])の(長～い)対称式4式も「単純計算」しないといけないので，短い計算ではありません. これよりは (Subscript[l, 1])+(Subscript[l, 4]) , (Subscript[l, 2])+(Subscript[l, 3]), (Subscript[l, 1])(Subscript[l, 4]), (Subscript[l, 2])(Subscript[l, 3]) は Q (ζ)にも入るので，直接これらを「単純計算」で求めた方がやや速いと思います．それでも合計8式の計算が必要です．

§4．補足

ここでは触れませんでしたが，文献[1] 「可解な５次方程式について」には，計算量を減らすような工夫も色々書いてあります.  しかし初めに述べましたが，[1]の真の価値は, Galois 群の判別など理論的な面にあると思います . しかし それについては私はまだよく分かっていないので，詳しい説明は省かせていただき，6次分解式 (Subscript[f, 20])について少しだけ紹介します．

方程式の解を (Subscript[x, 1])~(Subscript[x, 5])とし，(Subscript[x, i ])は自由変数，すなわち特定の 方程式の解に固定されていないとします．ここで次の長い式θを定義します．

θ=((Subscript[x, 1])^2)  ((Subscript[x, 2]) (Subscript[x, 5]) + (Subscript[x, 3]) (Subscript[x, 4])) + ((Subscript[x, 2])^2) ( (Subscript[x, 1]) (Subscript[x, 3]) + (Subscript[x, 4]) (Subscript[x, 5])) + ((Subscript[x, 3])^2) ( (Subscript[x, 1]) (Subscript[x, 5]) + (Subscript[x, 2]) (Subscript[x, 4])) + ((Subscript[x, 4])^2) ((Subscript[x, 1]) (Subscript[x, 2]) + (Subscript[x, 3]) (Subscript[x, 5])) + ((Subscript[x, 5])^2) ((Subscript[x, 1]) (Subscript[x, 4]) + (Subscript[x, 2]) (Subscript[x, 3]))

θは 変換 σ=(1,2,3,4,5)と τ=(2,3,5,4)  について不変なので  (Subscript[F, 20]) =<σ,τ>の固定体 に入ります．よってθは有理数です．「f=(x^5)+15x+12」のときに「単純計算」してみると，

Clear[x1,x2,x3,x4,x5]
θ= x1^2  (x2 x5 + x3 x4) + x2^2 ( x1 x3 + x4 x5) + x3^2 ( x1 x5 + x2 x4) + x4^2 (x1 x2 + x3 x5) + x5^2 (x1 x4 + x2 x3) 
θ/.rule//PolynomialMod[#,V[v]]&(*x1,x2,x3,x4,x5に f=0 の解を代入*)

たまたま 「θ=0」 となりましたが，一般に θ は有理数となります．(Subscript[x, i ])を自由変数に戻し,    (Subscript[θ, 1])=θ.   更に, θに(1,2,3)を作用させたものを (1,2,3)θ の様に書き, 次の様に (Subscript[θ, 1])~ (Subscript[θ, 6]) を定義します． 

                   (Subscript[θ, 1])=θ,       (Subscript[θ, 2])=(1,2,3) θ,    (Subscript[θ, 3])=(1,3,2) θ,     (Subscript[θ, 4])=(1,2) θ,      (Subscript[θ, 5])=(2,3) θ,      (Subscript[θ, 6])=(1,3) θ

θ1= x1^2  (x2 x5 + x3 x4) + x2^2 ( x1 x3 + x4 x5) + x3^2 ( x1 x5 + x2 x4) + x4^2 (x1 x2 + x3 x5) + x5^2 (x1 x4 + x2 x3) 
θ2=θ1/.{x1->x2,x2->x3,x3->x1}
θ3=θ1/.{x1->x3,x3->x2,x2->x1}
θ4=θ1/.{x1->x2,x2->x1}
θ5=θ1/.{x2->x3,x3->x2}
θ6=θ1/.{x1->x3,x3->x1}

(Subscript[S, 5])= (Subscript[F, 20])+(1,2,3)(Subscript[F, 20])+(1,3,2)(Subscript[F, 20])+(1,2)(Subscript[F, 20])+(2,3)(Subscript[F, 20])+(1,3)(Subscript[F, 20]) ですから，(Subscript[θ, 1])~(Subscript[θ, 6]) についての対称式は (Subscript[x, 1])~(Subscript[x, 5]) についての対称式でもあります．故に

                              (Subscript[f, 20])(x)=(x-(Subscript[θ, 1]))(x-(Subscript[θ, 2]))(x-(Subscript[θ, 3]))(x-(Subscript[θ, 4]))(x-(Subscript[θ, 5]))(x-(Subscript[θ, 6]))

と定義すると，(Subscript[f, 20])(x) は有理数係数の整式です．

そしてこの (Subscript[f, 20])(x)を使って色々な定理が証明されます． 例えば

定理 4.2 Q係数既約5次方程式が可解になる条件は，その6次分解式 (Subscript[f, 20])(x)がちょうど1つの有理数根を持つことである．

証明は 文献[1]を読んでいただくとして，ここでは実際に「 f=(x^5)+15x+12 」の時に，(Subscript[f, 20])(x)を求めてみたいと思います．

fの n次対称式を (Subscript[s, n])とすると，解と係数の関係より，(Subscript[s, 1])=(Subscript[s, 2])=(Subscript[s, 3])=0, (Subscript[s, 4])=15, (Subscript[s, 5])=-12

f20[x_]=(x-θ1)(x-θ2)(x-θ3)(x-θ4)(x-θ5)(x-θ6)//Expand//Collect[#,x]&

これを SymmetricReduction で対称式の値を代入して簡単にします．

SymmetricReduction[f20[x],{x1,x2,x3,x4,x5},{0,0,0,15,-12}]

第２成分は対称式に直せなかった残りですから，ここでは当然 「0」 です．そして

f20[x_]=%[[1]]

Factor[%]

確かに (Subscript[f, 20])(x) =0 は 有理数解を ちょうど一個持っています．

この他にも色々な定理が載っています．また  θ  は h1, h2 を作成する時にも使えます. 　文献[1]では h(x)を作ってから解くのではなく，それを Q((Sqrt[5]))で因数分解した式 h1,h2を直接作ります.  その係数は非常に複雑な式で，その式を作るには (Subscript[x, 1])~(Subscript[x, 5])を自由変数と見た時の θ が必要です．そしてその公式を実際に使う時は, (Subscript[x, 1])~(Subscript[x, 5]) を 与えられた f の解と見たときの 有理数解θ を代入します．詳しくは参考文献[1],[2],[4]を御覧ください. なお[1],[2]に載っている公式は 「(x^5)+ax+b=0」 にしか使えません．言い換えると，この形の5次方程式なら，かなり高速に( おそらく10秒以内に)答えを求められます．因みにその証明(?)は，非常に複雑なCASの計算を使う様です．私は2週間ほどやっていますが，まだ再現できていません．驚いたことにMathematica では異なる結果が出ます．しかし，これは公式が間違いというわけではなく，Mathematicaの計算能力を超えているという事だと思います．詳しくは 文献[2]を御覧ください.　

 さらに「(x^5)+p (x^3) +q (x^2) +rx +s=0」の「解の公式」もあるようです．（2020年の論文です．文献[4]にリンク　https://hal.science/hal-02547734/document　があります. )   Groebner 基底を使ったすごい計算です．公式は異常に長く全部書けばおそらく 10ページでも収まりません．例えば i5~i8は公式の変数の１つですがこうあります；We do not give here the expression of i5; i6; i7; i8 as polynomials in i4, because of their size : i8 needs 90 lines in our Maple program.  なんと，変数の１つ i8 が 90行に成ります．多分他の i5~i7も負けず劣らず長いです．そしてi5~i8が公開されていないので，このリンク先にあるものだけでは公式は使えません．通常の公式とはかなり異なります．