MaximaとREDUCE

REDUCEと同様にLISP上で構築された数式処理システム(数式を数式として扱うアプリケーション、プログラム)にMaximaというのがあります。パブリックドメインで活動も盛んなようです。本も出ているし、ネットにマニュアルや翻訳があってREDUCEからみるとうらやましい限りです。REDUCEはかつて有料だったものが無料化したものなのでMaximaほど透明性がないのですがいまiPad上でREDUCEしかないので仕方ありませんね。


はじめてのMaximaという日本語のファイルがネットにあったのでダウンロードしてみました。一番最初の計算例がそのままREDUCEでも使えたので似てるなぁと思った次第です。


solve( [ x + 2*y , x^2 + y^2 - 2 ], [ x , y ] );

=> { { x = 2*√2 / √5 , y = - √2 / √5 } , { x = - 2*√2 / √5 , y = √2 / √5 } }


これは solve というコマンドで、x + 2*y = 0 , x^2 + y^2 - 2 = 0 という連立二次方程式を x と y について解け、という命令を出して、画面に回答が示されたところです。実際には LaTeX できれいに表示されるところまでそっくり。


微分積分も似ています。
int ( x , x ) ; => x^2 / 2
int ( cos x , x ) ; => sin ( x )
int ( sin x , x ) ; => - cos ( x )
df ( cos x , x ) ; =>  - sin ( x )
df ( sin x , x ) ; => cos ( x )