Chapter 1
Mathematica 入門
まずはとにかく Mathematica を触って，ノートブックを作ってみよう．
この章には，入出力の基本ルールやキーボード・ショートカット，フォントサイズの設定などがまとめられている．Mathematica の簡易的な説明書だと思って，エラーが起きたときなどに参照してほしい．プログラムの仕組みや動作を少しでも理解しておくと，あとでトラブルが起きたとき対処しやすいものである．

1.1

Mathematica とはMathematica はウルフラム・リサーチ (Wolfram Research) 社の商標で，Windows,Mac OS X, Linux の各 OS 上で動く数式処理ソフトウェアの名称である．文字式の計算，数値計算，グラフの描画など純粋および応用数学で要求される基本的な処理に幅広く対応している．

Mathematica は 88 年に最初のバージョンがリリースされて以来順調にバージョンアップを重ね，2012 年 11 月にはバージョン 9 が発表された．筆者はバージョン 2 から Mathematica に触れているが，当時の「あったらいいな」という機能は現在までにことごとく実装されていて，すでに「来るところまで来た」という感すらある．
一方でバージョン 2 以来のインターフェイスはほとんど変らず維持されているので，新しく覚えるべきことも少なく使い続けてこれたように思う．

1.2

Mathematica のインターフェイス

本書では読者の手元に Mathematica がインストールされたパソコンがあることを仮定している．さっそくアイコンをクリックして起動していただこう．

21

Mathematica 入門

アプリケーション（プログラム）としての Mathematica は，大雑把にいって「フロントエンド」と「カーネル」のふたつの部分に分かれている．Mathematica をレストランにたとえると，これらはホール係の「ウェイター」と厨房内の「料理人」にそれぞれ対応している．
まず Mathematica を起動して現れるのは「フロントエンド」である．普通の Win-dows や Mac のアプリケーションのように，画面上段にメニューバーが表示されるだ
ろう．*1 使っている環境によっては，同時に図 1.1 のようなウィンドウ（「ウェルカムスクリーン」とよばれる）が現れるかもしれない．

図 1.1

Mathematica バージョン 9 のウェルカムスクリーン．「ファイルの新規作成」や「最近使ったファイル」，「ドキュメントセンター」などへのリンクがあり，意外と便利．

メニューバーから「ファイル」→「新規作成」→「ノートブック」（もしくはウェルカムスクリーンの「新規作成」→「ノートブック」）を選ぶと，「名称未定義-1」という名前で真っ白なウィンドウが現れる．そこにエディタやワープロソフトのような気分
で，キーボードで入力式をタイプできる．たとえばExpand[(x + y)^7]のように入力してみよう．これは (x + y)7 を展開せよ，という命令である．
（途中から x と y の文字が青く表示されるだろう．これには重要な意味あるのであとで解説する．）入力がすんだら，その行にまだカーソルがある状態で Shift を押しながら*1 Mathematica が日本語環境でない場合は 1.12 節参照．

1.3

Mathematica のファイル形式

Enter*2 を押すと，「カーネル」とよばれる Mathematica の内部プログラムが呼び出3

される．
「カーネル」は入力された式を解釈し，計算した上でデータを「フロントエンド」に返す．そして「フロントエンド」がIn[1]:=

Expand[(x + y)^7]

Out[1]=

x7 + 7 x6 y + 21 x5 y2 + 35 x4 y3 + 35 x3 y4 + 21 x2 y5 + 7 x y6 + y7のような画面を出力する．この小さな「In[1]:=」および「Out[1]=」の部分はカーネルが処理した何番目の入出力かを表すラベルである．レストラン「Mathematica」にて，われわれはウェイターの「フロントエンド」に「In[1]:=」のように注文した．
「フロントエンド」は注文を料理人の「カーネル」に伝え，でき上がった料理「Out[1]=」がふたたびウェイターの手によって画面というテーブルにまで運ばれたのである．
このように，外部インターフェイスと計算用の内部プログラムが別々になっている，ということは意識しておこう．（1.8 節「評価の放棄」を参照．）

1.3

Mathematica のファイル形式

