|
2.2.9 発展:演算子の操作
f[x]のような式は,演算子 f を式 xに適用させることで形成されるものと考えることができる.また, f[g[x]]のような式は,2つの演算子 f, gの組合せの結果を xに適用させたものと考えることができる.

関数操作
これは,関数 f, g, hを組み合せた複合関数を表す.
In[1]:= Composition[f, g, h]
Out[1]= 
複合関数をシンボル的に操作させることも可能である.
In[2]:= InverseFunction[Composition[%, q]]
Out[2]= 
特定の引数を与えると,複合関数の具体的な値が計算される.
In[3]:= %[x]
Out[3]= 
Mathematicaで2つの式の和を求めるには x + yと入力すればよい.それでは,演算子の和はどうしたら求めることができるだろう.
これは,演算子 f, gの和を含んだ式と考えることができる.
In[4]:= (f + g)[x]
Out[4]= 
Throughを使うことで,式の形をより明示的な形に変換することができる.
In[5]:= Through[%, Plus]
Out[5]= 
この式は,数学の演算子 に相当する.
In[6]:= Identity + (D[#, x]&)
Out[6]= 
演算子の持つ複数の演算成分は,自動的には式に適用されない.
In[7]:= % [x^2]
Out[7]= 
Throughを使えばそれが可能になる.
In[8]:= Through[%, Plus]
Out[8]= 

演算子の操作
これは,複雑な式を頭部として持つ.
In[9]:= t = ((1 + a)(1 + b))[x]
Out[9]= 
Expand等の関数は,自動的に式の頭部まで作用することはない.
In[10]:= Expand[%]
Out[10]= 
オプション Headsを Trueに設定すると, MapAllは頭部にも作用するようになる.
In[11]:= MapAll[Expand, t, Heads->True]
Out[11]= 
置換演算子 /.は,そのままでも式の頭部に作用する.
In[12]:= t /. a->1
Out[12]= 
Operateを使うことで,特別に任意関数を式の頭部に作用させることができる.
In[13]:= Operate[p, t]
Out[13]= 
|