Maxima で綴る数学の旅

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

-数学- 可解な方程式を冪根で解く(Solve any solvable polynomials with radicals)

のどかなレストラン

 

これから数回にわたり、可解な多項式を冪根で解くアルゴリズムMaximaでの実装について紹介します。

 

ガロアの時代 ガロアの数学〈第2部〉数学篇 (シュプリンガー数学クラブ)」に掲載されているガロアの第一論文(例の決闘前夜まで修正していたもの)を読むと、

  • 与えられた方程式のガロア群を求めること、
  • その方程式の可解性の判定、
  • 体の拡大に必要な添加元(冪根)の求め方、

が含まれています。これらの各ステップは構成的であり、適切に補うことで添加元を求めることが実際に出来ます。

 

以前の記事ではこの最初のステップまでを、

文献1 井汲 景太 方程式のガロア群の求め方 – 五次元世界の冒険

文献2 三森明夫 ガロア論文の古典的証明

を参考にしてMaximaで実装してみました。

 

実は文献1では、2つ目以降のステップについても記述されていました。可解なガロア群の組成列に沿ってガロア群を縮小させる(体を拡大させる)と、原始元の最小多項式の次数が低下し、全ての根を含む体では最小多項式は1次式になることを示しています。この過程も構成的であり、解ける方程式はこの1次式を解くことで解を求めることが出来るのです。この解法は、次数ごとの解の公式には頼らず、さらに次数が5次以上でも可解であれば解が求まるすぐれものです。

 

最近文献1の著者の方から本ブログのコメントで連絡を頂き、上記アルゴリズムを詳細まで詰めて、数式処理システムMathematicaで計算を行った資料を紹介頂きました。

文献3 「退職後は素人数学者」可解な代数方程式のガロア理論に基づいた解法

この文献では数学的にアルゴリズムを説明するとともに、数式処理システムMathematica上で上記の計算を実行しています。特に、与えられた有限群の正規部分群を1つ作るアルゴリズム、1の冪根の処理の仕方など、大変わかりやすい記述です。また例として4次多項式\( x^4+2\,x^3+3\,x^2+4\,x+5 \)をあげて、ガロア群、組成列、最小多項式の次数低減、解の計算など全ての過程の計算結果を示しています。

 

今回、自分の理解を確かめるために、文献3のアルゴリズムを数式処理システムMaximaである程度実装することができたので、これから数回に渡ってご紹介します。アルゴリズムの理解を主目的としたので、文献3のMathematicaのコードはほとんど読まずに、アルゴリズムの解説と例題の処理過程を読んでMaximaのコードを書きました。特に例題の処理過程の計算結果は自分のコードのデバッグに役に立ちました。

 

 相変わらず私自身の貢献が少なく恥ずかしいのですが、

  • 無料のMaximaでもここまでの計算ができることを示したこと
  • 正規部分群や組成列の計算のコードなど誰かが再利用できるかもしれないこと、
  • 一部の処理を良かれと思って「最適化」したら計算爆発が起きたことの報告(記載予定)

など、少しは意味があるかもしれないと信じて書くことにします。