はじめに
【注意】(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 条件分岐 | >> if 〜 then 〜 else 〜 end_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] です。