MATHEMATICAチュートリアル

導関数の表し方

Mathematica の導関数は標準的な数学に現れる導関数と同じように使える.ただし,通常の数学表記は細かい点が省略されており,Mathematica における導関数の表し方を理解するには,細かい点も含めて考察する必要がある.

数学表記で導関数を と書くとき,正式には, を「ダミー変数」とした を意味する.同様に,と書けば,を意味する. の記述が示唆するように,オブジェクト は「純粋な関数」とみなせ,その値はパラメータ の値が決まると計算することができる.ある関数 を微分するということを,通常 と呼ばれる新たな関数を与える演算ととらえてもよい.

関数が複数の引数を持つときは,ダッシュ()を使った簡単な記述ができない.無理に,例えば,と記述しても,それが を表しているのか,または,なのか分からずじまいになってしまう.また,これらのオブジェクトは として実際に使う関数により値が違ってくるだろう.繰り返すようだが, とはダミー変数であり,それを使う理由は単に「どの位置」の変数に対して を微分するかを指定することにある.

特殊な数学の分野でそうであるように,Mathematica でも式ではなく関数に作用するとした微分操作を想定すると便利である.必要な操作内容は,関数 を抽出し, の導関数 を返すというものである.このように変数ではなく関数を操作することを数学用語で演算子と呼ぶ.

つまり,Mathematica で得られるオブジェクトとは,微分演算子を関数に適用した結果を示している.を完全形で見ると,Derivative[1][f]となっている.Derivative[1]の部分が微分演算子に相当する.

演算子Derivative[n1, n2, ...]に与える引数は,引数と同じ「位置」の変数に対して何階の微分を行うか指定する.演算子を使い微分を表しているので,Mathematica では特別な「ダミー変数」を導入する必要はない.

の導関数を完全形で見てみる.
In[1]:=
Click for copyable input
Out[1]//FullForm=
引数としてを与える.
In[2]:=
Click for copyable input
Out[2]//FullForm=
二次の導関数を求める.
In[3]:=
Click for copyable input
Out[3]//FullForm=
関数を第2「位置」に関し微分する.
In[4]:=
Click for copyable input
Out[4]=
完全形で確認する.
In[5]:=
Click for copyable input
Out[5]//FullForm=
関数の第2位置にある変数に関し二階の導関数を求める.
In[6]:=
Click for copyable input
Out[6]//FullForm=
これは,いろいろな微分成分が入った導関数である.
In[7]:=
Click for copyable input
Out[7]//FullForm=
Derivativeでは,各位置に対して何階の微分をするかだけを指定するため,微分の順序は関係ない.
In[8]:=
Click for copyable input
Out[8]//FullForm=
もっと複雑な例を見てみよう.が2つ引数を持ち,両方とも微分変数に依存している.
In[9]:=
Click for copyable input
Out[9]=
完全形で確認する.
In[10]:=
Click for copyable input
Out[10]//FullForm=

は,基本的に他のMathematica の関数と同様に機能する.この関数は引数が何であっても評価可能だし,Mathematica の置換記号を使い引数を変えることも可能である.(ただし,微分の過程でダミー変数が特別に導入されるとこの操作は使えなくなる.)

原点において評価した関数の導関数が内部でどう表されるか見てみる.
In[11]:=
Click for copyable input
Out[11]//FullForm=
導関数には引数で微分したが入る.
In[12]:=
Click for copyable input
Out[12]=
得られた導関数に置換操作を行うことで の点における導関数の値を求める.
In[13]:=
Click for copyable input
Out[13]=

のような関数の定義をもとにの値を決定するには,多少面倒な処理が必要になる.

関数を定義する.
In[14]:=
Click for copyable input
の導関数を求めると,まず,が評価され,次に,評価の結果得られる式が微分される.
In[15]:=
Click for copyable input
Out[15]=
関数を引数に適用することでも同じ結果が得られる.
In[16]:=
Click for copyable input
Out[16]=
関数そのものだとどうなるか見てみる.
In[17]:=
Click for copyable input
Out[17]=

導関数は,関数の持つ構造により完全に決定される.のような関数の定義は,そのままではのような式に適用できない.これは,完全形ではDerivative[1][f][x]と表されるためにのパターンにマッチできないからである.それでも,多くの場合,を単独の関数として扱い,引数を付けないでおいた方が便利である.

Mathematica で関数の微分をすると,を表す純関数の明示的な定義を検索しようと試みる.例えば,Derivative[1][f]の式を与えると,これがD[f[#], #]&という明示的な形にまず変換され,続いて,可能であれば導関数が評価される.明示的な形ができれば,直ちにのような関数定義が使われ導関数が構成される.この微分操作がうまくいけば,関数定義をもとにした導関数が返ってくる.一方,微分演算がうまくいかないと,もとののままで返される.

Tanの導関数が純粋な関数の形で返ってくる.
In[18]:=
Click for copyable input
Out[18]=
引数に先の純粋な関数を適用してみる.
In[19]:=
Click for copyable input
Out[19]=
New to Mathematica? Find your learning path »
Have a question? Ask support »