Maxima で綴る数学の旅

紙と鉛筆の代わりに、数式処理システムMaxima / Macsyma を使って、数学を楽しみましょう

-数学- 可解な方程式を冪根で解く(5) 群の縮小、体の拡大、拡大体での原始元の最小多項式

スターバックス

 

文献3の12「体の拡大とg(x)の次数低減」まで来ました。ここで、群の縮小、体の拡大、拡大体の原始元の最小多項式を求めることは、計算上は何を意味するのでしょうか。

正規部分群\(G_{k}\)にガロア対応する体を\(F_{k}\)、 \(F_{k}\)係数のVの最小多項式を\(g_{k}\left(x\right)\)とします。また\(k\)が大きくなると群は縮小し、体は拡大します。

群を\(G_{k-1}\)から\(G_{k}\)に縮小させましょう。可解群の組成列なので\(G_{k-1}\)の位数を\(G_{k}\)の位数で割った数は素数になりますが、これを\(p_{k}\)とします。Vの最小多項式も\(g_{k-1}\left(x\right)\)から\(g_{k}\left(x\right)\)に変化します。この時\(g_{k}\left(x\right)\)の係数には\(F_{k-1}\)のいくつかの要素の\(p_{k}\)乗根と1の\(p_{k}\)乗根が必要になります。これらを体\(F_{k-1}\)に添加した拡大体が\(F_{k}\)となるわけです。

今、\(g_{k-1}\left(x\right)\)の係数はきちんと\(F_{k-1}\)の元になっているとします。このことを利用して\(g_{k}\left(x\right)\)の係数を求めることで、添加するべき元を計算します。

\(g_{k}\left(x\right)\)を定義(Vとその共役元のみを解としてもつ既約なモニック多項式)に基づいて考えると、

$$ g_{k}\left(x\right)=\prod_{\sigma_{i} \in G_{k}}{\sigma_{i}\left(x-V\right)}=\prod_{\sigma_{i} \in G_{k}}{\left(x-V_{i}\right)}$$

これに\(G_{k-1}\)の元だが\(G_{k}\)の元ではない置換\(\sigma\)ガロアの論文で言えば商群を構成する元になります)を繰り返し適用して\(h_{0}\left(x\right),,,h_{p_{k}-1}\left(x\right)\)を求めます。そして

$$ \theta_{i}\left(x\right)=\frac{1}{p_{k}}\,\sum_{j=0}^{p_{k}-1}{\zeta_{p_{k}}^{i\,j}\,h_{j}\left(x\right)}$$

この\(\theta_{i}\left(x\right)\)には面白い性質が2つあります。

$$ \sigma\left(\theta_{i}\left(x\right)^{p_{k}}\right)=\theta_{i}\left(x\right)^{p_{k}}$$

$$g_{k}\left(x\right)=\sum_{i=0}^{p_{k}-1}{\theta_{i}\left(x\right)}$$

(3)を利用して具体的に\(\theta_{i}\left(x\right)\)を求めることが出来ます。((4)は後で使います)。というのも\(\hat{F}\)を\(F\)に\(\zeta_{p_{k}}\)を添加した体として、\(\theta_{i}\left(x\right)^{p_{k}}\)が置換\(\sigma\)で変化しない、ということはその係数は全て\(\hat{F}_{k-1}\)の元のはずです。

$$\theta_{i}\left(x\right)^{p_{k}}=A_{i}\,Q_{i}\left(x\right) $$

$$A_{i}=a_{i}^{p_{k}}, Q_{i}=q_{i}\left(x\right)^{p_{k}}$$

$$\theta_{i}\left(x\right)=a_{i}\,q_{i}$$

ただし \(A_{i} \in \hat{F}_{k-1}, a_{i} \in \hat{F}_{k}, Q_{i}\left(x\right) \in \hat{F}_{k-1}[x], q_{i}\left(x\right) \in \hat{F}_{k-1}[x]\)かつ\(q_{i}, Q_{i}\)の最高次係数は1と出来ます。\(q_{i}\left(x\right) \in \hat{F}_{k-1}[x]\)は全く自明ではありませんが、文献3 12に証明がありますので参照してください。

 

ここまで準備が出来れば、実際の計算はそれほど難しいものではありません。

例題\(x^4+2\,x^3+3\,x^2+4\,x+5\)に対応するGalPolynomialInfo構造体はPSとして、FinaiteGroup構造体はFGとして、組成列はNSGSとして計算済みとします。Q係数のVの最小多項式はPS@gal_minpolyとして計算済みです。

 

最初に群を縮小させた時の位数の商を計算します。 

(%i0) p1:NSGS[1]@degree/NSGS[2]@degree;
$$ \tag{%o0} 2 $$ (%i1) g0v:PS@gal_minpoly;
$$ \tag{%o1} V^{24}+24\,V^{23}+336\,V^{22}+3344\,V^{21}+25740\,V^{20}+159984\,V^{19}+820856\,V^{18}+3519504\,V^{17}+12721926\,V^{16}+39075680\,V^{15}+104485896\,V^{14}+257189424\,V^{13}+603068156\,V^{12}+1264487184\,V^{11}+1484791560\,V^{10}-3707413456\,V^9-23515353279\,V^8-53513746296\,V^7-7075256024\,V^6+299352120960\,V^5+770653544880\,V^4+869309952000\,V^3+1145273500800\,V^2+1451723788800\,V+1818528595200 $$

