Maxima で綴る数学の旅

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

-Maxima入門- 方程式を解く(1変数n次方程式)

f:id:jurupapa:20050522145201j:plain

まだ子供の頃

 

Maximaでは方程式を解くことができます。せっかく変数の使い方を覚えたので、変数を含んだ方程式を解いてみましょう。その名もsolve()関数を使います。書式はsolve(方程式、変数)です。

 

まずは一次方程式です。係数に文字があっても解いてくれます。

(%i1) solve(4*x+b=0, x);

 

$$ \tag{%o1}  \left[ x=-\frac{b}{4} \right]  $$

 

次は二次方程式です。係数を全て文字にしてsolve()を使うと二次方程式の一般解を表示します。やってみて下さい。ここでは \( 2\,x^2+3\,x+1=0 \) を解いてみます。

(%i2) solve(2*x^2+3*x+1=0,x);

 

$$ \tag{%o2}  \left[ x=-\frac{1}{2} , x=-1 \right]  $$

 

次は四次方程式。

(%i3) solve(6*x^4-43*x^3+33*x^2+52*x+12=0,x);

 

$$ \tag{%o3}  \left[ x=6 , x=-\frac{1}{3} , x=2 , x=-\frac{1}{2} \right]  $$

ここまでは一般解があるのですから、当然求められるはずですが、、、

 

次は十次方程式!!(この式次体は一次式や二次式を適当にかけて展開して得たものです)。

(%i4) 6*x^10-49*x^9+64*x^8+135*x^7-339*x^6+142*x^5+431*x^4-552*x^3-150*x^2+240*x+72=0;

 

$$ \tag{%o4}  6\,x^{10}-49\,x^9+64\,x^8+135\,x^7-339\,x^6+142\,x^5 \\ +431\,x^4-552\,x^3-150\,x^2+240\,x+72=0 $$

 

では試してみましょう。

(%i5) solve(%,x);

 

$$ \tag{%o5}  \left[ x=-\frac{1}{3} , x=-\frac{1}{2} , x=2 , x=6 , x=-\frac{3^{\frac{5}{6}}\,i-3^{\frac{1}{3}}}{2} ,\\ x=\frac{3^{\frac{5}{6}}\,i+3^{\frac{1}{3}}}{2} , x=-3^{\frac{1}{3}} , x=1 , x=-\sqrt{2} , x=\sqrt{2} \right]  $$

解けちゃうんですね。凄いなあ。どんなアルゴリズムで解いているのか、どんな範囲の高次方程式ならば解けるのか、知りたいですね(マニュアルを見ても書いてないし、、、)。