分解方程式，原始元，ガロア群  の基本
 with  Mathematica 13.3

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

§1.　分解方程式の作成

Galois 分解方程式を求めるには　色々方法があると思いますが，ここでは 「数学の教科書に載っている方法」 と 「Grobner基底による方法」 の2つを Mathematica でプログラムしたのでご紹介します．例として，４次関数 f(x) = (x^4) -10 (x^2)+1 を取り上げます．

§1 -A.  対称性の利用(参考文献[7][8]の方法)

ClearAll["`*"];

f[x_] = x^4 -10 x^2 + 1;
x/.Solve[f[x]==0,x](*f(x)=0の解*)

f[x] = 0 の解を {α, β, γ, δ} とする．同じ値がないように vs を取る. （下の係数は{1,3,-1,0}ですが，vsの中に同じ「値」がなければ何でも大丈夫です．もし同じ値があれば，次のR(x)が重解を持つので分かります．）

vs=Permutations[{α,β,γ,δ}].{1,3,-1,0}

R(x)=(x-vs[[1]])(x-vs[[2]])⋯(x-vs[[24]])を作ると,R(x)はα,β,γ,δの対称式. 解と係数の関係により {α, β, γ, δ} の 1,2,3,4次数対称式の値は{0,-10,-1,0}なので，R(x)は次の様な整数係数の多項式になる．(計算には10秒程度の時間がかかります.)

Product[(x-vs[[k]]),{k,1,Length[vs]}]//SymmetricReduction[#,{α, β, γ,δ},{0,-10,0,1}]&

SymmetricReductionの出力は，第1成分が基本対称式による変形，第２成分がその残りなので，ここでは第２成分が0であることを確認し，第1成分をR(x)と定めて，因数分解する.

Factor[%[[1]]]

vsの第１項をvとおく．即ちv=α + 3 β - γ.   これが原始元となる．また α, β, γ, δの取り方の順序は任意なので，vの満たす方程式V[x]（Galois 分解方程式) をR(x)の６番目のカッコ内の式に決めて良い．（６番目のカッコの中の式が一番簡単そうなので)

V[x_]=(List@@%)[[6]]

以上が解と係数の関係を利用した原始元と分解方程式の求め方となります .理論的には分かりやすいですが,次数が増えると計算時間が指数関数的に伸びていきます.

§1 - B.  Grobener基底の利用(試行錯誤で見つけました)

fの基本対称式: s1,s2,s3,s4の値と v=α + 3 β - γを素にしてGrobner基底を求める．その第1項が R(v)となる

s1=SymmetricPolynomial[1,{α,β,γ,δ}];(*α+β+γ+δ*)
s2=SymmetricPolynomial[2,{α,β,γ,δ}];(*α β+α γ+β γ+α δ+β δ+γ δ*)
s3=SymmetricPolynomial[3,{α,β,γ,δ}];(*α β γ+α β δ+α γ δ+β γ δ*)
s4=SymmetricPolynomial[4,{α,β,γ,δ}];(*α β γ δ*)

GroebnerBasis[{s1,s2+10,s3,s4-1,v−(α+3 β-γ)},{δ,γ,β,α,v}][[1]]
Factor[%]
V[x_]=(List@@%)[[6]]/.{v->x}

先ほど求めた R(x)の式と同じ式が　遥かに短時間で求められます．

§2. α,β,γ,δ を，原始元 v=α + 3 β - γ で表す

v = α + 3 β - γを原始元としてf (x) の解を全て v の多項式で表します .

2 - A. 解と係数の関係とユークリッドの互除法を使う(参考文献[7][8])

2- A-1. β,γ,δの対称式をαの式で表す.(f[x]を(x-α)で割った商は (x-β)(x-γ)(x-δ)であることを使う)

PolynomialQuotient[f[x],x-α,x]
CoefficientList[%,x]//Reverse