ここでファイル形式について説明を加えておこう．Mathematica は「Mathematicaノートブック」（拡張子は .nb，普通は単に「ノートブック」とよばれる）という独自のファイル形式をもっている．*3 この「ノートブック」は，いわばユーザーと Mathematica とのやりとり（入出力）を記録したノートであり，もちろん印刷もできる．
Mathematica には数式を含んだ文書を作成する数式エディタのような機能もついているので，その気になれば「ノートブック」形式でそのまま出版に使えるぐらい立派な文書を作成することもできる．
「ノートブック」を編集したり再計算させるには Mathematica が必要だが，閲覧や記録だけが目的であれば PDF や HTML，TEX といったごく一般的なファイル形式で保存することもできる．計算結果を人に見せたい場合はこちらのほうが便利である．

1.4

１セッションやってみよう

Mathematica が起動してから終了するまでをひとつのセッションとよぶ．さっそ
く１セッションやって，ノートブックを作成してみよう．

*2 Mac では

shift を押しながら return ．

*3 たとえば普及度の高い文書作成ソフトである Microsoft Word には「Microsoft Word 文書」（拡張子は .doc や .docx），というアプリケーション固有のファイル形式があるが，これと似たような感じである．

41

Mathematica 入門

さきほどの Expand[(x + y)^7] の続きでよいので，このあとの [2] から [16] の右側にある式を入力し評価していこう．*4 ここで評価 (evaluate) するというは，カーネルに入力式を解釈させ計算させることを意味する Mathematica 用語である．入力
式の詳しい意味はあとで学ぶので，ここでは入力・評価・出力（レストランで言えば注文・調理・給仕といった一連の流れ）を対話的に繰り返す感覚を味わってもらえればそれでよい．「In[k]:=」（k は数字）の右につづくタイプライター体部分を入力し評価して，「Out[k]=」の右側のような出力が得られれば成功である．*5
いま，ノートブック内のカーソルを矢印キーで上下に動かすと，ノートブックを上下に分割する長い横線が表示される行があるだろう．これはその行に次の新しい入力式を書き込める状態にあることを示している．入力式を評価するには，入力した行にカーソルを置いた状態で Shift + Enter （ Shift を押しながら Enter ，Mac はshift + return ）を押せばよい．

入 力 式 の 文 字 は す べ て 半 角 英 数 字 で タ イ プ し ，大 文 字 と 小 文 字 ，括 弧 類( ), { }, [ ] はちゃんと区別しよう．四則演算には加減乗除にそれぞれ + - * /を用い，べき乗には ^ を用いる．（[10] の == はイコールを 2 個並べたもの，[13] の x_の _ はアンダースコアである）また，入力していると文字が青や水色で表示されることがあるが，その意味については 1.7 節で説明する．*6
[2]

[3]

[4]

[5]

[6]

和と差：

積と商（4×(5+6)の計算）：
7べき乗（310 ）：階乗：

π を 20 桁求める：

In[2]:=(1 + 2) - 3

Out[2]=

0In[3]:=

4*(5 + 6)/7

Out[3]=

44
7

In[4]:=

3^10

Out[4]=

59 049In[5]:=

25!

Out[5]=

15 511 210 043 330 985 984 000 000

In[6]:=

N[Pi, 20]

Out[6]=

3.1415926535897932385*4 [2][3]…とつづく番号は入力式をあとで参照するための「段落番号」である．
*5 ただし，使っているパソコンの画面のサイズなどによって，表示のされ方は若干変化する．
*6 さらにバージョン 9 では，入力時に単語の補完機能が働く．これについては 1.9 節を参照．また，出力のあとに「サジェスチョン・バー」も表示され，次の操作が提案される．（本書ではこれらの機能を使用しない．）

1.4[7][8][9]

１セッションやってみよう

文字 a に 2 を代入：

a を用いた計算：

x4 − 1 を因数分解：[10] 方程式を解く：[11] sin x を x で微分：

5In[7]:=

a = 2

Out[7]=

2

In[8]:=

3^a + 4^aOut[8]=

25

In[9]:=

Factor[x^4 - 1]

Out[9]=

H-1 + xL H1 + xL I1 + x2M

In[10]:=

