Maxima で綴る数学の旅

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

-数学- 可解な方程式を冪根で解く -4次までの多項式用の汎用プログラムの実行例-

 

ようやく、かなりマシなバージョンを作ることができたので、一度リリースすることにしました。今回はどんな感じで実行できるのか、お見せします。なお、今回リリースするプログラムは4次までの多項式の根を方程式のガロア理論に従って計算します。

 

ファイルSolveSolvable2.macを読み込みます。この中で、いくつかのファイルが読み込まれます。

(%i1) load("SolveSolvable2.mac")$

 

多項式の全ての根の(適当な係数による)一次結合で原始元を作り出すための関数を定義します(この係数を自動で見つけ出すアリゴリズムは今回実装しませんでした)。

(%i2) gal_phi(xlist):=ev(sum(xlist[i]*cl[i],i,1,length(xlist)),cl:[1,-1,2,3,2])$

以下のようにxの多項式を引数にしてSolveSolvable()と呼び出すと、途中計算を表示したのち、解を冪根のみで表示します。(*)で始まる行が表示された行です。

(%i3) SolveSolvable(x^2-2)$

まず方程式のガロア群を求めて、置換群の形式で表示します。目視で\(S_2\)であることが分かります。
$$ \tag{*} \verb|Galois Group of|\verb| |x^2-2\verb| | $$
$$ \tag{*} \begin{pmatrix}a&b\\ b&a \end{pmatrix}\verb| | $$

次に組成列を求めます。
$$ \tag{*} \verb|Subnormal series and quotients of orders|\verb| | $$
$$ \tag{*} \verb|FiniteGroup[1,2]|\verb| | $$
$$ \tag{*} \verb|FiniteGroup[1]|\verb| | $$

隣り合った正規部分群の位数の商を表示します。
$$ \tag{*} 2 $$

解を求めます。
$$ \tag{*} \verb|Solutions|\verb| | $$
$$ \tag{*} \mathrm{\%x}_{1}=-\frac{\alpha_{1}}{2}\verb| | $$
$$ \tag{*} \mathrm{\%x}_{2}=\frac{\alpha_{1}}{2}\verb| | $$
$$ \tag{*} \verb|with|\verb| | $$
$$ \tag{*} \left[ \left[ \alpha_{1} , \alpha_{1}^2-8 \right] \right] \verb| | $$

ちなみに\(\alpha_1\)の数値的な値は以下の通りです。
$$ \tag{*} \left[ \alpha_{1}=2.82842712474619 , \alpha_{1}=-2.82842712474619 \right] \verb| | $$

検算です。まず上記の\(\alpha_1\)の数値を代入して\(x_1, x_2\)を求めます。
$$ \tag{*} \verb|Numeric calcuration of the above solutions|\verb| | $$
$$ \tag{*} \left[ -1.414213562373095 , 1.414213562373095 \right] \verb| | $$

次に元の多項式の根を数値的に、Maximaの関数allroots()を使って求めます。
$$ \tag{*} \verb|Numeric solutions with allroots(|\verb| |x^2-2\verb| |\verb|)|\verb| | $$
$$ \tag{*} \left[ x=1.414213562373095 , x=-1.414213562373095 \right] \verb| | $$

見比べると概ね一致していることが見て取れます。

 

次に\(x^3-2\)を解いて見ます。
(%i4) SolveSolvable(x^3-2)$

ガロア群は目視で\(S_3\)であることが分かります。
$$ \tag{*} \verb|Galois Group of|\verb| |x^3-2\verb| | $$
$$ \tag{*} \begin{pmatrix}a&b&c\\ a&c&b\\ b&a&c\\ b&c&a\\ c&a&b\\ c&b&a \end{pmatrix}\verb| | $$

今度の組成列は3つの群からなります。
$$ \tag{*} \verb|Subnormal series and quotients of orders|\verb| | $$
$$ \tag{*} \verb|FiniteGroup[1,2,3,4,5,6]|\verb| | $$
$$ \tag{*} \verb|FiniteGroup[1,4,5]|\verb| | $$
$$ \tag{*} \verb|FiniteGroup[1]|\verb| | $$

隣り合った正規部分群の位数の商を計算します。
$$ \tag{*} 2\verb| | $$
$$ \tag{*} 3\verb| | $$

解を求めます。
$$ \tag{*} \verb|Solutions|\verb| | $$
$$ \tag{*} \mathrm{\%x}_{1}=\frac{\alpha_{1}\,\alpha_{2}}{84}-\frac{\alpha_{2}}{14}\verb| | $$
$$ \tag{*} \mathrm{\%x}_{2}=\frac{5\,\alpha_{2}}{14}-\frac{\alpha_{1}\,\alpha_{2}}{252}\verb| | $$
$$ \tag{*} \mathrm{\%x}_{3}=-\frac{\alpha_{1}\,\alpha_{2}}{126}-\frac{2\,\alpha_{2}}{7}\verb| | $$
$$ \tag{*} \verb|with|\verb| | $$
$$ \tag{*} \left[ \left[ \alpha_{2} , \frac{10\,\alpha_{1}\,\zeta_{3}}{27}-18\,\zeta_{3}+\alpha_{2}^3-\frac{17\,\alpha_{1}}{54}-19 \right] , \left[ \zeta_{3} , \zeta_{3}^2+\zeta_{3}+1 \right] , \left[ \alpha_{1} , \alpha_{1}^2+972 \right] \right] \verb| | $$

\(\alpha_1, \alpha_2, \zeta_3\)はいずれも冪根になっていること、それらだけを使って\(x_1, x_2, x_3\)が表されていることが分かります。

 

以下は検算です。
$$ \tag{*} \left[ \alpha_{1}=31.17691453623979\,i , \alpha_{1}=-31.17691453623979\,i \right] \verb| | $$
$$ \tag{*} \left[ \zeta_{3}=0.8660254037844386\,i-0.5 , \zeta_{3}=-0.8660254037844386\,i-0.5 \right] \verb| | $$
$$ \tag{*} \left[ \alpha_{2}=1.091123635971721\,i+3.149802624737183 , \alpha_{2}=2.182247271943443\,i-2.519842099789746 , \alpha_{2}=-3.273370907915164\,i-0.6299605249474367 \right] \verb| | $$
$$ \tag{*} \verb|Numeric calcuration of the above solutions|\verb| | $$
$$ \tag{*} \left[ 1.091123635971722\,i-0.6299605249474365 , 1.259921049894873-5.551115123125783 \times 10^{-17}\,i , -1.091123635971721\,i-0.6299605249474366 \right] \verb| | $$
$$ \tag{*} \verb|Numeric solutions with allroots(|\verb| |x^3-2\verb| |\verb|)|\verb| | $$
$$ \tag{*} \left[ x=1.259921049894873 , x=1.091123635971721\,i-0.6299605249474366 , x=-1.091123635971721\,i-0.6299605249474366 \right] \verb| | $$

ガロア理論で求めた解の式に数値を代入したものと、allroots()で求めた数値解が概ね一致していることが確認できました。

 

次の例題では一次結合の係数を変更します。
(%i5) gal_phi(xlist):=ev(sum(xlist[i]*cl[i],i,1,length(xlist)),cl:[-3,-1,5,0,3,2,5])$

そして\(x^3-3\,x-1\)の解を計算します。
(%i6) SolveSolvable(x^3-3*x-1)$

ガロア群は3つの要素からなり、3次交代群\(A_3\)であることが分かります。
$$ \tag{*} \verb|Galois Group of|\verb| |x^3-3\,x-1\verb| | $$
$$ \tag{*} \begin{pmatrix}a&b&c\\ b&c&a\\ c&a&b \end{pmatrix}\verb| | $$
$$ \tag{*} \verb|Subnormal series and quotients of orders|\verb| | $$
$$ \tag{*} \verb|FiniteGroup[1,4,5]|\verb| | $$
$$ \tag{*} \verb|FiniteGroup[1]|\verb| | $$
$$ \tag{*} 3\verb| | $$
$$ \tag{*} \verb|Solutions|\verb| | $$
$$ \tag{*} \mathrm{\%x}_{1}=\frac{7\,\alpha_{1}^2\,\zeta_{3}}{676}+\frac{3\,\alpha_{1}\,\zeta_{3}}{26}-\frac{2\,\alpha_{1}^2}{169}+\frac{2\,\alpha_{1}}{13}\verb| | $$
$$ \tag{*} \mathrm{\%x}_{2}=-\frac{15\,\alpha_{1}^2\,\zeta_{3}}{676}-\frac{2\,\alpha_{1}\,\zeta_{3}}{13}-\frac{7\,\alpha_{1}^2}{676}-\frac{\alpha_{1}}{26}\verb| | $$
$$ \tag{*} \mathrm{\%x}_{3}=\frac{2\,\alpha_{1}^2\,\zeta_{3}}{169}+\frac{\alpha_{1}\,\zeta_{3}}{26}+\frac{15\,\alpha_{1}^2}{676}-\frac{3\,\alpha_{1}}{26}\verb| | $$
$$ \tag{*} \verb|with|\verb| | $$
$$ \tag{*} \left[ \left[ \alpha_{1} , -136\,\zeta_{3}+\alpha_{1}^3+288 \right] , \left[ \zeta_{3} , \zeta_{3}^2+\zeta_{3}+1 \right] \right] \verb| | $$
$$ \tag{*} \left[ \zeta_{3}=0.8660254037844386\,i-0.5 , \zeta_{3}=-0.8660254037844386\,i-0.5 \right] \verb| | $$
$$ \tag{*} \left[ \alpha_{1}=5.826341164143652\,i+4.248970303380007 , \alpha_{1}=0.7665456405809336\,i-7.170244610953405 , \alpha_{1}=2.921274307573398-6.592886804724586\,i \right] \verb| | $$
$$ \tag{*} \verb|Numeric calcuration of the above solutions|\verb| | $$
$$ \tag{*} \left[ 2.220446049250313 \times 10^{-16}\,i-0.3472963553338607 , 1.879385241571816-1.110223024625157 \times 10^{-16}\,i , -5.551115123125783 \times 10^{-17}\,i-1.532088886237956 \right] \verb| | $$
$$ \tag{*} \verb|Numeric solutions with allroots(|\verb| |x^3-3\,x-1\verb| |\verb|)|\verb| | $$
$$ \tag{*} \left[ x=-0.3472963553338607 , x=-1.532088886237956 , x=1.879385241571817 \right] \verb| | $$

 

