はじめに

【注意】(2005/11/13)以下の記述は大変古いですが更新する予定はありません。 現在は Windows、Mac OS X、Linux 用のものが有料販売されているようです。 ライトストーンでは 71,820 円から 97,755 円で販売されています(通常版)。 アカデミック版なら Maple の 1/3 くらいの値段ですから検討の余地はあるかもしれません。

MuPAD はドイツの Paderborn 大学で開発されている数式処理ソフトで、SciFace Software が販売しています(*)。Mathematica や Maple ほど高機能ではありませんが、多変数多項式の演算や微分積分、行列の計算、関数描画など一般的用途なら十分実用に耐えると思います。

(*) Linux 用と Solaris(他)用と Windows 用 Light 版 に限り、学生・教職員なら無料で使えます。残念ながら Mac OS X 用には有料の Pro 版しかありません。

対応OS : Windows、Macintosh(PPC)、Linux、Solaris

インストールについて →Vine Linux の場合←→Windows の場合←

(↑これは Linux 版です)

MuPAD の基本

以下に MuPAD の基本的なコマンドを具体例を中心にまとめてみました。コマンドの後ろにセミコロン(;)をつけて[Enter]キーを押します。Maple に似ています。ただし、Mac 版だけは Mathematica 流に?[Shift]+[Enter] です。

終了 >> quit;  
リセット >> reset();  
     
因数分解 >> Factor(多項式 or 整数); factor、ifactor もある
展開 >> expand(多項式);  
簡単にする >> simplify(多項式);  
整理する >> collect(x*y^2-x+1,x); x*y^2-x+1 を (y^2-1)x+1 と x について整理
  >> collect(x*y^2-x+1,x,Factor); 更に、係数を因数分解 (y+1)(y-1)x+1
代入 >> subs(x+y,x=1); x+y に x=1 を代入する
  >> subs(x+y,{x=1,y=1}) x+y に x=1, y=1 を代入する
  >> subs(x^2+x,x^2=3); x^2+x の x^2 に 3 を代入する
     
選出(演算数) >> op(A+B+C,2); → B  
  >> op(-ABC,2); → B  
     
多項式の割り算 >> divide(x^10,x+1) x^10 を x+1 で割ったときの商と余りを求める
  >> divide(f(x,y),g(x,y),[y],Rem) 変数を指定し余りだけ求める場合
     
行列 >> M:=Dom::Matrix():
>> A:=M([[1,2],[3,4]]);
 
逆行列 >> A^(-1)  
行列式 >> linalg::det(行列);  
     
関数の定義1 >> f:=func(x^2,x); f(x)=x^2 を定義
関数の定義2 >> f:=proc(x) begin x^2 end_proc; procedure を使った定義
  >> f(3); f(3) を求めてみる
for ループ >> for i form 1 to 10 do print(i^2) end_for;  
if 条件分岐 >> ifthenelseend_if;  
整数判定 >> testtype(simplify(8^(1/3)),Dom::Integer); 8^(1/3) が整数か判定

for や if の具体例として、1000 までの素数で 8 を法として 5 と合同になるものを求めてみます。

k:=1:
for j from 1 to 1000 do
  if isprime(j) then
    if bool(j mod 8 = 5)
    then (a[k]:=j), (k:=k+1)
    end_if
  end_if
end_for:

これを直接 MuPAD に入力してももちろん良いのですが、例えば happy.txt などのファイルに書いておいて、

>> read("happy.txt");

として読み込むことも出来ます。ちなみに、コマンドの途中で改行するには、Mac の場合は[Enter]、それ以外のOS の場合は [Shift]+[Enter] です。