Solve[x^2 - x - 2 == 0, x]Out[10]=88x ® -1<, 8x ® 2<<

In[11]:=

D[Sin[x], x]Out[11]=

Cos@xDIn[12]:=

Integrate[x^2, {x, 0, 1}]∫ 1x2 dx の値：[12] 定積分
0Out[12]=[13] f (x) = sin(ex ) とおく：

[14] 関数 f (0.5) の値：[15] f (x) の グラフ：

13

In[13]:=

f[x_] = Sin[Exp[x]]Out[13]=

Sin@ãxD

In[14]:=

f[0.5]

Out[14]=

0.996965

In[15]:=

Plot[f[x], {x, -4, 4}]
1.0

0.5

Out[15]=
-42-2

4-0.5

√
[16] sinx2 + y 2 のグラフ：-1.0

In[16]:=

Plot3D[Sin[Sqrt[x^2 + y^2]],{x, -10, 10}, {y, -10, 10}]

61

Mathematica 入門

Out[16]=

ここまで終わったら，メニューから「ファイル」→「保存」として，適当なファイル名（たとえば「chapter01.nb」など）をつけて保存しよう．Mathematica を終了させたら，このセッションは終了である．
あとでもう一度このノートブック「chapter01.nb」を開きたければ，Mathematicaを起動してメニューから「ファイル」→「開く」として「chapter01.nb」を選んでもよいし，「ファイル」メニュー内にあるファイル履歴から選んでもよいだろう．もちろん，この「chapter01.nb」がおかれているフォルダでファイルを直接選択して開いても（たとえばマウスでアイコンをダブルクリック），自動的に Mathematica が起動して上と同じ状態になる．
ただし，こうして開いたファイルはあくまで「過去のセッションの記録」であることに注意しよう（1.6 節の脚注も参照）．

1.5

入力時の約束と注意点

本書で Mathematica を学ぶにあたって，入力する際に注意すべき事項をまとめておく．いま覚える必要はないが，以後入力を進めていて「あれ？」と思うことがあった
ら，ここに立ち返ってみるとよい．

(1) 入力式に使う文字：入力式には半角英数字のみを用いる．全角ひらがなや漢字も使えるが混乱のもとになる．また，大文字・小文字は区別される．

(2) 括弧の区別：( )，{ }，[ ] はそれぞれ区別される．とくに計算の優先順位を表
1
すときは必ず丸括弧 ( ) を用いる．たとえば， 2×(3+4)
は 1/{2 * (3 + 4)}

ではなく，1/(2 * (3 + 4)) とする. { } と [ ] は別の決まった目的で使われる．

(3) 掛け算と空白：たとえば x, y, z の掛け算は，x*y*z としても，x y z （間に半角空白 ␣ をはさんで x␣y␣z）としてもよい．空白なしの xyz はひとつの文字（変数）と認識されるので注意．*7*7 複数の半角空白 ␣ をはさみ x␣␣y␣␣␣␣z としたときは，ふたつ目以降の半角空白は無視される．また括弧を用いた x(yz) はふたつの変数 x と yz の積とみなされる．ちなみに改行は「何らかの括弧値のクリア

1.6

7(4) 不要な入出力の削除：入出力を消したいときは，ノートブック右側に並んでい]るブラケット（）の対応する部分（セルとよばれる．1.11 節参照）をマウ
スで選択し， Delete .
(5) 組込み定数と関数：Mathematica 内ですでに定義されている定数（Pi, E な
ど．組込み定数とよばれる）や関数（Sin, Exp など．組込み関数とよばれる）は必ず大文字で始まる．逆に，さきほどの [7] や [13] のように自分で定数や関数*8 ただし，数字や記号で始を定義するときは小文字から始めて区別しておこう．

まる定数や関数は定義できない．

