2025年09月24日更新

 Mathematica で, 7次方程式(septic equation)の厳密解を求める

[1] Mathematica13.3 で 5次以下の方程式のガロア群や,5次方程式の解を求めるプログラムを書いたのは 2025年の冬でした.(Mathematicaで5次方程式の厳密解を求める)そのあと7次方程式に取り掛かりましたが,5次方程式に比べると数段難しかったです.体感では3倍ほどの難しさでしょうか?

最初の問題は 「私のプログラムでは7次方程式のガロア群が求まらなかった点」です.次の問題は「Web上では,参考文献が英文を含めても非常に少ない事(私はWikiPediaのみ参考にしました)」で,最後の問題は「7次方程式の本質的な難しさ」です.

[2]結局,7次方程式のガロア群や原始元vの最小多項式,解のvによる表現については SageMath を使って求めました.同時に,2日かけて f(x)=x7+ax5+bx4+cx3+dx2+ex+f (a,b,c,d,e,fは絶対値が10以下の整数)の可解なガロア群を全て求めたのですが,そのときガロア群は F42とD7(位数はそれぞれ42と14)しか見つかりませんでした.英語版のWikiPedia では可解な7次方程式のガロア群は C7,D7,F21,F42(位数はそれぞれ7,14,21,42)の4種類あるはずなのですが,私には見つけられませんでした.なお,F21,F42と書きましたが,Wiki ではメタ巡回群と呼んでいます.ここでは「Mathematicaで5次方程式の厳密解を求める」と繋がるような表現にしています.

[3]解き方は5次方程式と基本的には同じです.但し,最初に原始元とGalois群を(SageMathで)求めてから解いています.少し詳しく言うと,F42もD7 もC7を含むので,7次のLagrangeの分解式r1〜r6の7乗をR1〜R6とすると,R1+R2+R3+R4+R5+R6が「単純計算」で求まります.そしてR1,R2,R3,R4,R5,R6 を解に持つ方程式のガロア群はC6或いはその部分群となるので,3次方程式と2次方程式を組み合わせて解くことができます.すなわち,以下の2通りの方法で解けます.(もちろん,n次方程式の代わりに,n次のLagrangeの分解式を考えても解けます.)詳しくはF42_Solutions.nbをご覧ください.


[4]上の2つが「基本的な解法」ですが,さらに「Mathematicaで5次方程式の厳密解を求める」で参考文献[1][2]として挙げた「R1=l0+l1ζ+l2ζ2+・・・+l6ζ6 の係数l1〜l6を使う方法」も試しました.5次方程式の時と同様に「綺麗にかつ簡単に」解けるのですが,5次方程式の場合と異なり,他の2つの方法に比べて解が長くなるのが欠点です.詳しくは「Another_F42.nb」をご覧ください.

[5] 「Mathematica で可解で既約な7次方程式の厳密解を求めるプログラム」も書きました.しかしガロア群と原始元vによる解の表現は他のソフト(SageMath や Magma など)で求めないといけないので,「未完成」です.またこのプログラムは 「x6の係数が0」の場合にしか対応していません.(平行移動するだけなので訂正するのはすぐできるのですが,今は時間がありません.)

[6]7次方程式には本質的な難しさも有ります.一つには「変数の多さからくる計算量の増大」と「結果の表示の膨大さ」です.5次方程式の場合は一瞬で計算が終わったのが,7次の場合は「コーヒーを飲んで休憩」できるぐらいの時間がかかることがあります.また結果は長い解だと5頁位に渡ることもあります.さらに「既存の公式がないことからなる大変さ」も有ります.[3][4]で述べた様に,「R1〜R6」或いは「l1〜l6」の6次方程式に帰着させても,6次方程式の解の公式はなく,少し工夫が必要になります.(5次方程式の場合は「R1〜R4」或いは「l1〜l4」の4次方程式を解くことに帰着され,4次方程式は解の公式が存在するので容易でした)最後に,2乗根,3乗根,7乗根で正しい根の選択をするのも,変数やステップが多くなり大変です.結局,不本意ながら,数値計算を利用して根を選択することにしました.(^^;)

[7]原稿は少しバージョンアップして(^_^) Mathematica14 で書きました.Mathematica をお持ちの方なら,notebookをダウンロードしてそのまま「ノートブックを評価」すれば,厳密解とそこに至るプロセスの両方が良く分かると思います.ただ計算が複雑なせいか,ノートブックの評価に20秒から,最大1分程の時間がかかります.ご注意下さい.

[8]Mathematica をお持ちでない方は PDF をご覧ください.また無料でnotebookを読める「Wolfram Player」というのも有ります.Windows,Mac,Linux,iOS に対応しています.「PDFの右端が切れて読めない」などの場合は,こちらをお使いください.


[9]ご感想,ご質問などは下のメールリンクからお願いします.それではお楽しみください.これで Mathematica , GeoGebra, Magma, SageMath など数学ソフトの愛好者が一人でも増えれば良いと思っています. (2025年 5月5日)


【追加】(2025年9月23日)

