Functional Operators - Maple Programming Help

Home : Support : Online Help : Programming : Procedures and Functions : operators/functional

Functional Operators

Description

 • A functional operator in Maple is a special form of a procedure. Functional operators are written using arrow notation.

$\mathrm{vars}\to \mathrm{result}$

 Here, vars is a sequence of variable names (or a single variable) and result is the result of the procedure acting on vars.
 • For example, the following

$x\to {x}^{2}$

 represents the function that squares its argument.
 • Multivariate and vector functions are also allowed. You must put parentheses around vars or result whenever they are expression sequences. For example, the following functions have the correct syntax.

$\left(x,y\right)\to {x}^{2}+{y}^{2}$

$x\to \left(2x,3{x}^{4}\right)$

$\left(x,y,z\right)\to \left(xy,yz\right)$

 • You can also create a functional operator by using the unapply command.  (See unapply.)
 • A functional operator of the form:

$\mathrm{vars}\to \mathrm{result}$

 is semantically equivalent to:

 proc(vars) option operator, arrow; result end

 • The identity operator is expressed as $x\to x$ for any variable name x.
 • Constant operators do not simplify to numbers. For example, $x\to 1$ does not simplify to $1$.
 • Expressions such as $x\to f\left(x\right)$ do not simplify to $f$. This is invalid if $f$ can also take fewer or greater than one argument.
 • Note that optional and keyword parameters (see the paramprocessing help page for more information on these) cannot be used in functional operators.

Examples

 > $f≔x→3x+5$
 ${f}{≔}{x}{→}{3}{}{x}{+}{5}$ (1)
 > $f\left(2\right)$
 ${11}$ (2)
 > $g≔\left(x,y\right)→\mathrm{sin}\left(x\right)\mathrm{cos}\left(y\right)+xy$
 ${g}{≔}\left({x}{,}{y}\right){→}{\mathrm{sin}}{}\left({x}\right){}{\mathrm{cos}}{}\left({y}\right){+}{x}{}{y}$ (3)
 > $g\left(\frac{\mathrm{π}}{2},\mathrm{π}\right)$
 ${-}{1}{+}\frac{{1}}{{2}}{}{{\mathrm{π}}}^{{2}}$ (4)
 > $h≔x→\left(2x,{x}^{3}\right)$
 ${h}{≔}{x}{→}\left({2}{}{x}{,}{{x}}^{{3}}\right)$ (5)
 > $h\left(3\right)$
 ${6}{,}{27}$ (6)