2017.01.30 Mon |

オープンソースの数式処理システムMaxima

設計・開発の作業において, しばしば行列の計算や微分積分などが必要になります. そのようなときに欲しくなるのが, 手軽に数式処理ができる環境ですよね.

maxima                                                Maximaによる数式処理の実行例

数式処理システムといえば,ウルフラム・リサーチ社が開発・販売するMathematica(https://www.wolfram.com/mathematica/index.ja.html?footer=lang)が有名です.しかし, Mathematicaは有料で通常版は約40万円であり,Microsoft Officeなどと比べてとても高価です. もっと安価に数式処理ができたら嬉しいですよね.

調査したところ, なんと, このようなテイラー展開や微分・積分などの数式の処理が無料でできるソフトウェアがありました! そこで今回は, オープンソースの数式処理システムのMaximaについて紹介します.

Maxima(http://maxima.sourceforge.net/)はCommon Lispというプログラミング言語で書かれたオープンソースの数式処理システムで,四則演算や行列の計算, 微分積分など非常に多機能です. また, WindowsやLinux, MacOS Xなど様々な環境で動作します.Maximaの数式表現には上のようにテキストが用いられます.

ここで当然,「数式の表示が気持ち悪い」や「GUIでMaximaを使いたい」などの声があると思いますが,ご安心ください.これら両方の要求を満たすのがwxMaxima(http://andrejv.github.io/wxmaxima/)です.wxMaximaの実行例を次に示します.

wxmaxima
開発にEmacsを用いている方もおられると思いますが,Emacs用のパッケージimaximaを用いると非常に便利です.imaximaにより,Emacs上でmaximaが使用でき,数式をTexフォントで表示できます.Emacsで開発しながら関数電卓としてちょっとした計算にimaximaを使用できます.

imaxima

MaximaやwxMaxima,imaximaでは描画にオープンソースのgnuplotを使用しており,描画まで含めて無料でできます. 振幅をzとしてxの正方向と負の方向に進む正弦波を重ね合わせたときの時間歴を”plot3d”というコマンドでプロットしてみました.

maxima_example1
日本語のマニュアルは,「Maxima入門マニュアル」(http://www.eonet.ne.jp/~kyo-ju/maxima.pdf)や「はじめてのMaxima」(http://fe.math.kobe-u.ac.jp/MathLibre-doc/ponpoko/MaximaBook.pdf)などです.

お読みいただきありがとうございました.

GO
東京大学大学院工学系研究科修士1年

2024.1  
給料も教育もガッツリと!メンター制度開始します  詳しく