RealRange  represent a real interval
ComplexRange  represent a complex interval

Calling Sequence


RealRange(a,b)
ComplexRange(,)


Parameters


a, b



real numbers, can be , can be Open(a) and/or Open(b)

,



complex numbers, can be Open() and/or Open(); for ComplexRange, and can also be algebraic expressions





Description


•

RealRange(a, b) represents a real interval, that is, a segment of the real line specified by the values of its two extremes a, b, which can be any two real numbers (possibly ) satisfying . The interval is closed, i.e., includes its extremes, unless they are represented by Open(a) (and/or Open(b)), in which case the interval is open with respect to a (and/or b).

•

Similarly ComplexRange(, ) represents a complex interval, that is, a rectangle in the complex plane specified by two points = a + b I and = c + d I, where {a, b, c, d} represent real numbers. This complex interval is closed and so includes the four line segments , and the other two parallel segments delimiting the rectangle, unless any of its four real extremes is entered like, for instance, Open(a), in which case the interval is "open" with respect to that point. In the presence of more Open extremes the interval may be open with respect to one or more delimiting segments.


Note: in Maple, by convention, when you say, for instance, , it is implicitly assumed that .



Examples


RealRange is a Maple program  it analyzes the input parameters; ComplexRange is not a program.
In this example, the two endpoints are equal and it simplifies to zero.
>


 (1) 
Here there is no automatic simplification:
>


 (2) 
The automatic simplification is triggered after the conversion happens:
>


 (3) 
A ComplexRange is an object more general than a RealRange in that it contains it as a particular case. When working with a ComplexRange or its RealRange representation, three typical constructions are used. Note the corresponding notation in the following examples. The conversion (when possible) always returns a sequence of two elements.
Case 1: a ComplexRange is itself an object
>


 (4) 
>


 (5) 
Case 2: a construction indicating that z has values in some ComplexRange, expressed using the :: operator
>


 (6) 
>


 (7) 
Case 3: a construction indicating that z has values in some ComplexRange, expressed using the in operator
>


 (8) 
>


 (9) 
Note that, unlike ComplexRange, RealRange requires numerical arguments, so when the former has not this kind of argument the conversion is not possible.
>


 (10) 
Without numerical arguments, this cannot be converted:
>


 (11) 
Expressing complex and real ranges as relations
>


 (12) 
>


 (13) 
>


 (14) 
>


 (15) 
ComplexRanges are used for example to express the branch cuts of mathematical functions
>


 (16) 
When you input or , it is implicitly assumed that . This is used to simplify the notation in the output of some conversions. For example,
>


 (17) 
>


 (18) 
>


 (19) 
>


 (20) 

