frontend - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Algebra : Rational Expressions : frontend

frontend

process general expression into a rational expression

 

Calling Sequence

Parameters

Description

Thread Safety

Examples

Calling Sequence

frontend(p, x, f, arg1,..., argn)

Parameters

p

-

procedure

x

-

list of arguments to p

f

-

(optional) list of two sets: first, a set of type names not to be frozen; second, a set of expressions not to be frozen (default is [{`+`,`*`},{}])

argi

-

(optional) further arguments to p; these arguments are not to be frozen

Description

• 

The purpose of frontend is to extend the domain of computation for many of the functions in Maple.

• 

For example, the procedure used by the Maple normal function is defined to work over the domain of rational functions.  Thus, to handle more general expressions such as expressions involving sinx or x reasonably, frontend is used to ``temporarily freeze'' all occurrences of such expressions for unique names.  This is always valid.

• 

However, it is important to understand that the zero equivalence property of the normal function is only guaranteed if the subexpressions that are frozen are algebraically independent.

• 

Each item in the list x is ``frozen''. The order in which the ``freezing'' occurs is as follows.

• 

The following are not frozen: integers; rationals; floats that are of type numeric; strings; and names that are not of type constant.

• 

If the argument is of type `+`, `*`, or `^` and the exponent is an integer, then freezing is applied recursively.

• 

If the argument has any subexpression in the set of expressions, then freezing is applied recursively.

• 

If the argument is one of the types in the set of type names, freezing is applied recursively.

• 

Otherwise, the expression is substituted for a unique name.

• 

The procedure p is then evaluated with the ``frozen'' argument(s). Any frozen names occurring in the result are substituted back for their original subexpressions.

• 

The frontend function does not work with functions that assign a value to the function argument(s). For example, gcdex works but not if you specify the optional arguments.

Thread Safety

• 

The frontend command is thread-safe as of Maple 15.

• 

For more information on thread safety, see index/threadsafe.

Examples

asinx+x2

a:=sinx+x2

(1)

degreea,x

FAIL

(2)

frontenddegree,a,x

2

(3)

bsinx+y+sinxy2

b:=sinx+y+sinxy2

(4)

expandb

4sinx2cosy2

(5)

frontendexpand,b

sinx+y2+2sinx+ysinxy+sinxy2

(6)

cx+siny+cos1

c:=x+siny+cos1

(7)

indetsc

x,y,x,siny

(8)

frontendindets,c

x,cos1,siny

(9)

frontendindets,c,`+`,`*`,radical

x,x,cos1,siny

(10)

frontendindets,c,`+`,`*`,cos1

x,siny

(11)

See Also

freeze

 


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam