-4次までの多項式用の汎用プログラムの実行例-数学ようやく、かなりマシなバージョンを作ることができたので、一度リリースすることにしました。今回はどんな感じで実行できるのか、お見せします。今回リリースするプログラムは4次までの多項式の根を方程式のガロア理論に従って計算します。ファイルSolveSolvable2.macを読み込みます。この中で、いくつかのファイルが読み込まれます。load("SolveSolvable2.mac")$多項式の全ての根の(適当な係数による)一次結合で原始元を作り出すための関数を定義します(この係数を自動で見つけ出すアリゴリズムは今回実装しませんでした)。gal_phi(xlist):=ev(sum(xlist[i]*cl[i],i,1,length(xlist)),cl:[1,-1,2,3,2])$以下のようにxの多項式を引数にしてSolveSolvable()と呼び出すと、途中計算を表示したのち、解を冪根のみで表示します。(*)で始まる行が表示された行です。SolveSolvable(x^2-2)$まず方程式のガロア群を求めて、置換群の形式で表示します。目視で\(S_2\)であることが分かります。$$次に組成列を求めます。$$隣り合った正規部分群の位数の商を表示します。$$ちなみに\(\alpha_1\)の数値的な値は以下の通りです。x_2\)を求めます。$$次に元の多項式の根を数値的に、Maximaの関数allroots()を使って求めます。$$見比べると概ね一致していることが見て取れます。次に\(x^3-2\)を解いて見ます。SolveSolvable(x^3-2)$ガロア群は目視で\(S_3\)であることが分かります。$$今度の組成列は3つの群からなります。$$隣り合った正規部分群の位数の商を計算します。x_3\)が表されていることが分かります。$$ガロア理論で求めた解の式に数値を代入したものと、allroots()で求めた数値解が概ね一致していることが確認できました。次の例題では一次結合の係数を変更します。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\)の解を計算します。SolveSolvable(x^3-3*x-1)$ガロア群は3つの要素からなり、3次交代群\(A_3\)であることが分かります。$$最後に4次多項式の根を計算します。$$ガロア群を計算します。調べると二面体群\(D_8\)であることが分かります。$$組成列は4つの群からなり、隣ある群の位数の商は全て2です。