|
2.2.9 Advanced Topic: Working with Operators
You can think of an expression like f[x] as being formed by applying an operator f to the expression x. You can think of an expression like f[g[x]] as the result of composing the operators f and g, and applying the result to x.

Some functional operations.
This represents the composition of the functions f, g and h.
In[1]:= Composition[f, g, h]
Out[1]= 
You can manipulate compositions of functions symbolically.
In[2]:= InverseFunction[Composition[%, q]]
Out[2]= 
The composition is evaluated explicitly when you supply a specific argument.
In[3]:= %[x]
Out[3]= 
You can get the sum of two expressions in Mathematica just by typing x + y. Sometimes it is also worthwhile to consider performing operations like addition on operators.
You can think of this as containing a sum of two operators f and g.
In[4]:= (f + g)[x]
Out[4]= 
Using Through, you can convert the expression to a more explicit form.
In[5]:= Through[%, Plus]
Out[5]= 
This corresponds to the mathematical operator .
In[6]:= Identity + (D[#, x]&)
Out[6]= 
Mathematica does not automatically apply the separate pieces of the operator to an expression.
In[7]:= % [x^2]
Out[7]= 
You can use Through to apply the operator.
In[8]:= Through[%, Plus]
Out[8]= 

Operations for working with operators.
This has a complicated expression as a head.
In[9]:= t = ((1 + a)(1 + b))[x]
Out[9]= 
Functions like Expand do not automatically go inside heads of expressions.
In[10]:= Expand[%]
Out[10]= 
With the Heads option set to True, MapAll goes inside heads.
In[11]:= MapAll[Expand, t, Heads->True]
Out[11]= 
The replacement operator /. does go inside heads of expressions.
In[12]:= t /. a->1
Out[12]= 
You can use Operate to apply a function specifically to the head of an expression.
In[13]:= Operate[p, t]
Out[13]= 
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT. SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION. |