|
1.1.6 Mathematicaに慣れよう

数式記述の注意点
ここまで読んできて,他の計算システムを使った経験がある読者であれば, Mathematicaに類似点や相違点があることに気が付いたであろう.似通ったシステムの間で違いを見つけることはなかなか難しいが,違いを明らかにすることで,どうして Mathematicaはこうなっているのだろうかとか,どうしてこの部分は他の計算システムと比べて違うのか,等の疑問が晴れ理解が進むであろう.
Mathematicaの数式記述では,関数の引数は丸カッコではなく角カッコでくくるという重要な1つの規則がある.この規則は他のプログラミング言語や従来の数学表記法にはないものである.そして,丸カッコは数式中の項をまとめるためだけに使われる.角カッコと丸カッコの区別は,引数を関数に渡す役目と複数の項をまとめるという役目が明らかに違うという考えに基づいている.これまで数学表記やプログラミング言語で丸カッコが両方の役割に使われてきた理由は活版印刷の伝統維持と初期のコンピュータのキーボード配列に由来する.
2種類のカッコを区別することでいくつかの利点が生まれる.丸カッコだけの記述では が c[1 + x]なのか c*(1 + x)かはっきりしないが,角カッコを使えば曖昧さはなくなる.さらに,掛け算を表すのにアスタリスク(*)を使う必要もなくなる.つまり,数学で普通に使う 2xや a xまたは a (1 + x)の記述はそのまま Mathematicaでも使える.
本書を読み進めると,どうして Mathematicaの組込み関数はこんなに長い名前なのか,と疑問が湧くかもしれない.例えば,擬似乱数を作る関数はどうして Randでなくて Randomなのか,と不思議に思われるかもしれない.この理由は, Mathematicaの開発指針において常に念頭におかれてきた一貫性という考えにある.つまり,関数名は,数学表記法に慣用的な省略形がない限り,関数機能に対応した省略なしの英語名とする,という指針に基づいているからである.そうすることで,関数の作用さえ分かれば,関数名の見当を付けられるので覚えやすくもなる.もし,省略形を使ったとすると一般英語名をどう省略したのか正確に覚えておかなければならなくなってしまう.
組込み関数の記述にもうひとつ重要なことがある.それは,関数名と定数名は大文字で始まるということである.ユーザ定義の関数名の付け方は後述を参照してほしい.組込み関数名を大文字で始める第1の利点は,組込みオブジェクトをユーザ定義の変数や関数から区別しやすくなることがある. maxを最大値を求める操作を表すMaxの意味で使ってしまったなら,後でmaxを変数名として使おうと思っても使えなくなってしまう.また,第2の利点として, Mathematica言語で書かれたプログラムを読み返すようなときに組込み関数名が見つけやすくなる,ということもある.
|