求めたガロア群の正規部分群を要素で表示します。
(%i2) gr1:listify(NSGS[2]@index_element_set);
$$ \tag{%o2} \left[ 1 , 4 , 5 , 8 , 9 , 12 , 13 , 16 , 17 , 20 , 21 , 24 \right] $$

これらを置換群の要素に戻しながらVを置換して、h0を求めます。
(%i3) h0:product(x-remainder(ev(V[gr1[i]],PS@vncond),g0v),i,1,length(gr1))$

gr1の要素に含まれない元を一つ(ここでは2)選び、それで上記の正規部分群を変換して、そこからh1を作ります。この2が\(\sigma\)になるわけです。
(%i4) gr12:makelist(gr_mult(2,elem,NSGS[2]),elem,gr1);
$$ \tag{%o4} \left[ 2 , 3 , 6 , 7 , 10 , 11 , 14 , 15 , 18 , 19 , 22 , 23 \right] $$
(%i5) h1:product(x-ev(V[gr12[i]],PS@vncond),i,1,length(gr12))$

\(\theta_{0}\left(x\right)\)を定義に従って求め、g0vで次下げします。
(%i6) theta[0]:remainder((h0+h1)/p1,g0v);
$$ \tag{%o6} x^{12}+12\,x^{11}+96\,x^{10}+520\,x^9+2022\,x^8+5808\,x^7+11420\,x^6+13704\,x^5+35793\,x^4+110564\,x^3+396300\,x^2+575760\,x+1352400 $$

\(\theta_{1}\left(x\right)^{2}\)を定義に従って求め、g0vで次下げします。
(%i7) theta[12]:remainder(remainder(ratexpand(h0-h1)/2,g0v)^2, g0v);
$$ \tag{%o7} 38880000\,x^{12}+466560000\,x^{11}+3265920000\,x^{10}+15552000000\,x^9+49035456000\,x^8+101150208000\,x^7+94338432000\,x^6-133436160000\,x^5-389470291200\,x^4-113909068800\,x^3+258138316800\,x^2+105591859200\,x+10457164800 $$

後は順番に\(A1, Q1, q1, a1\)を求めます。
(%i8) A1:coeff(theta[12],x,hipow(theta[12],x));
$$ \tag{%o8} 38880000 $$
(%i9) Q1:expand(theta[12]/A1);
$$ \tag{%o9} x^{12}+12\,x^{11}+84\,x^{10}+400\,x^9+\frac{6306\,x^8}{5}+\frac{13008\,x^7}{5}+\frac{12132\,x^6}{5}-3432\,x^5-\frac{250431\,x^4}{25}-\frac{73244\,x^3}{25}+\frac{165984\,x^2}{25}+\frac{67896\,x}{25}+\frac{6724}{25} $$
(%i10) q1:ef_pthroot(Q1,2,[ ]);
$$ \tag{%o10} x^6+6\,x^5+24\,x^4+56\,x^3+\frac{33\,x^2}{5}-\frac{414\,x}{5}-\frac{82}{5} $$
(%i11) a1:alpha[1];
$$ \tag{%o11} \alpha_{1} $$

\(\alpha_{1}\)を既知として\(\theta_{1}\left(x\right)\)を求めます。
(%i12) theta[1]:a1*q1;
$$ \tag{%o12} \alpha_{1}\,\left(x^6+6\,x^5+24\,x^4+56\,x^3+\frac{33\,x^2}{5}-\frac{414\,x}{5}-\frac{82}{5}\right) $$

ここで(4)を使うとg1が計算できます。
(%i13) g1:theta[0]+theta[1];
$$ \tag{%o13} x^{12}+12\,x^{11}+96\,x^{10}+520\,x^9+2022\,x^8+5808\,x^7+\alpha_{1}\,\left(x^6+6\,x^5+24\,x^4+56\,x^3+\frac{33\,x^2}{5}-\frac{414\,x}{5}-\frac{82}{5}\right)+11420\,x^6+13704\,x^5+35793\,x^4+110564\,x^3+396300\,x^2+575760\,x+1352400 $$
(%i14) C:[ ];
$$ \tag{%o14} \left[ \right] $$

\(F_{1}\)に添加する元\(\alpha_{1}\)をCに記録します。これが体の拡大なのです。この段階で本来\(\zeta_{2}\)も添加するべきですが、これは\(-1\)のことなので、すでに\(F_{1}\)に含まれていますから、添加しません。
(%i15) push([alpha[1],alpha[1]^2-A1],C);
$$ \tag{%o15} \left[ \left[ \alpha_{1} , \alpha_{1}^2-38880000 \right] \right] $$