シンボルでない頭部を備えた式

多くの場合,等の Mathematica 式における頭部 f は単一のシンボルとしたい.それでも,頭部の使われ方によっては,それがシンボルでないこともある.重要な例を次に見てみよう.

この例では,頭部はである.このように,頭部を使い「配列的な関数」を表すこともできる.
In[1]:=
Click for copyable input
Out[1]=
どんな式でも頭部として使うことができる.ただし,丸カッコでくくられることに注意されたい.
In[2]:=
Click for copyable input
Out[2]=

すでに,「純関数」の作成例において,複雑な式を頭部として使った.Function[vars, body]をある式の頭部として与えることで,評価されるべき引数を伴った関数を指定することができる.

Function[x, x^2]を頭部として使う.式の値は引数の二乗になる.
In[3]:=
Click for copyable input
Out[3]=

Mathematica には,純関数と同じように動作する構造体がいくつかあるが,それらは,主に,数値解析等で使われる特定種の関数を表すためにある.また,すべての構造体に対していえるが,基本は,使いたい関数に関する完全な情報を備えた頭部を与える,ということにある.

Function[vars,body][args]純関数
InterpolatingFunction[data][args]数値解析において使われる近似関数(InterpolationNDSolveにより生成される)
CompiledFunction[data][args]コンパイルされた数値関数(Compileにより生成される)
LinearSolveFunction[data][vec]行列解法関数(LinearSolveにより生成される)

シンボルでない頭部を持つ式のいくつか

NDSolveは,InterpolatingFunctionオブジェクトとして与える規則リストを返してくる.
In[4]:=
Click for copyable input
Out[4]=
これは,InterpolatingFunctionオブジェクトである.
In[5]:=
Click for copyable input
Out[5]=
InterpolatingFunctionオブジェクトを頭部として使うことで,任意点における関数の値を近似させることができる.
In[6]:=
Click for copyable input
Out[6]=

複雑な式を頭部として使った重要な用途がもう1つある.それは,数学の関数や関数演算子の構築である.

例として,微分を考えてみよう.「導関数の表し方」で詳しく説明するが,のような式は導関数を表し,それはに関数演算子を適用することで求めることができる.Mathematica では,は,Derivative[1][f]と表現される.つまり,Derivative[1]は「関数演算子」としてとらえられ,それはに適用されるとき,と表される別の関数を与えることになる.

この式は,「関数演算子」Derivative[1]の「関数」への適用を表した頭部を持っている.
In[7]:=
Click for copyable input
Out[7]//FullForm=
頭部を別の頭部(この例では)で置換することができる.この操作を行うことで,を実行的にの「導関数」とすることができる.
In[8]:=
Click for copyable input
Out[8]=
New to Mathematica? Find your learning path »
Have a question? Ask support »