Define a Function - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.
Our website is currently undergoing maintenance, which may result in occasional errors while browsing. We apologize for any inconvenience this may cause and are working swiftly to restore full functionality. Thank you for your patience.

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

 


Download Help Document