(6) 直前の入力の参照方法：直前の出力は % で参照できるが，混乱のもとになるので使わないほうがよい．（本書では % を一切使っていない．）(7) 入力式中のコメント：入力式の中の (* と *) で囲んだ部分はコメントとして扱われ，無視される．（本書では日本語の混入をさけるために，一切使わなかった．）(8) 出力の抑制：入力式の最後にセミコロン ; をつけて評価すると，出力が省略され表示されない．こちらは本書でも頻繁に用いる．*9(9) 入力式の修正：入力式は評価して出力が得られたあとでも修正を加えることができる．修正したら，その式のあるセル内にカーソルがおかれた状態で Shift+ Enter すればよい．（すなわち，ちょっとした修正のためにわざわざ最初から入力しなおさなくてよい．1.9 節の Ctrl + L の解説部分も参照せよ．
）

1.6

値のクリア

Mathematica の出力にエラーが出たら，単に入力式のタイプミスであることがほとんどである．しかしまれに，入力式は正しいのに，エラーメッセージやおかしな出力が出ることもある．そのときはまず，以前に定数や関数として使った文字（列）を，うっかり別の意味で再利用してないか？ということを疑ってほしい．経験上，タイプミス以外のエラーはだいたいこのような不注意に起因している．
内であれば」無視される．
*8 自分以外の人にノートブックを見せる可能性もあるし，数ヶ月先の自分も他人のようなものである．

彼らを混乱させないよう配慮しよう．
*9 入力内容によっては，はじめから何も出力されないことがある．本書ではそのような場合でも，「出力がない」ことを示唆する目的でセミコロンを入力式に書き加えている．

81

Mathematica 入門

Mathematica は一度定義した定数や関数を，セッション中ずっと覚えているのである．たとえばさきほどのセッションの [7] のように， a = 2 と入力し評価したら，以後 a の値は「上書きもしくはクリアしない限り」セッション終了まで 2 であり続ける．[13] では関数 f[x] を定義したが，このような「自作関数」についても同じことがいえる（5 章 5.1 節）．複数のノートブックを同時に開いた場合も，これらの定義はカーネル内部で共有されているので注意しよう．（「料理人」はひとりしかいないので*10ある．）「上書きもしくはクリア」は次のように行う：「上書き」は簡単で，[7] の a = 2 の場合，そのあと a = 3 と入力し評価すれば a の値は Mathematica 内で 3 として再定義される．関数も同様である．「クリア」は，Mathematica が文字に割り当てている定数や関数を消去することである．たとえば定数 a の定義をクリアしたければ，組込み関数 Clear もしくはピリオド（.）を用いてClear[a] もしくはa = .と入力する．同時に関数 f もクリアしたければ，Clear[a, f]

もしくはa = .; f = .とすればよい．

1.7

シンタックス・カラーリング

ともあれ，定数に a や b，関数に f や g と，ついついお決まりの文字を使ってしまいがちである．使うまえに念のため Clear するのが一番だが，Mathematica もある程度はサポートしてくれる．

Mathematica にはシンタックス・カラーリングという機能があって，入力式中の文字列を使用状況に合わせて色づけして表示するようになっている．すでに定数や関数として使われていれば黒で，そうでなければ青で，といった具合である．たとえばさきほどのセッションの [9] では，x の値が具体的に定義されていないのでFactor[(x^4 - 1)] のように勝手に色づけされるはずである．
また，[8] では [7] で a = 2 と定義したため文字 a は黒で表示されているはずであ*10

ただし，これらの定義は Mathematica を終了した時点でカーネルから失われる．たとえば M
athematica を再起動し新しくセッションを開始したときにはこれらの定義は残っていない．再起
動した Mathematica で改めて a や f[x] を使いたかったら，[7] と [13] の入力式をもう一度評価（ Shift + Enter ）する必要がある．

1.8

評価の放棄

9る．ここで Clear[a] とすれば，[7][8] の入力式中の a は一斉に「未使用」の状態になり，青に変化するだろう．このように，文字列の使用状況が色で判定できるわけである．
ほかにも，[10] や [11] はそれぞれ Solve[x^2 - x - 2 == 0, x] ，D[Sin[x], x]のように表示される．この水色は文字列がある関数の中でパラメーター的に（変数っぽく）使われていることを意味する．また，[13] は f[x_] = Sin[Exp[x]] のように表示されるが，草色の x_ は x が変数として区別されるべきものであることを示唆している．
本書では読みやすさを優先して入力式に色をつけずに表記してあるが，実際に入力するときには Mathematica がどのように文字を色づけするか注意しておくとよいだ
ろう．式の意味を理解する上でも必ず参考になるはずである．

