29.3. 文字式の計算など
前の節では Mathematica で数の計算をしましたが、もちろん文字を使うこともできますし、また関数を自由に定義することもできます。この節では、もう少し数学らしい Mathematica の使い方を説明します。
文字式の計算 #
文字式を扱うのは難しくありません。数と同じように、式の中に文字を打つだけで使えます。
例えば x*x
と入力して


*
の代わりにスペースを打って x x
と入力しても、同じ結果を返してくれます。
xx
と入力すると、Mathematica は xx
という名前の変数として処理します。

Mathematica に文字式の変形をさせるときは、明示的に命令をする必要があります。まず式の展開をするには Expand
関数を使います。
たとえば Expand[(x+y)^3]
と入力して


逆に因数分解をするには Factor 関数を使います。 たとえば \(t^3-1\) を因数分解するには
Factor[t^3-1]
と入力して


次に有理式を扱ってみましょう。有理式の通分は Together
コマンドを使います。
i
は虚数単位の i
で、普通のアルファベット i
とは違う特別な文字で表されます。このi
は文字パレットで i
ボタン
I
と入力してください。



Mathematica の式の扱い方は、時と場合によって異なります。必要に応じて上記の関数を利用して、望ましい形を得るようにしましょう。
和と積 #
Mathematica では
\(\sum\)
と
\(\prod\)
を使うことができます。ためしに、基本数学アシスタントのパレット内にある
\(\sum\)
ボタンを押してみてください。するとノートブック上に
\(\sum\)
記号が現れます。

また和は有限である必要はありません。基本数学アシスタントのパレットにある \(\infty\) ボタンを押せば \(\infty\) 記号が入力できます。これを使えば無限和の計算もできます。たとえば n を 1 から \(\infty\) まで動かして \((-1)^{n-1}/ n\) の和を取ると Log[2] になります。
\(\sum\) 記号は項の和を計算しますが、 \(\prod\) 記号を使うと項の積を計算します。たとえば \((1- 1/n^2)\) を2以上の自然数 n にわたってかけあわせると 1/2 になります。
変数の定義 #
普通に数学をするのと同じように、Mathematica でも式などを文字で置くことができます。
たとえば A=x+y と入力して

を押すと、A に x+y が代入されます。

A とだけ入力して


Expand[A3] と入力すると、 \((x+y)^3\) を展開した結果が出ます。
ノートブック内で定義した変数は Mathematica が終了するまで有効です。異なるノートブックであっても変数は共通で使えるようになっているので、場合によっては別のノートブックで行った計算の影響を受けてしまうことがあります。それを防ぐためには Clear
で変数の消去をします。
たとえば Clear[A] とすると、上で定義した A の内容が消去されます。A をクリアした後に A と打ち込んで

と打っても、何も出てきません。

もちろん文字でおけるのは式だけではありません。数や行列なども文字でおくことができます。
関数の定義 #
関数の定義は F[x_] = … という形で書きます。たとえば F[x_]=
\(x^2+x+41\)
と入力して
を押すと、右辺の式で F[x] が定義されます。
定義した関数は普通の関数と同様に使うことができます。

関数の定義は再帰的に行うこともできます。


なお関数の定義には即時割り当て、遅延割り当てと呼ばれる二つの方法があります。上で用いた定義は即時割り当てと呼ばれるものです。上のように数学的な関数を定義するだけなら即時割り当てを使えば大丈夫です。遅延割り当てについては、後で必要になったときに説明します。