simplify/size - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Algebra : Expression Manipulation : Simplifying : simplify/size

simplify/size

simplify the size of mathematical expressions by appropriately collecting subexpressions

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

simplify(expr, size, evaluate_known_functions = eval_boolean)

simplify(expr, size = false)

simplify(expr, size = false, ...)

Parameters

expr

-

expression

size

-

literal name; size

evaluate_known_functions = eval_boolean

-

(optional) equation; left-hand side is the literal evaluate_known_functions and the right-hand side eval_boolean is true or false. This equation controls whether functions are re-evaluated after simplification

...

-

arguments for any other calling sequence for simplify

Description

• 

The simplify(expr, size) calling sequence is used to attempt simplifying the expression size, performing only collections and simple decomposition of fractional powers in the coefficients - sometimes taking advantage of linear factors when they exist. No other mathematical simplifications of the expression or its subexpressions is performed. These operations, while simple and with low computational cost, may remarkably structure the expression and reduce its size.

• 

The concept of size used by these routines is close to the concept of length, but function calls and radicals are considered of bigger size than mathematically simpler objects of the same length. In this framework size partly includes the idea of mathematical complexity (for advanced users, see the routines `simplify/size/size` and `simplify/size/size/object`).

• 

The approach used consists of collecting subexpressions using an ordering based on size, then searching for possible fractional decompositions or linear factors that lead to coefficients of smaller size. Functions are handled by first simplifying in size their arguments, followed by re-evaluating the function when the simplification leads to simpler arguments. To avoid re-evaluating the functions, use the optional argument evaluate_known_functions=false.

• 

Expressions given as a ratio between two subexpressions have the numerator and denominator simplified in size separately, and the returned result constructed by dividing the expressions obtained (whenever this result is simpler than the given expression).

• 

The simplification of the expression size is performed automatically by the simplify command, as part of its default operation, for all calling sequences. To perform only simplification of the expression size, and no other simplifications, invoke the routines by calling simplify with the extra argument size. Alternatively, the simplification of size is an option in the context menu (Simplify > Size).

• 

To disable simplification of the expression size, you can pass the option size = false to the simplify command. The option size = false can be included with any simplify calling sequence. Other simplifications cannot be turned off in the same way: this feature is exclusive to simplification with respect to size.

Examples

e11ⅇ1x24214x324+1ⅇ1x24234xPierf12x28+1ⅇ1x24234x52Pierf12x28:

A call to simplify simplifies the expression considerably.

simplifye1

2πerf2x2x2+1ⅇx24+2xⅇx24x2148

(1)

This simplification comes entirely from the manipulations by the simplify/size routines.

simplifye1,size

2πerf2x2x2+1ⅇx24+2xⅇx24x2148

(2)

In the following example, the full set of applicable simplifications (including simplifying with respect to size) leads to the same result as just simplification with respect to size.

e23sinx12cosx2sinxm+3sinx12cosx2cosxn+4sinx12cosx4sinxm4sinx12cosx4cosxn

e23sinxcosx2sinxm+3sinxcosx2cosxn+4sinxcosx4sinxm4sinxcosx4cosxn

(3)

simplifye2

4cosx234cosx2sinxsinxm+cosxn

(4)

simplifye2,size

4cosx234cosx2sinxsinxm+cosxn

(5)

Disabling the simplification with respect to size leads to a slightly different result.

simplifye2,size=false

sinxcosx24cosx23sinxmcosxn

(6)

Exclusively performing simplification with respect to size will miss some types of simplification that would be found otherwise.

e3sinx2+cosx2

e3sinx2+cosx2

(7)

simplifye3

1

(8)

simplifye3,size

sinx2+cosx2

(9)

In this case, we could skip simplifying with respect to size. For large expressions, this may be a bit more efficient.

simplifye3,size=false

1

(10)

An example using the optional argument evaluate_known_functions.

oneⅇxaax1a

oneⅇxaax1a

(11)

one=simplifyone,size

ⅇxaax1a=1

(12)

one=simplifyone,size,evaluate_known_functions=false

ⅇxaax1a=ⅇ0

(13)

ⅇxaax1a=1

(14)

See Also

collect

convert/horner

factors

simplify