Define a Function - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Functional Operators

 

Description

Examples

Description

• 

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

varsresult

  

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

xx2

  

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.

x,yx2+y2

x2x,3x4

x,y,zxy,yz

• 

You can also create a functional operator by using the unapply command.  (See unapply.)

• 

A functional operator of the form:

varsresult

  

is semantically equivalent to:

proc(vars) option operator, arrow; result end

• 

The identity operator is expressed as xx for any variable name x.

• 

Constant operators do not simplify to numbers. For example, x1 does not simplify to 1.

• 

Expressions such as xfx 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. However, type specifiers for parameters are supported.  If a type specifier is used, then the parameters must be enclosed in parentheses, even in the case of a single parameter.

Examples

fx3x+5

fx3x+5

(1)

f2

11

(2)

gx,ysinxcosy+yx

gx,ysinxcosy+yx

(3)

gπ2,π

1+π22

(4)

hx2x,x3

hx2x,x3

(5)

h3

6,27

(6)

ux::integer,y::integerx+yigcdx,y

ux::,y::x+yigcdx,y

(7)

u23,4

Error, invalid input: u expects its 1st argument, x, to be of type integer, but received 2/3

See Also

@

@@

D

examples/functionaloperators

operators/D

type/operator

unapply