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

Online Help

All Products    Maple    MapleSim


combine/range

combine ranges

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

combine(e, 'range')

Parameters

e

-

any expression

Description

• 

Expressions involving calls to an operator F of two arguments, the second of which is of the form name = range, in which the range is either a discrete or continuous range, are combined by applying the transformations:

Ffx,x=a..b+Fgx,x=c..dFfx,x=a..d

  

whenever the operator F, first arguments fx and gx, and ranges a..b and c..d satisfy one of the following conditions.

• 

F=Int or F=int,c=b, and fx=gx

• 

F=Int or F=int,c=a, and fx=gx

• 

F=Int or F=int,b=d, and fx=gx

• 

F=Sum or F=sum,c=1+b, and fx=gx

• 

F=Sum or F=sum,c=a and b<d and fx=gx

• 

For the results of `combine/range` to be valid, the operator F must be a function of two arguments, the second of which has the form name = range and is additive over ranges.

• 

Knowledge of the summation and integral operators is supported in the library. You can add to the knowledge of which operators can be manipulated by `combine/range`  by assigning to one of the environment variables _EnvRangeCombinableContinuous or _EnvRangeCombinableDiscrete. Each should be a set of names of operators F. Operators in the set _EnvRangeCombinableDiscrete are combined in the same way as Sum, while those in _EnvRangeCombinableContinuous are combined like integrals. The environment variable _EnvRangeCombinable is used internally and should not be modified directly by users.

• 

By calling the procedure combine/range directly, you can set the values of combinable operators for a single call by passing an extra (second) argument in the form of a list of two sets. The first member of the list is the set of operators that can be combined using continuous ranges (Int-like), and the second member of the list should be a set of the names of Sum-like operators whose ranges are to be treated as discrete.

• 

The power of `combine/range` is controlled by the values of the environment variables Testzero and Normalizer. These are used to detect matching range endpoints and matching first arguments. Resetting Testzero gives you local control over the combining power of this procedure.

Examples

Intfx&comma;x=a..b+Intfx&comma;x=a..c

abfx&DifferentialD;x+acfx&DifferentialD;x

(1)

=combine&comma;range

abfx&DifferentialD;x+acfx&DifferentialD;x=cbfx&DifferentialD;x

(2)

Sumfj&comma;j=a..b+Sumfj&comma;j=b+1..d

j=abfj+j=1+bdfj

(3)

=combine&comma;range

j=abfj+j=1+bdfj=j=adfj

(4)

`combine/range` is sensitive to assumptions:

Sumfj&comma;j=a..b+Sumfj&comma;j=a..d

j=abfj+j=adfj

(5)

=combine&comma;rangeassumingb<d

j=abfj+j=adfj=j=1+bdfj

(6)

Gfx&comma;x=a..b+Gfx&comma;x=b..c

Gfx&comma;x=a..b+Gfx&comma;x=b..c

(7)

=combine&comma;range&comma;G&comma;

Gfx&comma;x=a..b+Gfx&comma;x=b..c=Gfx&comma;x=a..c

(8)

See Also

combine

Environment Variables

Testzero

Normalizer

Expressions of Type range

int or Int

sum or Sum