最近非線形最小化問題を解くために非線形関数の微分をやることになりましたが、式が手で解くには少々複雑すぎだったので数式を計算してくれるソフトを探してみました。普段は学校で「Mathematica」などを利用していましたが、やはり家とか個人で利用するために購入するには値段が高すぎます。そこでオープンソースの数理計算ソフトを探してる途中、とある物理学科の友人から「Maxima」というソフトを紹介してもらいました。なのでさっそくテストしてみましたがこれがなかなかの機能をそろえています。
まずソフトの本体ですが公式のサイトhttp://maxima.sourceforge.net/でダウンロード可能です。
Windows環境ならwxMaximaというGUI環境が含まれています。
では基本的な文法を紹介します。
まず、すべての式の最後には「;」が必要です。また式を表示させないためには「;」の代わりに「$」を使います(mathematicaの場合「;」)。
変数の宣言
変数名:値;
関数の宣言
関数名:=値;
行列の宣言(m x n)
matrix([e01, e02, …, e0n], [e11, e12, …, e1n], …, [em1, em2, …, emn]);
行列の要素の取得( mがmatrixの場合, i行j列の要素)
m[i,j];