1.8

評価の放棄

Mathematica を使っていると，なかなか評価が終わらず出力が表示されないままだったり，パソコンが固まってしまったようになることも多い．意図的に多量の計算をさせているのでなければ，何らかの入力ミスがある可能性が高いので，途中で計算をやめさせるべきである．その場合，Mathematica の「カーネル」に評価を放棄(abort) させる命令を送る必要がある．場合によっては，「カーネル」だけを強制終了させればよい．そうすれば「フロントエンド」は維持されるので，これまでに入力した式が失われることはない．
具体的には，メニューから「評価」→「評価を放棄」もしくは「カーネルを終了」を選ぶとよいが，手っ取り早く進行中の評価を放棄させたいときはキーボード・ショー
トカット Alt + . （ピリオド）（Mac なら command + . ）が便利である．
「カーネル」を終了した場合，そのあと入力式をどれか評価すれば，「カーネル」が再び起動する．ただし，自分で定義した定数や関数はすべてクリアされているので注
意しよう．

1.9

入力時に役立つキー操作・機能

ここで，覚えておくと便利なキー操作をまとめておこう．

Windows 版のキーボード・ショートカット：

101Mathematica 入門

やり直し：

Ctrl + Z

式の評価：

コピー：

Ctrl + C

評価の放棄：

Alt + .

貼り付け：

Ctrl + V

前の入力を貼り付け ：Ctrl + L

切り取り：

Ctrl + X

単語を補完：

Ctrl + K

ファイル保存：

Ctrl + Sの入力：

Ctrl + 2

根号√

Shift + Enter

Mac 版のキーボード・ショートカット：
やり直し：

command + Z

式の評価：

shift + return

コピー：

command + C

評価の放棄：

command + .

貼り付け：command + V

前の入力を貼り付け ：command + L

切り取り：command + X

単語を補完：

command + K

ファイル保存：command + S

根号

√の入力：

control + 2

これらのショートカットを上手に使えば，無駄な入力作業とミスを減らすことができる．*11 マウスを使っても，メニューの「編集」や「挿入」から同様のコマンドを実行できるので，どんどん活用しよう．
少し補足しておくと，「単語の補完」とは，組込み関数（長い名前が多い）などの入力途中に Ctrl + K を押すと，候補となる単語のリストを表示してくれる機能である．上下矢印で選び， Enter で決定する．ちなみにバージョン 9 では単語の補完機能が常時機能しているので，わざわざ Ctrl + K を押す機会はなくなった．
「前の入力を貼り付け」も便利なショートカットである．ノートブックの適当な場
所で Ctrl + L を押すと，直前の入力式がまるまるコピーされ貼り付けられる．1.5
節 (9) でも述べたように入力式はあとから修正できるのだが，この場合もとの入力内容は失われてしまう．定数を少し変えて結果を比較したい，といった場合には，このショートカットで入力式を複製してしまうのがよい．
その他の入力補助機能. メニューから「パレット」→「基本数学アシスタント」を用いれば，数式を視覚的に配置しながら式を入力することができる．複雑な式（大きな行列など）を入力するときには役に立つだろう．
また，バージョン 9 からは「サジェスチョン・バー」という機能が追加され，評価後に出力の表示が済むと次の入力内容を予測・提案してくれる．
これらはあくまで補助的な機能なので，本書では扱わない．

*11 ただし Mac の根号の入力

control + 2 は，うまく動作しないようである．今後のアップデートで改善される可能性もある．

1.10

1.10

ドキュメントセンターを使おう

11

ドキュメントセンターを使おう

Mathematica のドキュメントセンターはいわゆるヘルプドキュメントが集約されたものである．メニューから「ヘルプ」→ 「ドキュメントセンター」とたどればよい（図 1.2）．

図 1.2

Mathematica バージョン 9 のドキュメントセンター．収録されている情報量は膨大で，ネット感覚で閲覧・検索できる．

