Maxima >  具体的な使い方	
----
数式処理システムなので、
計算させる数式がないと使い道もない。
例えば、数学の教科書があれば、
計算させたい式がみつかるだろう。
もちろん夏休みの宿題も簡単だ。:-)
文章題や、読書感想文は無理だが...。
例えば、分数の足し算
1/2 + 1/3
を計算させたいとしよう。
maximaは、command lineモードと
batchモードで使うことが出来る。
長い式を書くときなどは式の書き変えができない
と書くのが大変だが、
command lineモードのmaximaでは、
実際に式の書き変えができない。
そのため多くの場合にbatchモードを
使うことになると思う。
まずcommand lineモードでは、
 $maxima
と打つ。
すると、maximaが起動し
 (%i1)
と表示されるので、(iはinputの略)
 (%i1) 1/2 + 1/3;
とかく。
(最後の;を忘れるとあまりおもしろくないことが
起こるので注意すること!)
上手く書きこめば、
 (%o1)   
       5
       -
       6
と表示される。(oはoutputの略)
よって、答は5/6だと分る。
batchモードでは、まず計算させたい内容を
ファイルに書き出す。
例えば、aaaというファイルを使うとする。
(Linuxは拡張子をつけないファイルを
使うことがある。実際問題として
maximaは拡張子を使ってファイルを判定するのでは
無いようなので、ここでは何とつけても差し支えない。)
つまり、好きなエディタを使ってaaaを編集するのである。
しかし、もちろんこのように書くのが好きな人間もいるだろう。
 $cat >>aaa
 1/2 + 1/3;
 [Ctrl-d]
何にせよaaaの用意が出来たなら、
 $maxima -b aaa
と打てばよい。
結果は標準出力に表示されるだろう。
結果が長くなった場合には
 $maxima -b aaa > bbb
とすると、結果の式が
bbbに書きこまれるので、後からゆっくり
読むことが出来る。
maximaは分数の足し算を行うことができる。
 
 command: 3/5 + 1/5;
maximaは異なる分母の計算を正しく行なうことが出来る。
 
 command: 1/5 + 1/3;
maximaは分数のかけ算を行なうことが出来る。
 
 command: 1/5 * 2/3;
maximaは分数の割り算を行なうことが出来る。
 
 command: 1 / (1/2); 
 command: 1 / (2/3);
(かっこは省略できない。)
Maximaは正負の数が混じった四則演算を
行なうことが出来る。
 
 command: -3 + 4;
 command: -3*4;
 command: 1*(-1)*(-1);
Maximaは文字式の四則演算を
行なうことが出来る。
 
 command: x+x;
 command: x+y;
 command: x+3*y+4*y;
 command: 2*x * 3*y;
 command: x * 2*x;
 or command: x*2*x;
maximaは方程式も扱える。
 
 command:solve([x+3=4],[x]);
 command:solve([2*x=1],[x]); 
maximaは2元方程式も扱える。
 
 command: solve([x+2*y = 1, 2*x+y = 3],[x,y]);
maximaは平方根の値を任意の桁まで求めることが出来る。
 
 command:bfloat(sqrt(3));
Maximaは式の展開と因数分解を行なうことが出来る。
 
 command:expand((a+b)*(c+d));
 command:factor(a^2-b^2);
maximaは二次方程式も扱うことができる。
 
 command:solve([x^2-1=0],[x]);
maximaは複素数をサポートしている。
 
 command: %iがiに対応する。
Note:maximaは指数eの値を知っている。
(実際には通常のコンピューターは
この値を計算できるようになっているはずである。
)
 
 command:bfloat(%e);
maximaは、微積分をサポートする。
 
 command:diff(f(x),x); 
 command:integrate(f(x),x); 
 command:integrate(f(x),[x,a,b]); 
note: maxima は微分法をサポートする。
 
 command: diff(f(x)+g(x),x); 
 command: diff(af(x),x); 
 command: diff(f(x)*g(x),x); 
 command: diff(1/f(x),x);
maximaは行列の演算をサポートする。
 
 command: A:matrix([a,b],[c,d]); 
 command: B:matrix([e,f],[g,h]); 
 command: A + B 
 command:  A.B (行列の積) 
 command: A^^-1 (逆行列)