最後に4次多項式の根を計算します。
(%i7) SolveSolvable(x^4+x^2-1)$
$$ \tag{*} \verb|Galois Group of|\verb| |x^4+x^2-1\verb| | $$

ガロア群を計算します。位数は8です。よく調べると二面体群\(D_8\)であることが分かります。
$$ \tag{*} \begin{pmatrix}a&b&c&d\\ a&b&d&c\\ b&a&c&d\\ b&a&d&c\\ c&d&a&b\\ c&d&b&a\\ d&c&a&b\\ d&c&b&a \end{pmatrix}\verb| | $$

組成列は4つの群からなり、隣ある群の位数の商は全て2です。
$$ \tag{*} \verb|Subnormal series and quotients of orders|\verb| | $$
$$ \tag{*} \verb|FiniteGroup[1,2,7,8,17,18,23,24]|\verb| | $$
$$ \tag{*} \verb|FiniteGroup[1,2,7,8]|\verb| | $$
$$ \tag{*} \verb|FiniteGroup[1,2]|\verb| | $$
$$ \tag{*} \verb|FiniteGroup[1]|\verb| | $$
$$ \tag{*} 2\verb| | $$
$$ \tag{*} 2\verb| | $$
$$ \tag{*} 2\verb| | $$

解を計算します。
$$ \tag{*} \verb|Solutions|\verb| | $$
$$ \tag{*} \mathrm{\%x}_{1}=\frac{\alpha_{2}}{4}\verb| | $$
$$ \tag{*} \mathrm{\%x}_{2}=-\frac{\alpha_{2}}{4}\verb| | $$
$$ \tag{*} \mathrm{\%x}_{3}=-\frac{\alpha_{3}}{5}\verb| | $$
$$ \tag{*} \mathrm{\%x}_{4}=\frac{\alpha_{3}}{5}\verb| | $$
$$ \tag{*} \verb|with|\verb| | $$
$$ \tag{*} \left[ \left[ \alpha_{3} , \alpha_{3}^2+\frac{25\,\alpha_{1}}{42}+\frac{25}{2} \right] , \left[ \alpha_{2} , \alpha_{2}^2-\frac{8\,\alpha_{1}}{21}+8 \right] , \left[ \alpha_{1} , \alpha_{1}^2-2205 \right] \right] \verb| | $$

 

以下は検算です。
$$ \tag{*} \left[ \alpha_{1}=46.95742752749558 , \alpha_{1}=-46.95742752749558 \right] \verb| | $$
$$ \tag{*} \left[ \alpha_{2}=3.144605511029693 , \alpha_{2}=-3.144605511029693 \right] \verb| | $$
$$ \tag{*} \left[ \alpha_{3}=6.360098247570344\,i , \alpha_{3}=-6.360098247570344\,i \right] \verb| | $$
$$ \tag{*} \verb|Numeric calcuration of the above solutions|\verb| | $$
$$ \tag{*} \left[ 0.7861513777574232 , -0.7861513777574232 , -1.272019649514069\,i , 1.272019649514069\,i \right] \verb| | $$
$$ \tag{*} \verb|Numeric solutions with allroots(|\verb| |x^4+x^2-1\verb| |\verb|)|\verb| | $$
$$ \tag{*} \left[ x=0.7861513777574233 , x=-0.7861513777574232 , x=1.272019649514069\,i-5.551115123125783 \times 10^{-17} , x=-1.272019649514069\,i-5.551115123125783 \times 10^{-17} \right] \verb| | $$

\(10^{-17}\)をゼロとみなせば、概ね一致することが確認できます。