|
2.2.1 式としての関数名
f[x]等の式において,「関数の名前」であるf 自体も式であり,他の式と同様に扱うことができる.
変換規則を使い関数の名前を置換することができる.
In[1]:= f[x] + f[1 - x] /. f -> g
Out[1]= 
定義済みの割当て規則が関数名に対して適用される.
In[2]:= p1 = p2; p1[x, y]
Out[2]= 
関数名を引数とする関数を定義する.
In[3]:= pf[f_, x_] := f[x] + f[1 - x]
適用させるための関数名としてLogを与える.
In[4]:= pf[Log, q]
Out[4]= 
このように,Mathematicaでは,関数名は他の式と同様に扱うことができる.この機能は,Mathematica言語の持つシンボル操作機能からくる大切な結果である.このことによって,これから示す各種の関数操作が可能になっている.
Logや Integrate等の組込み関数は,普通,数や代数式に代表されるデータに対して使われる.これに対して,関数的な操作をもたらすMathematica関数は,普通のデータだけでなく関数自体にも作用させることができる.このため,例えば,関数操作の関数InverseFunctionは,関数名を引数として取り,その関数の逆関数を表すことができる.
InverseFunctionは関数操作を行う.つまり,Mathematica関数を引数としてとり,その関数の逆を表す別の関数を返す.
In[5]:= InverseFunction[ArcSin]
Out[5]= 
InverseFunctionの返す結果は,データに作用させることができる関数である.
In[6]:= %[x]
Out[6]= 
純粋にシンボル的な演算子としてInverseFunctionを使うこともできる.
In[7]:= InverseFunction[f] [x]
Out[7]= 
Mathematicaには関数的操作のための演算子や関数が数多くある.そのいくつかは数学的操作を行うものだが,他は手続きやアルゴリズムを表すためにある.
読者がシンボル的処理の言語に詳しくなければ,以下の節で説明される多くの関数操作が何をするものか分からないかもしれない.関数操作は,最初理解しづらいかもしれないが,説明についてきてほしい.必ず有意義な情報を得ることができる. 関数操作は,概念上,そして実践上で,Mathematicaを最も効果的に使うための1つの方法を提供してくれる.
|