たとえば関数のグラフを描画する組込み関数 Plot の使い方を調べたいとき，ネッ
ト検索と同じ気分で検索バーに “Plot” と入力すればその詳細が表示される．*12 オプション（4 章 4.4 節）の詳細や具体例が豊富に提供されているので，それ自体が良質なMathematica の学習教材といえる．
*12 じつはネット上にも Mathematica のドキュメントセンターが公開されている：

http://reference.wolfram.com/

12

1

Mathematica 入門

とにかく Mathematica には 20 年以上の歴史があるから，われわれが「ほしい」と思う機能や関数はだいたい実現されていると考えてよい．関数やプログラムをあれこれ自作するのも練習になるので悪いことではないが，利用主義に徹してドキュメントセンターでひと検索かけるのもスマートな選択だろう．

1.11

セルと章見出し書籍などの文書が章・節・小節・段落といった階層構造をもつように，Mathematicaのノートブックにも同様の階層構造を作ることができる．階層の各レベルはセル(cell) とよばれ，ノートブック右端に並んだブラケット（]）たちで表現される．

一番手ごろな例はドキュメントセンターで，この巨大な文書はすべてノートブック形式で書かれている．右端に着目しながら文書の折りたたまれた部分を展開していくと，隠れていたセルの階層構造がよくわかるだろう．
ここまで本格的な文書でなくても，多少まとまった量の計算をさせる場合，タイトルやコメントなどをつけたくなるものである．*13 タイトル・小見出しなどのセルを作るには，とりあえず以下のショートカットが便利である（メニューで「書式」→「スタイル」から選択することもできる）：

タイトル (title，大きな表題)：
節 (section，横線が入る)：
小見出し (subsection)：

1.12

WindowsMac

Alt + 1
Alt + 4
Alt + 5command + 1
command + 4
command + 5

Mathematica の環境設定

学校などで提供されているコンピューター環境だと，Mathematica のデフォルト言語が英語になっている場合がある．また，ノートブックのフォント（文字）はデフォ
ルトで 12 ポイントだが，これではちょっと小さすぎる気がする．これらを修正する
ためのセッティング法を紹介しよう．
デフォルト言語を英語から日本語にする： メニューから「Edit」→「Preferences...」→ 「Interface」*14 と進み，「Language for menus and dialog boxes」にあるドロップ*13 1 ヶ月もしたら，自分が書いた入力式の意味がすっかりわからなくなってしまう．未来の自分のために，ぜひそうすべきだと思う．
*14 Mac だと「Mathematica」→「Preferences...」→ 「Interface」

1.13

参考文献

13

メニューから「Japanese」を選ぶ．さらに Mathematica を一度終了し，再起動する．
ノートブックのフォント（文字）サイズを大きくする： メニューから「編集」→「環境*15 → 「詳細」→ 「オプションインスペクタを開く」→ 「書式設定」→ 「フォ設定...」ント設定」→ 「FontSize（サイズ）」とすすみ，これをデフォルトの 12 から適宜増やす．「適用」ボタンを押すとフォントサイズが大きくなる．
その他，「環境設定...」のウィンドウでは起動時のウェルカムスクリーンの表示・非表示などが設定できる．またバージョン 9 では単語の自動補完，サジェスチョン・バーのオン・オフもここで設定できる．

1.13

参考文献

本書を越えた知識が必要になった場合にそなえて，辞書的に使える文献をいくつか挙げておこう．*16(1) 榊原進, 「はやわかり Mathematica（第 3 版）」，共立出版(2) 日本 Mathematica ユーザー会, 「入門 Mathematica」，東京電機大学出版局(3) S.Mangano，「Mathematica クックブック」，オライリージャパン(1) はよくまとまっていて，初心者から中級者までハンドブック的に使える．(2) は中級者向けハンドブックで，人によっては後半の応用編や付録が役に立つかもしれない．

(3) は上級者むけで，プログラミング技法がまとめられている．(1)(2) はバージョン7 に対応し，(3) はバージョン 8 に対応している．

*15 Mac だと「Mathematica」→「環境設定...」*16 「辞書的に」という意味では，Mathematica 自身のドキュメントセンター（常に最新であり，チュートリアルも充実している）に勝る参考文献はないかもしれない．