hirax.net::Keywords::「代数方程式」のブログ



2009-09-29[n年前へ]

IronRuby + Mathematica Player で無料数学演習講座 

 昨日に引き続き、IronRuby + Mathematica Player で色んな数式処理をしてみることにします。まずは、昨日のスクリプトのEvaluateToOutputFormの部分を

result=kernelLink.EvaluateToOutputForm(
          "NSolve[x^9+x^4+x+5==0,x]", 0)
と変えてみます。つまり、9次の代数方程式を数値的に解いてみよう、というわけです。すると、答えはこんな風に返ってきます。
{{x -> -1.22021}, {x -> -0.859627 - 0.712543 I}, {x -> -0.859627 + 0.712543 I},{x -> -0.277212 - 1.208 I}, {x -> -0.277212 + 1.208 I}, {x -> 0.607409 - 1.01612 I}, {x -> 0.607409 + 1.01612 I}, {x -> 1.13953 - 0.477782 I}, {x -> 1.13953 + 0.477782 I}}
9次の代数方程式の解が一瞬で(数値的に)求まってしまいます。

 また、

result=kernelLink.EvaluateToOutputForm(
       "Simplify[a x + b x +c x -d]", 0)
といった風にすると、"a x + b x +c x -d"を簡約化した答えを返してくれます。たとえば、こんな風です。
-d + (a + b + c) x
この簡約化する作業は間違えてしまうことが多い割に、結構行うことも多い作業だったりするので、Simplifyが使えるのは、とても便利です。

 もしも、""Solve[a x^4 + b x^3 +c x^2 -d x + e==0,x]"といったコマンドを投げれば、4次代数方程式の解が帰ってくるわけですが、その解を張り付けるにはこのスペースがあまりに狭すぎるので、貼り付けるのはちょっと止めておくことにしましょう。

 あるいは、上の5次方程式で使われている変数に前もって値を代入してやれば、つまり、"a=0;b=0;c=0;d=3;e=1;Solve[a x^4 + b x^3 +c x^2 -d x + e==0,x]"といったコマンドを投げてやれば、

       1
{{x -> -}}
       3
という風にきちんと答えが返ってきます。
result=kernelLink.EvaluateToOutputForm(
    "a=0;b=0;c=0;d=3;e=1;",
    0)
result=kernelLink.EvaluateToOutputForm(
    "Solve[a x^4 + b x^3 +c x^2 -d x + e==0,x]",
    0)
といったように、複数回に分けてコマンドを投げても大丈夫です。自分で苦労して解かなくて済むと、数学の問題も少し楽しく思えます。

 というわけで、Mathematica Playerと.NET/Linkをダウンロードすると、IronRubyなどからMathematicaの機能のかなりの部分を使うことができ、数学の世界を苦労せずに覗いてみることができます。Mathematicaのマニュアルを見ながら、色んな数式処理をさせてみると、きっと面白いと思います。

2012-04-17[n年前へ]

百次方程式の係数を複素平面上で動かして、百個の解のダンスを眺め・楽しんでみよう!? 

 多項式からなる代数方程式の「係数」をマウスでつかんで動かした時に、「(その代数方程式の)”解たち”の配置」と「”解たち”が動き回るようす」を眺めたいな…と思ったのですが、ググってみると「x^n + b x + 1 = 0 おいう代数方程式の係数bを複素平面上で動かした時に”解たち”がどのような配置になるか・どのように動き回るか」をインタラクティブに味わえる・楽しむことができる(Monodromy of z^n + b z + 1 = 0)というものがありました。

 そこで、”x^n + b x + 1 = 0”という二次から百次までの代数方程式で、係数”b”を複素平面上で(マウスで)動かして(青丸)、(その動きに応じて)解の集団(赤丸)が形作る美しいダンスを眺め・楽しんでみました。

 中学生くらいの頃、"X^2+2=0"といった方程式を(各々の軸が実数の)XY平面上で黒板の上で眺めつつ、その黒板上に描かれたXY平面には、"Y=X^2+2"というグラフと"Y=0"というグラフが「どこでも交わっていない」ようにしか見えないのに、方程式の「答え」は「(どこかに)2つの解がある」というもので…それは理不尽で不思議で…つまりは納得できなかったような気がします。

 あの頃、複素平面上に複素数値を描いたグラフを見ていたら、黒板の上で多項式の解が複素平面上で円を描いてフォーク・ダンスを踊る風景を眺めていたら…数学に恋をしていたかもしれない、と思います。

 オクラホマ・ミクサーやマイムマイム…黒板の上の複素平面上で代数方程式の係数が動くにつれ、その方程式の解の群団が踊るフォークダンス…が今日見た景色、です。



■Powered by yagm.net