はやわかり Mathematica 第3版

著者榊原 進
発行所共立出版
刊行1995/12/10(初版第1刷)、2010/03/30(第3版1刷)、刷:2011/09/15(第3版3刷)
入手九大生協で購入
読了2021/09/16
参考 web pages出版社ページ 正誤表やノートブックファイルなどが置いてある。

2020 年のコロナ禍在宅勤務の機会に Mathematica Online を使ってみようと思い、以前に買っていたこの本で Mathematica を 勉強した。Mathematica は 10 年以上前に使っていたのだが、その後しばらく使わなくなり、だいぶん忘れていたので、 再学習である。その後また中断して、2021 年夏に勉強再開して読了。

Mathematica は、けっこうな高価なのが難であるが、便利である。 授業の材料をちょっと作るのに良い。最近でも年々機能が追加されているようで、全貌はなかなかつかめない。

本書は豊富な内容を非常にコンパクトにまとめてあって便利である。版を重ねているだけのことはある。 コンパクトなため、これだけだと少しわからないところもあったりするのだが、Mathematica はヘルプが充実しているので、 そちらで補えば良い。ただ、ヘルプでは補いづらい基礎的な事項の説明はもう少しあったほうが良かったかとも思う。 たとえば、遅延代入とかパターンとか Evaluate とか Mathematica 独特の概念の説明はヘルプだけだとわかりづらい。

本書は基本的に1行コマンドですべて済ませるように書かれている。しかし、 ちょっと複雑なことをしようとするときには、これだけでは足りなくなる。 そのような、プログラミングで複雑なことをするような使い方はほとんど書かれていない。 「はやわかり」と銘打っているので、もちろん意図的にそうしたのだろうし、実際 Mathematica のちょっとした利用では 1行、あるいは多くても3行くらいで用が済んでしまうことが多いのではあるが。

第3版ではすでに古くなっていること

この第3版は Mathematica version 7 に対応しているのだが、現在の Mathematica は version 12 になっているので、 仕様が変わっている部分がある。

練習問題 問1.10 (p.21)

解答では

Needs["PlotLegends`"]
Plot[{Sin[x], Cos[x]}, {x, -2 Pi, 2 Pi}, PlotLegend -> {"Sine", "Cosine"}]
とすることになっているが、パッケージ PlotLedends はすでに obsolete になっていて、今は単に
Plot[{Sin[x], Cos[x]}, {x, -2 Pi, 2 Pi}, PlotLegends -> {"Sine", "Cosine"}]
とすれば良いようだ。

6.4 (p.67)

Plot が吐き出すオブジェクトの仕様が変わっているらしく、書かれている通りやってもうまくいかない。 どう修正したらよいのかもよくわからない。

6.10 (p.75)

正誤表で既に修正してあるが、GraphicsArray は古く、代わりに GraphicsGrid を使う。

10.10 (p.129)

ListPlot で PlotJoined オプションが用いられているが、version 6 以降では Joined オプションに名前が変わっている。

正誤表 (2013/03) ではカバーできていないミスプリ

訂正箇所
Ch.5, p.59, l.2∂u(x,t)/∂x|_{t=0}=∂u(x,t)/∂t|_{t=0}=
Ch.5, p.62, 問5.95.7 節の結果 pos[t] をpos[t] は存在しないので、この問題は無効
Ch.6, p.85, 問6.1Rectangle[{0, 0}, {1, 1}]]Rectangle[{0, 0}, {1, 1}]
Ch.6, p.85, 問6.4In[8] から In[10]In[11] から In[13]
Ch.6, p.85, 問6.6In[20]何のつもりだったのかはっきりはしないが、おそらく In[21] か In[22]
Ch.6, p.85, 問6.7Dashing[{0.05}]Dashing[0.05] (元のままでもかまわないが {} は無くて良い)
Ch.7, p.94, 問7.5PalyPlay
Ch.9, p.118, 問9.8 Drop[r1, {Random[Integer, {0, Length[r1]}]}] Drop[r1, {Random[Integer, {1, Length[r1]}]}]
Ch.10, p.134, ll.6-7 p1= ..., p3= ... p3= ..., p1= ...
Ch.10, pp.134-135 Plot のオプションに Exclusions -> None を付けておかないと縦線が引かれない