f(x)=(x-α)(x-β)(x-γ)(x-δ)だから
β+γ+δ=-α,βγ+βδ+γδ=-10+(α^2),βγδ=-(-10α+(α^3))--(#1)
(上の関係は解と係数の関係からも求まる)

2- A-2. vを原始元としてαを vで表す

vs

vsのうち αの係数がvと同じとなるものを見つけ(この場合は最初の6個)，その全ての積を取る．すると β, γ, δの対称式ができる．これを(#1)を使って変形する.

g1[x_]=Product[(x-vs[[i]]),{i,1,6}]
g1[x_]=SymmetricReduction[%,{β,γ,δ},{-α,-10+(α^2),-(-10α+(α^3))}][[1]]//Collect[#,{x,α}]&

「v=vs[[1]]=α + 3 β - γ 」なので g1[v] = 0 が成り立つ. 　g1[x]のαをyに変えg1[x,y]を作り，さらに xをvと名前を変えg1v[y]を作る ．このとき v の式を  V(x)で割った余りを考え，簡単にしておく.

g1[x_,y_]=g1[x]/.{α->y}
g1v[y_]=g1[v,y]//PolynomialMod[#,V[v]]&//Collect[#,y]&

g1v(α)=g1(v,α)=g1(v)=0 だから，f(y)とg1v(y)はy=αを共通解に持つ．さらにg1v(β)!=0,g1v(γ)!=0,g1v(δ)!=0 から　共通解はy＝αのみである．故に，ユークリッドの互除法を使いf(y)とg1v(y)の最大公約式を求めると
それは (y-α) となる．これでαはvの式で表される．ユークリッドの互除法を実現するために，PolynomialRemainder で余りを繰り返し求める.まずはg1v[y]をf[y]で割った余り r1[y]を求める．

r1[y_]=PolynomialRemainder[g1v[y],f[y],y]//PolynomialMod[#,V[v]]&//Collect[#,y]&

次にf[y]をr1[y] で割った余り r2[y] を求める．

r2[y_]=PolynomialRemainder[f[y],r1[y],y]//PolynomialMod[#,V[v]]&//Collect[#,y]&

次にr1[y] をr2[y] で割った余り r3[y] を求める．

r3[y_]=PolynomialRemainder[r1[y],r2[y],y]//PolynomialMod[#,V[v]]&//Collect[#,y]&

これはyの一次式なので これを yについて解くと, αはvの式で表される (これを α0とおく)

α0=y/.Solve[r3[y]==0,y][[1]]

これがαをvで表した有理式. このままでは計算が大変なので，V(v)を分母の因子(ここでは2個）で割る事により整式に直し，改めてα'と名付ける.

bunbo1=(List@@Denominator[α0])[[1]](*Denominatorは分母*)
bunbo2=Plus@@(List@@Denominator[α0])[[2]]

{q1,r1}=PolynomialQuotientRemainder[V[v], bunbo1,v];(*V(v)をbunbo1で割った商がq1,余りがr1*)
{q2,r2}=PolynomialQuotientRemainder[V[v],bunbo2,v];
α'=(-q1/r1)*(-q2/r2)*(Numerator[α0])//PolynomialMod[#,V[v]]&//Expand(*Numeratorは分子*)

これが α を vの整式で表した式となる. 同様にして，β,γ,δもvの式で表すことができるが，次の Grobner基底を使う方が速いのでここでは省略する．

2 - B. Grobener基底の利用(試行錯誤で見つけました)

先ずは αをvで表す．V[x] をGrobener基底を使って求めた時と殆ど同じだが，αとvを残すように指定する．

GroebnerBasis[{s1,s2+10,s3,s4-1,v−(α+3 β-γ)},{α,v},{δ,γ,β}]//PolynomialMod[Last[#],V[v]]&;
α'=α/.Solve[%==0,α][[1]]//Collect[#,v]&

先の結果と一致した．同様に，β, γ, δをvの式で表すことができる.  最後に {α,β, γ, δ}をまとめて表示する．

GroebnerBasis[{s1,s2+10,s3,s4-1,v−(α+3 β-γ)},{β,v},{δ,γ,α}]//PolynomialMod[Last[#],V[v]]&;
β'=β/.Solve[%==0,β][[1]]//Collect[#,v]&;
GroebnerBasis[{s1,s2+10,s3,s4-1,v−(α+3 β-γ)},{γ,v},{δ,β,α}]//PolynomialMod[Last[#],V[v]]&;
γ'=γ/.Solve[%==0,γ][[1]]//Collect[#,v]&;
GroebnerBasis[{s1,s2+10,s3,s4-1,v−(α+3 β-γ)},{δ,v},{γ,β,α}]//PolynomialMod[Last[#],V[v]]&;
δ'=δ/.Solve[%==0,δ][[1]]//Collect[#,v]&;
sols={α',β',γ',δ'}

§3.  vs1,vs2,...,vs24のうち V[x]の解となるものを見つけ，それをvで表す

vsの要素は24個あるが，このうちV (x) の解となっているものを見つける． やり方は  
[1] {α,β, γ, δ}をvで表した式を使い vs の要素を全てvで表す．
[2] これをV[x]に代入して0となる vs の要素を見つける
という力技である．

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

上の vset = vs[[{1,8,17,24}]]={α + 3 β - γ, 3 α + β - δ, -α + γ + 3 δ, -β + 3 γ + δ}={v,-v,((14 v)/5)-((v^3)/15),-((14 v)/5)+((v^3)/15)}  が V[x] の解となる．

§4. f[x]の解のガロア群を求める

vset={v1,v2,v3,v4}とする．α, β ,γ,δは原始元v (=v1) の式で表されているので v1をv1,v2, v3,v4にそれぞれ変えると vsetが変化する．例えば v1→v2とすると 
vset→{-v,v,-((14 v)/5)+((v^3)/15),((14 v)/5)-((v^3)/15)}={v2,v1,v4,v3}と変わる．この例では V(x)の解:vset の置換群は (Subscript[G, v])={{v1,v2,v3,v4},{v1,v2,v3,v4},{v1,v2,v3,v4},{v1,v2,v3,v4}}となる．

  一方，この置換を f(x)の解の置換と見ることもできる．α, β ,γ,δは全てvの式で表されているので，v1→v2のとき，α, β ,γ,δは次のように変化する．
{α, β ,γ,δ}={((4 v)/15)-((v^3)/45),-((4 v)/15)+((v^3)/45),-((23 v)/15)+((2 (v^3))/45),((23 v)/15)-((2 (v^3))/45)}→{-((4 v)/15)+((v^3)/45),((4 v)/15)-((v^3)/45),((23 v)/15)-((2 (v^3))/45),-((23 v)/15)+((2 (v^3))/45)}={ β ,α,δ,γ}
{α, δ,β, γ}⇔{1,2,3,4} と対応させると(1,2,3,4)→(2,1,4,3) という置換になる.これを「 v1→v1,v1→v2,v1→v3,v1→v4 」の各々について実行すると，f(x)の解についての置換(GaloisによるGalois群)が得られる．

以上から分かるように Galois群の位数は V(x)の次数と一致する．f(x) = (x^4) -10 (x^2)+1 のときは「たまたま」 V(x)の次数が f(x)の次数と一致しているが，4個の解の置換は最大4!=24通りあり，Galois群の位数=V(x)の次数=24 となり得る． 今回は簡単のためにできるだけ位数の小さくなるケースを選んだので，一致してしまったが，通常は一致しない．例えば§5の例「 f(x)=(x^4)-2」を参照して頂きたい．以上を, Mathematicaでは 次の様にして実行出来る．

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

これがGalois群のガロアによる表現． f(x)の解の入れ替えは一行目からスタートすると 
{1,2,3,4}→{1,2,3,4},{1,2,3,4}→{4,3,2,1},{1,2,3,4}→{3,4,1,2},{1,2,3,4}→{2,1,4,3}
を表すが，これを2行目からスタートして
{4,3,2,1}→{1,2,3,4},{4,3,2,1}→{4,3,2,1},{4,3,2,1}→{3,4,1,2},{4,3,2,1}→{2,1,4,3}
と読んでも良い.  3行目/4行目からスタートしても同じになる(参考文献[6])

現代の表現では次の様になり，Galois群は「クラインの4元群」となることが分かる(Idは単位元) 
{ Id,  (1,2)(3,4), (1,3)(2,4), (1,4)(2,3)}      
             
{v1,v2,v3,v4}の置換群も同様に（より簡単に) 得ることができるが省略する.

§5. [参考] SageMath &  Magma ＆まとめ

5-1. SageMath&Magma

フリーの SageMath や  Magma calculator を使うと，ガロア群はすぐ求まる．例えば SageMath  では次の様になる .

_. < x > = PolynomialRing (QQ)
f = x^4-10*x^2 + 1
G = f . galois_group ()
G . list ()

Magma calculator では次の様になる. 結果は生成元で表される.

_<x>:=PolynomialAlgebra(Rationals());
//PolynomialRing も大丈夫
f:=x^4-10*x^2 + 1;
G:=GaloisGroup(f); G;

SageMath は完全無料で Windows/Macにインストールもできる．ただ 最新版(ver.10)のインストールはやや面倒そうなので，私はWindows にver9 を入れています.
これらは作成したファイルも保存できるので私には Magmaより使いやすい. なお Linuxではほとんどの distributionに最初から入っているそうです．
さらに インストールなしにwebから使える SageMathCell,  Android/iOS で使える SageCalculator もあります．なお，SageMathではvsetの置換群も求めることができます．

Magma は有料で,そのうえ研究機関にしか販売していないのでインストールは敷居が高いですが，Web上で calculator として無料で使えます．
残念ながらcalculator ではファイルの保存はできません．(コピペしてtext file で保存する事はできます)

MagmaやSageMathを使って Galois群をご覧になりたい方は，(HyperlinkURL["https://mixedmoss.com/mathematica/Galois/", https://mixedmoss.com/mathematica/Galois/index.shtml]) により詳しい説明が置いてあります．

5-2. StepByStep Mathematica Program  (R(x)のチェックが必要)

残念ながら私の知る限り Mathematica ではMagmaやSageMathのようなコマンドはありません . しかし5次ぐらいまでなら，今までと同様にして求めることができます．
 以下は4次方程式に対するプログラムです . §1~4の内容を完結にまとめたものです．ここでR (x) が重解を持つときはvsのリストの変更が必要です .  そのためにR (x) を出力させてます . (しかしそういうケースは非常に稀です .)

Step1 . 分解方程式

出力は 24次の方程式R (x), そして分解方程式V(x)です. 例として ((x^4) - 2) のGalois群を求めます.

ClearAll["`*"]
f[x_] = x^4 -2;
vars={α,β,γ,δ};
vs=Permutations[vars].{1,3,-1,0};(*R(x)に重解があるときはここを変える*)
coef=CoefficientList[f[x],x]//Reverse//Drop[#,1]&;
{s1,s2,s3,s4}=Table[SymmetricPolynomial[i,vars],{i,1,4}];
contents={s1+coef[[1]],s2-coef[[2]],s3+coef[[3]],s4-coef[[4]],v−vs[[1]]};
r=GroebnerBasis[contents,{δ,γ,β,α,v}][[1]]//Factor(*重解を持たないことの確認はここで*)
V[v_]=If[IrreduciblePolynomialQ[r],r,Last@(List@@Factor[r])]

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]&;
sols={α',β',γ',δ'}

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

vs/.{α->α',β->β',γ->γ',δ->δ'}//Simplify;
PolynomialMod[V[#],V[v]]&/@%;
Position[%,0]//Flatten;
vset=vs[[%]]/.{α->α',β->β',γ->γ',δ->δ'}//Collect[#,v]&

Step4 . Galois群を求める

Table[
perm=sols/.{vset[[1]]->vset[[i]]}//PolynomialMod[#,V[v]]&;
Table[FirstPosition[Simplify[perm-sols[[k]]{1,1,1,1}],0][[1]],{k,1,4}]//Flatten,{i,1,Length[vset]}];
MatrixForm[Sort[%]]

今度は Galois群の位数は 8 となりました．V(x)も８次です．

5-3. Automated  Mathematica Program  (次数は実用上5次まで．重解チェックは不要)

次のプログラムでは「一応5次まで」の方程式のGalois群が求まるプログラムです．理論的には6次,7次でも可能なはずですが，メモリーや時間の制限があり，実際は5次方程式が限界な気がします．またR(x)に重解がでてきた場合，それを自動でチェックし他の係数を選ぶように作ってあります．かつ説明文を無くし１つのセルにまとめてあります．従って「最初の f さえ入力して下のセルを評価（Shift+Enter）」すれば，自動で（5次くらいまでなら) Galois群を求めることが出来ます．

出力は Galois群だけですが，全て Global 変数のままなので 評価後に変数の値を見ることが可能です．例えば「分解方程式」→ V[x],  「f(x)の解の 原始元vによる表現」→sols（リスト) ，「V[x]=0の解の vによる表現」→vset (リスト)，「vsに使われた係数」→selected　と入力すると，中身を見ることが出来ます．

Module化して関数にすることも考えましたが，非常に読みづらくなるのでやめました．（関数の中では%が使えないので変数が増える.  V[x]をModule内で定義できないので 「/.」による代入に変えないといけない．さらにもっと良いアルゴリズムがあるはずなど．）　なお，実行時間を「Timing」 で測ろうとしたのですが，なぜかうまく行きませんでした．残念です．

既約であっても大丈夫ですが，((x^4)+2(x^2)+1)など，重解を持つときは駄目です．Magma はこのような時も答えを出してきますが，その場合は重解の間の入れ替えは考えないようです.  SageMathは既約の場合は全く答えが出ません． 

下の例は5次方程式で Galois群が (Subscript[D, 5])のものです．私のPCで30秒でしたが，Galois群が  (Subscript[F, 20])の場合はもっと時間がかかり，2分ぐらいかかりました．Magma や SageMath の 0.1秒未満とは比較になりません．まったくアルゴリズムが違うのでしょう．これがModule化しない大きな理由の1つです．

(*下のf[x] を変えて 「このセルを評価」 するだけです.ただし重解を持ってはいけません.また5次までがオススメです．*)
Clear["`*"]
f[x_]= x^5-5x+12;

(*[Step0]重解を持たないようなvsの係数を見つけて selected に入れる.*)
n=Exponent[f[x],x];
sols=x/.NSolve[f[x]==0,x];
allsets=Subsets[Range[-5,5],{n}];
selected=RandomChoice[allsets];
While[Min@Abs@Differences@Sort@(Permutations[selected].sols)<0.01,selected=RandomChoice[allsets]];

(*[Step1]分解方程式V(x)を求める.ここは先のプログラムとほぼ同じです*)
vars=Take[{x1,x2,x3,x4,x5,x6,x7,x8,x9,x10},n];(*ここを変えると，理論的には何次でも大丈夫なはず*)
vs=Permutations[vars].selected;
coef=CoefficientList[f[x],x]//Reverse//Drop[#,1]&;
syms=Table[SymmetricPolynomial[i,vars],{i,1,n}];
contents=Append[syms+coef*Table[(-1)^(k-1),{k,1,n}],v−vs[[1]]];
rs=GroebnerBasis[contents,Append[vars,v]][[1]];
V[v_]=If[IrreduciblePolynomialQ[rs],rs,Last@(List@@Factor[rs])];

(*[Step2]原始元vを使ってｆ(x)の解を表す．先のプログラムをTableでまとめているだけです．*)
sols=Table[base=GroebnerBasis[contents,{vars[[i]],v},Drop[vars,{i}]]//PolynomialMod[Last[#],V[v]]&;
vars[[i]]/.Solve[base==0,vars[[i]]][[1]]//Collect[#,v]&,{i,1,n}];

(*[Step3]V(x)の解の集合vsを,その第１要素v(=v1)の式で表す．先のプログラムとほぼ同じですが, (Subscript[Galois群がS, n])の時はバイパスしています*)
If[!IrreduciblePolynomialQ[rs],vs'=vs/.AssociationThread[vars->sols]//Simplify;
values=PolynomialMod[V[#],V[v]]&/@(vs');
pos=Position[values,0]//Flatten;
vset=vs'[[pos]]//Collect[#,v]&];

(*[Step4]Galois群を求める．これも先のプログラムと全ど同じですが，(Subscript[Galois群がS, n])の時はバイパスしています*)
If[!IrreduciblePolynomialQ[rs],
Table[
perm=sols/.{vset[[1]]->vset[[i]]}//PolynomialMod[#,V[v]]&;
Table[FirstPosition[Simplify[perm-sols[[k]]Table[1,n]],0][[1]],{k,1,n}]//Flatten,{i,1,Length[vset]}],
Permutations[Range[n]]];
MatrixForm[Sort[%]]

V[x]

sols[[1]]

【参考文献&サイト】次のサイトや文献を参考にさせて頂きました．ありがとうございます．

({{{, ({{1.(HyperlinkURL["可解な5次方程式について(大迎 規宏氏)", https://hyogo-u.repo.nii.ac.jp/record/5251/files/ZD30301003.pdf]), □}, {2.(HyperlinkURL["方程式のガロア群(松田修氏)", https://www.tsuyama-ct.ac.jp/matsuda/eBooks/galois_equations.pdf]), □}, {3.(HyperlinkURL["ガロア理論を使って方程式を解いたことがありますか(scruta氏)", https://calgal.info/]), □}, {4.(HyperlinkURL["ペンギンは空を飛ぶ- 5次方程式の解を巡る旅 (peng225氏)", https://peng225.hatenablog.com/entry/2018/01/25/200421]), □}, {5.(HyperlinkURL["Period-Mathmatics 可解な5次方程式の代数的解法", https://period-mathematics.hatenablog.com/entry/2019/05/11/164456]), □}, {(以下は書籍), □}, {6.(HyperlinkURL["ガロアの群論(中村亨氏)", https://www.amazon.co.jp/%E3%82%AC%E3%83%AD%E3%82%A2%E3%81%AE%E7%BE%A4%E8%AB%96%E2%80%95%E6%96%B9%E7%A8%8B%E5%BC%8F%E3%81%AF%E3%81%AA%E3%81%9C%E8%A7%A3%E3%81%91%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%8B-%E3%83%96%E3%83%AB%E3%83%BC%E3%83%90%E3%83%83%E3%82%AF%E3%82%B9-%E4%B8%AD%E6%9D%91-%E4%BA%A8/dp/4062576848/ref=sr_1_1?adgrpid=53001801813&dib=eyJ2IjoiMSJ9.rDFwg-m8XukNrR90DvZJTrOuZ0RIbpH6mWvOM64KlnvQvxJQxrWvX3NyChoQOQLZm2sD_fJlV0ljUFqiHTlm49fbQyUwnTP5dPN7lzGeVgEFcJt8GDZCWCW2vsO6_ItB8zjfn8Vx6GKkH3pCL_hJizTZGbemmi-s-zjaNOXoeFbyu9sRPC62aeCAVexKhJP1TW2X1i0o1m0jcuz4yoU3ZlbjEooDhiz5h_kFqK30we9FYG2_zveqV6dtZFd2tvv3eKu-P0a2JZMbbFAS0Wz4rUOLPlK6yGBQkQTNAuEICqhvxg-CPjdCvhc-kWquVEokcwoNTnRlWGULAliToJFDnnESdQvQuW73IZwzov1pifuGJ85fERR2GmOmgGYg_mVA0GbIPeMXh470TzEdk07zq8_LHV30s8XJ1yYRGo_nJdPfiRQiF-4MCRRPY-pDAEeB.JeCkjB_ZPG46AYt8vvKEqIJYe3craliwzEfHkOgfRAA&dib_tag=se&hvadid=679072441399&hvdev=c&hvlocphy=1009277&hvnetw=g&hvqmt=e&hvrand=15120444813952387024&hvtargid=kwd-333087534169&hydadcr=13894_13573117&jp-ad-ap=0&keywords=%E3%82%AC%E3%83%AD%E3%82%A2%E3%81%AE%E7%BE%A4%E8%AB%96&mcid=d840888251fb3c52925a095017da9ed0&qid=1739152791&sr=8-1]), □}, {7.(HyperlinkURL["ガロワ理論最短コース(梶原 健氏)", https://www.amazon.co.jp/%E6%9C%AC%E8%B3%AA%E3%82%92%E5%AD%A6%E3%81%B6-%E3%82%AC%E3%83%AD%E3%83%AF%E7%90%86%E8%AB%96%E6%9C%80%E7%9F%AD%E3%82%B3%E3%83%BC%E3%82%B9-%E6%A2%B6%E5%8E%9F%E5%81%A5/dp/4535787018/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=101QXCSB01O7C&dib=eyJ2IjoiMSJ9.Dsna8TMhaDUsGMKsdDcy_lzBUCqGVSdqMs2-UaoC9DzGjHj071QN20LucGBJIEps.GA2FXcKaTsVSUiHLXNg3UwkIrry24xzWhLxKMCLfKjM&dib_tag=se&keywords=%E3%82%AC%E3%83%AD%E3%83%AF%E7%90%86%E8%AB%96%E6%9C%80%E7%9F%AD%E3%82%B3%E3%83%BC%E3%82%B9&qid=1739153189&sprefix=%E3%82%AC%E3%83%AD%E3%83%AF%E7%90%86%E8%AB%96%E6%9C%80%E7%9F%AD%E3%82%B3%E3%83%BC%E3%82%B9%2Caps%2C169&sr=8-1 ]), □}, {8.(HyperlinkURL["ガロア理論の頂きを踏む(石井俊全氏)", https://www.amazon.co.jp/%E3%82%AC%E3%83%AD%E3%82%A2%E7%90%86%E8%AB%96%E3%81%AE%E9%A0%82%E3%82%92%E8%B8%8F%E3%82%80-BERET-SCIENCE-%E7%9F%B3%E4%BA%95-%E4%BF%8A%E5%85%A8/dp/4860643631/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=6U6O5KFZFB1I&dib=eyJ2IjoiMSJ9.BBAXosCmu-2sx1rv4ye9IFuHi1gCxQwHbv80TiR0qzl7Z8pa2CRIw4uD12lLEJopehlwLWxTxCJoS6x8-gYtB3aVGyvFmrf8gKf4fSQfUGfvaofVRWoswiYxS0pXi4hYyZtpXgH5aV08YNjzTBgVPQ.pU6hybJJdLh8sAa44zpuoAlf4GxpsWmmejfjTHCm9VA&dib_tag=se&keywords=%E3%82%AC%E3%83%AD%E3%82%A2%E7%90%86%E8%AB%96%E3%81%AE%E9%A0%82%E3%81%8D&qid=1739153303&sprefix=%E3%82%AC%E3%83%AD%E3%82%A2%E7%90%86%E8%AB%96%E3%81%AE%E9%A0%82%E3%81%8D%2Caps%2C166&sr=8-1]), □}, {9. (HyperlinkURL["ガロア理論「超」入門(小林吹代氏)", https://www.amazon.co.jp/%E3%82%AC%E3%83%AD%E3%82%A2%E7%90%86%E8%AB%96%E3%80%8C%E8%B6%85%E3%80%8D%E5%85%A5%E9%96%80-%E6%96%B9%E7%A8%8B%E5%BC%8F%E3%81%A8%E5%9B%B3%E5%BD%A2%E3%81%AE%E9%96%A2%E4%BF%82%E3%81%8B%E3%82%89%E8%80%83%E3%81%88%E3%82%8B-%E7%9F%A5%E3%82%8A%E3%81%9F%E3%81%84-%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%82%B9-%E5%B0%8F%E6%9E%97/dp/4774185744/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=3CJFLGVWBGJ0N&dib=eyJ2IjoiMSJ9._iyPRqsDdtiH9rjS14CnSLMZLTBwnCel0FABjlt0goQ7VaZ3I-wbKkTr0VRbtC94IIF5hQjbbN8Kz_8sDPaQaPEx2v9JZhxFEPyOBRDWKcCo7_MVjhEiW3ZDrES_j8DtwPK7x6QqRQJXlybfokiTULxCWkVHabVuBLFWAdStu_s_wbCTRnpz2z2BHXLF0qrVCotnGDlIWPJtCZu7rkLQ0QZ5YEbo8uqZqksM7Yr22_yX6D6C6gYdcHXCxe0Wjks5JpgEDuKQxQR7NiHHXQB-pxpHI6t5YliSIgLJ9bs_R5oPIy5MpMzP_iWYKB_Y7NsZfoaE4dMOuD3vfQhgEIWoOyq4SbJwyhTjrBlUI--Iwl2waGp2p3M0IaQKNK7O9-KI4uGwtojcP5bMqkkBTurPbH5l0ePE3b8eps7IEwDihPHIEaLBlDf_5IBYuQDDhshq.SgKErKyHHbfk29Y7wi-pBWX37kMmIQRY28Hqbfjq5LI&dib_tag=se&keywords=%E3%82%AC%E3%83%AD%E3%82%A2%E7%90%86%E8%AB%96%E3%80%8C%E8%B6%85%E3%80%8D%E5%85%A5%E9%96%80&qid=1739153575&sprefix=%E3%82%AC%E3%83%AD%E3%82%A2%E7%90%86%E8%AB%96+%E8%B6%85+%E5%85%A5%E9%96%80%2Caps%2C218&sr=8-1]), □}})}})

全てのサイト&文献は，私を色々な意味で啓発してくれましたが，ガロア群を求めるときに特に参考にしたのは[7]と[8]です．５次方程式の解を求めるときは特に [1]と[6]と[7]を参考にしました．なお私は専門家ではないので，色々間違いしているかもしれません．その際はお知らせ下さると有り難いです．なおメールアドレスは　ロボット対策のため 画像となっています．クリックしても何も起こりません.  ( )