Maxima はコンピュータ代数システム Computer Algebra System で、 フリー(GPL)の数式処理システムです。 数式処理ソフトとしては Mathematica や Maple のほうが有名でしょう。
巻島がマキシマだから Maxima を紹介というわけではありません、念のため。
例えば、 のグラフを描いてみましょう。
横軸の範囲は指定しなければなりません。 変数 の範囲(定義域)を -10 〜 10 とすると、
plot2d( x**2, [x, -10, 10] );
は x**2 でも x^2 でもかまいません。 wxMaxima では、[Shift] + [Enter] キーで実行されます。
縦軸の範囲を指定するときは、y オプションをつけます。
plot2d( x**2, [x, -10, 10], [y, -1, 20] );
Windows の wxMaxima (0.8.6)、Maxima 5.22.1 を使っている場合、 gnuplot でグラフが表示されますが、gnuplot のグラフウィンドウを閉じないと Maxima に戻らないようです。 wxMaxima に戻ると、
plot2d: some values were clipped.
と表示されます。 範囲外のプロットが切り捨てられたということですね。
次に、反比例、 のグラフを描いてみます。
plot2d( 1/x, [x, -10, 10] );
gnuplot で単純に
plot x**2
を実行したときと異なり、 をまたがって線が引かれることがありません。 そのかわり、gnuplot のグラフを閉じて wxMaxima に戻ったときに、
plot2d: expression evaluates to non-numeric value somewhere in plotting range.
と表示されます。 で ですから、 ゼロで割っている、つまり、数でない値 (NaN) になっていることを指摘してくれています。
のときの極限値を求めてみましょう。
(%i1) limit( 1/x, x, 0, plus ); (%o1) ∞
(%i2) limit( 1/x, x, 0, minus ); (%o2) -∞
(%i3) limit( 1/x, x, 0 ); (%o3) infinity
右から 、左から、、 指定しないと「 式の絶対値の極限は正の無限大ですが、式自体の極限は正の無限大でも負の無限大でもない時、 infinity(複素数の無限大)が返されます 」 (Maxima 5.22.1 日本語マニュアル 18. Limits)