[10]上のファイルをアップしたのち,私は6次方程式の解の公式,5次方程式の解の公式をGalois分解式を使って作り,またこれらを使ったプログラムを書きました.それが終わったのが6月末で,その後,7月初めより,7次方程式の解の公式をやはりGalois分解式を使って作ろうとしたのですが,余りにも次数が大きくなりこれはすぐ断念しました.その後 web上で公式を探したのですが見つからず,やっとのことで「参考文献1」を見つけました.(「7次方程式の解の公式(septic equation, formula)」と検索すると,特別な場合にしか使えないがより簡単な公式がヒットします.このバリアを通り抜けないと見つかりませんでした.) 「文献1」は5次と7次の一般の解の公式を述べているのですが,MathematicaではなくMapleを使っていることと,終結式とグレブナー基底を多用していることで馴染みがなく,読むのに2カ月もかかってしまいました.しかしようやくこれを用いたプログラムを作る事ができて非常に嬉しいです.

[11] Mathematicaをお持ちの方はもちろん notebook を開いて「評価」すれば,いろいろパラメータを変えて,遊べると思います.Mathematicaをお持ちでない方も,「Wolfram Player」をダウンロードして「solveSepticApp.nb」を開けば,対話式(インタラクティブ)に7次方程式の解を見ることができます.なお,サンプルは「ここ」にあります.またPDFではプログラムの右端が切れてしまったり,文章の配置が大きく乱れてしまったりするのですが(この2点はWolframにもっと頑張って頂きたい所です) ,Wolfram Player を使えば そんなこともありません. 


[12]「7次方程式の解の公式については,日本ではご存じの方が余りいらっしゃらないと思いますが,(私も2カ月前までは全く知りませんでした) ,目が覚めるようなテクニックで作った素晴らしい公式と感じました.この素晴らしい公式と考え方を少しでも多くの方に分かって頂きたいと思い,力の限りかなり詳しく説明文を書きました.但し専門家ではないので間違っている点も有ると思います.その際はご連絡を頂けると幸いです.


参考文献
1. 「Solving Quintics and Septics by Radicals」 by Mohammed A.Faggal, Daniel Lazard(2014年)
私は基本的にはこの本しか読んでいません.公式の証明には,終結式とグレブナー基底を多用しています.嬉しいことに,非常に簡潔ですがグレブナー基底の作り方の具体的な説明もあります.(その点は Dummit 氏の本よりも良かったです.Dummit氏の本では,方針は書いてあるものの,具体的な計算が全く載っていないので,公式の再現ができませんでした) ただしグレブナー基底の計算にはMapleを使っていて,Mathematicaでそれを完全に再現するのは,私には無理でした.これはもちろん私の力が足りないためですが,それ以外にMapleの方がグレブナー基底に関しては高機能という点も大きいです. しかし著者とは異なる方法を使いましたが,全ての公式をなんとか再現することができました.(^^♪)それにしても,著者のグレブナー基底や終結式の扱いは,素人の私には目を見張るほどでした.かなり苦労はしましたが,グレブナー基底も少し使えるようになり,その甲斐はあったと思います.最も残念な点は,ミスプリが多すぎる事でしょうか? 私の検証した所では,公式の部分でさえ2か所のミスがあり,それ以外にも「一部の記号がちゃんと定義されていない」,「プログラムがほとんど載っていない」,「数式がスクリーンショットで読みにくい」など小さな欠点も多々あります.しかし「7次方程式の解の公式は,著者の知る限りは,この本が初めて」だそうなので,頑張って読みました.私のnotebookで「原論文」というのは,この論文を指しています.
2.「Solving Quintics by Radicals」 by Daniel Lazard(2004年)
「文献1」の共著者の一人が「文献1」の発表の約10年前に発表した論文で,5次方程式の解の公式が載っています.ただこちらはガロア分解式を使っているので,公式は非常に長いです.(それでも私の作った公式よりはず〜と短いですが...). より短い5次方程式の解の公式は「文献1」に載っているので,私は軽く読んだだけです.やはり Maple を使って,グレブナー基底を多用しています.

 Mathematica とGalois基底を使って,可解で既約な7次方程式を解く具体例
方程式 Galois群 PDF Notebook
1. x7-2x5+x4 +4x3-x2-4 x +3 F42 F42_Solutions.pdf F42_Solutions.nb
2. 同上 同上 Another_F42.pdf Another_F42.nb

 Mathematica とGalois基底を使って,可解で既約な7次方程式を解く「未完成」プログラム
PDF Notebook
solveSepticProgramVer1.pdf solveSepticProgramVer1.nb

「7次方程式の解の公式」と「完成版」プログラム&アプリ(「文献1」参照)
-Notebook は無料の Wolfram Player でも開けます(お勧め)-
PDF Notebook
1 F35.pdf F35.nb
2 F1,F2,F3.pdf F1,F2,F3.nb
3 G1,G2.pdf G1,G2.nb
4 FormulaPart1.pdf FormulaPart1.nb
5 FormulaPart2.pdf FormulaPart2.nb
6 Examples.pdf Examples.nb
7 solveSepticProgramVer2.pdf solveSepticProgramVer2.nb
solveSepticApp.nb 
- player でも 対話式に遊べます -

F35の式(Mathematicaを持っていない方用)
F35.txt

可解で既約な7次方程式のリスト(係数の絶対値が15以下)
solvableSepticEquations.txt

Top pageへ Mathematica で方程式を解く email
生越 茂樹 (Ogose Shigeki)  All rights reserved