Go to the previous, next chapter.

Interval Vector Operations --- IntervalVector.h

This file defines all operations concerning interval vectors and introduces the new data type INTERVAL_VECTOR.

Data Type: INTERVAL_VECTOR Variable [(Dimension)]
Declares Variable as interval vector. The optional parameter Dimension denotes the initial dimension of the vector. If Dimension is missing, no memory is allocated for the vector elements (this will be done after the vector is resized or after the first assignment to the vector).

The basic operations +, -, *, and /, the unary operators + and - as well as +=, -=, *=, and /= are defined for interval vectors. REAL or VECTOR operands may also be used instead of interval operands, as long as one operand is an INTERVAL type.

Comparisons of interval vectors are possible with == and !=. Inclusion properties may be tested with <= and < where the latter tests for inclusion in the interior. For example:

a <= b

returns TRUE, if the interval vector a is contained in the interval vector b. All comparisons are performed componentwise and the result of a vector comparison is true, if it is true for all components. Otherwise the result is FALSE.

If i is an INT expression and v an interval vector, v(i) denotes the i-th element of the interval vector.

Additionally, the following functions are provided:

Function: INT Dimension (INTERVAL_VECTOR v)
Returns the current dimension of v.

Function: void Resize (INTERVAL_VECTOR v, INT i)
Discards the old elements of v and resizes v to contain i elements.

Function: void MakeTemporary (INTERVAL_VECTOR v)
Defines v to be a temporary variable. This is only important when the improved memory management is used.

See section Vector Operations --- Vector.h, function MakeTemporary for more information.

Function: void MakePermanent (INTERVAL_VECTOR v)
Changes the temporary variable v into a permanent one.

See section Configuration, for details.

Function: void Clear (INTERVAL_VECTOR v)
Initializes all elements of v with 0.

Function: void Initialize (INTERVAL_VECTOR v, INTERVAL a)
Initializes all elements of v with the interval a.

Function: INTERVAL_VECTOR AddBounds (VECTOR v, VECTOR w)
Returns an interval vector containing an enclosure of the true sum of v and w.

Function: INTERVAL_VECTOR SubBounds (VECTOR v, VECTOR w)
Returns an interval vector containing an enclosure of the true difference between v and w.

Function: INTERVAL_VECTOR MulBounds (REAL r, VECTOR v)
Returns an interval vector containing an enclosure of the true product of r and v.

Function: INTERVAL_VECTOR MulBounds (VECTOR v, VECTOR w)
Returns an interval containing an enclosure of the true product of v and w.

Function: INTERVAL_VECTOR DivBounds (VECTOR v, REAL r)
Returns an interval vector containing an enclosure of the true quotient between v and r.

Function: VECTOR Inf (INTERVAL_VECTOR v)
Returns a vector containing the lower bounds of the interval vector v.

Function: VECTOR Sup (INTERVAL_VECTOR v)
Returns a vector containing the upper bounds of the interval vector v.

Function: INTERVAL_VECTOR Hull (VECTOR v)
Returns the point interval vector [v,v].

Function: INTERVAL_VECTOR Hull (v, w)
Returns the convex hull of v and w. The expressions v and w may be either of type VECTOR or INTERVAL_VECTOR.

Function: INTERVAL_VECTOR SymHull (VECTOR v)
Returns the interval vector [-v,v].

Function: VECTOR Mid (INTERVAL_VECTOR v)
Returns the midpoint of the interval vector v.

Function: VECTOR Diam (INTERVAL_VECTOR v)
Returns the diameter of the interval vector v.

Function: VECTOR Abs (INTERVAL_VECTOR v)
Returns the absolute value of the interval vector v.

Function: BOOL Intersection (INTERVAL_VECTOR u, INTERVAL_VECTOR v, INTERVAL_VECTOR w)
If v and w intersect, the value TRUE is returned and u contains the intersection. Otherwise FALSE is returned and the contents of u are undefined.

Function: INTERVAL Sqr (INTERVAL_VECTOR v)
Returns the scalar product of v with itself, i.e. a faster form of v*v.

Function: INTERVAL Norm (INTERVAL_VECTOR v)
Returns the 2-Norm of v.