我が家のクリスマスディナー
図書館でこんな本を見つけました。
こんな本があったとは知りませんでした!!
様々な問題に対して、数式処理システムMathematicaを使って、多角的にアプローチします。数式処理システムの能力が上がっているとはいっても、コマンド一発で解ける問題は多くありません。
そもそも問題を色々と試しながら定式化する必要があります。その際にはグラフを書いたり、式の計算を大量に繰り返したり、様々な実験が必要になります。その際に、Mathematicaや、このブログでも扱っているMaximaは非常に強力な道具になります。
この本では第1章はMathematica入門として、基本をおさらいします。残りの12章では一つづつ問題を設定し、Mathematicaを使いながら様々な実験をしていきます。
この中には以前このブログで取り扱った、「代数的数の和や積」の話も扱われています(第3章)。2つ代数的数の和の満たす最小多項式を求める方法が、まず、以下の記事と同じ方法で述べられています。
次に終結式(Resultant)を紹介し、終結式を使った変数消去の言葉に言い換えています。そしてMathematicaの終結式を求めるコマンドを使って、2つの代数的数の和が満たす最小多項式を具体的に求めています、、、、、そうか、そうですよね。
というわけで、Maximaでも同じことは簡単にできます。上記の記事の例題(-1の平方根と1以外の1の3乗根の和が満たす最小多項式)をMaximaで終結式を使って求めてみましょう。aを-1の平方根、bを1でない1の3乗根とします。
(%i1) a^2+1;
$$ \tag{%o1} a^2+1 $$
(%i2) factor((b^3-1)/(b-1));
$$ \tag{%o2} b^2+b+1 $$
a+bがXと等しいとして、Xが満たす多項式を求めます。そのためにはX-(a+b)と%o1との終結式を、aを消去する形で求めます。
(%i3) resultant(X-(a+b),a^2+1,a);
$$ \tag{%o3} b^2-2\,X\,b+X^2+1 $$
さらにこの結果と%o2との終結式をbを消去する形で求めます。結果はXの多項式になります。
(%i4) resultant(%,b^2+b+1,b);
$$ \tag{%o4} X^4+2\,X^3+5\,X^2+4\,X+1 $$
訂正:この記事、最初は(%i2)としてb^3-1としていました。この式が既約でないため、最終的に得られた式(コメントで頂いた6次式です)は既約ではありませんでした。
(%i2)を既約な式に変更して、計算結果も修正しました。コメントをして頂いた方に感謝します。
山本さんの著作といえば、上記の本が愛読書です。