MathLibre では多くの数学用のソフトウェアが利用できるが、 ここではかなり汎用性の高い Maxima を扱う。 Mathematica というソフトウェアを聞いたことがある人も多いと思うが、 Mathematica は高価であり、利用できる場所が限られる。 Maxima とは、大雑把に言えば無料で利用できる Mathematica のようなものである。 Maxima は多くの OS に対応しており MS Windows などにもインストールして無料で利用できる。 ユーザー数も多く、インターネット上にも多くの解説が見つけられるだろう。
実習では2回に渡って Maxima を扱う。 今回は基本的な操作を扱い、次回は簡単なプログラムを書くことを学ぶ。
MathLibre では 3 種類の異なるインターフェイスをもつ maxima が利用できる。 一つはターミナルから実行する「maxima」, GUI をもつ「xmaxima」、「wxMaxima」である。 「xmaxima」と「wxMaxima」はメニューの「math」にある。 (「Maxima Algebra System」となっているのが「xmaxima」である。) 「maxima」はターミナルに「maxima」と入力して起動できる。 インターフェイスが違うだけでできることは同じと思ってよいので、 触ってみて使いやすく感じるものを使えばよいであろう。
起動すると
のように表示される。これが入力待ちの状態である。 簡単な例を計算してみよう。(%i1)
コマンドの最後は ; (セミコロン) で区切る。 入力 (%i1) に対する出力が (%o1) となる。 2つめの計算で多項式の計算をさせようとしたが展開してくれなかったので、次に (%o2) を展開させている。 このようにある計算の出力を別の計算に用いることもできる。 (%i1) は関数 f(x) の不定積分であるが、f(x) が与えられていないので、そのままを出力する。 (wxMaxima で試してみると・・・。) 最後の quit() は maxima を終了させる。(%i1) 2^100; (%o1) 1267650600228229401496703205376 (%i2) (x+1)^3; 3 (%o2) (x + 1) (%i3) expand(%o2); 3 2 (%o3) x + 3 x + 3 x + 1 (%i4) integrate(f(x), x); / [ (%o4) I f(x) dx ] / (%i5) quit();
wxMaxima を利用するときはちょっと異なることがあるので注意が必要である。 (%i1) のような表示はなく「-->」と表示される。 ここには勝手なコメントなどを書き込むことが出来る。 maxima へのコマンドを入力する際には「shift+リターン」とする。 すると「-->」が (%i1) などと変わり、他の maxima と同じようになる。 wxMaxima では、計算済みのコマンドでも、それを修正して再計算できる。 (xmaxima でも似たようなことができるが、やや動きが違う。 maxima では上矢印を押すことで、前の入力が表示されるので、それを修正して計算することができる。)
どの maxima でも、現在の状況を保存し、あとでそれを再開することができる。 マニュアルなどを参照して欲しい。 これは独自の関数などを多く定義している場合などに役に立つ。 関数の定義などのより高度な利用法については次回学ぶ。
起動や終了などの基本的なことが分かったら、実際に maxima を使って計算をしてみよう。 今回の MathLibre のホームページにあるマニュアルを利用する。 maxima のマニュアルはいくつもあるが、ここでは Maxima 入門ノートを見てみよう。
演習 : Maxima 入門ノートの4章までを、ざっとでよいので目を通して試してみなさい。 特に微分、偏微分、不定積分、定積分などの計算の仕方を確認しなさい。
演習 : maxima に何かグラフを描画させ、それを LaTeX で表示させなさい。