Go to the previous, next chapter.

Interval Matrix Operations --- IntervalMatrix.h

This file defines all operations concerning interval matrices and introduces the new data type INTERVAL_MATRIX.

Data Type: INTERVAL_MATRIX Variable [(Rows,Columns)]
Declares Variable as interval matrix. The optional parameters Rows and Columns denote the initial dimensions of the matrix. If the initial dimensions are missing, no memory is allocated for the matrix elements (this will be done after the matrix is resized or after the first assignment to the matrix).

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

Comparisons of interval matrices 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 matrix A is contained in the interval matrix 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 and j are INT expressions and M an interval matrix, v(i,j) denotes the element in the i-th row and j-th column of the matrix M.

Additionally, the following functions are provided:

Function: INT RowDimension (INTERVAL_MATRIX M)
Returns the current row dimension of M.

Function: INT ColDimension (INTERVAL_MATRIX M)
Returns the current column dimension of M.

Function: void Resize (INTERVAL_MATRIX M, INT i, INT j)
Discards the old elements of M and resizes M to contain i rows and j columns.

Function: void MakeTemporary (INTERVAL_MATRIX M)
Changes the temporary variable M into a permanent one.

See section Configuration, for details.

Function: void MakePermanent (INTERVAL_MATRIX M)
Changes the temporary variable M into a permanent one.

See section Configuration, for details.

Function: void Clear (INTERVAL_MATRIX M)
Initializes all elements of M with 0.

Function: void Initialize (INTERVAL_MATRIX M, INTERVAL a)
Initializes all elements of M with a.

Function: INTERVAL_VECTOR Row (INTERVAL_MATRIX M, INT i)
Returns the i-th row of the matrix M.

Function: INTERVAL_VECTOR Col (INTERVAL_MATRIX M, INT i)
Returns the i-th column of the matrix M.

Function: void SetRow (INTERVAL_MATRIX M, INT i, INTERVAL_VECTOR v)
Sets the i-th row of the matrix M to the vector v.

Function: void SetCol (INTERVAL_MATRIX M, INT i, INTERVAL_VECTOR v)
Sets the i-th column of the matrix M to the vector v.

Function: INTERVAL_MATRIX AddBounds (MATRIX A, MATRIX B)
Returns an interval matrix containing an enclosure of the true sum of A and B.

Function: INTERVAL_MATRIX SubBounds (MATRIX A, MATRIX B)
Returns an interval matrix containing an enclosure of the true difference between A and B.

Function: INTERVAL_MATRIX MulBounds (REAL r, MATRIX A)
Returns an interval matrix containing an enclosure of the true product of r and A.

Function: INTERVAL MulBounds (MATRIX A, VECTOR v)
Returns an interval containing an enclosure of the true product of A and v.

Function: INTERVAL MulBounds (MATRIX A, MATRIX B)
Returns an interval containing an enclosure of the true product of A and B.

Function: INTERVAL_MATRIX DivBounds (MATRIX A, REAL r)
Returns an interval containing an enclosure of the true quotient between A and r.

Function: MATRIX Inf (INTERVAL_MATRIX A)
Returns a matrix containing the lower bounds of the interval matrix A.

Function: MATRIX Sup (INTERVAL_MATRIX A)
Returns a matrix containing the upper bounds of the interval matrix A.

Function: INTERVAL_MATRIX Hull (MATRIX A)
Returns the point interval matrix [A,A].

Function: INTERVAL_MATRIX Hull (A, B)
Returns the convex hull of A and B. The expressions A and B may be either of type MATRIX or INTERVAL_MATRIX.

Function: INTERVAL_MATRIX SymHull (MATRIX A)
Returns the interval matrix [-A,A].

Function: MATRIX Mid (INTERVAL_MATRIX A)
Returns the midpoint of the interval matrix A.

Function: MATRIX Diam (INTERVAL_MATRIX A)
Returns the diameter of the interval matrix A.

Function: MATRIX Abs (INTERVAL_MATRIX A)
Returns the absolute value of the interval matrix A.

Function: BOOL Intersection (INTERVAL_MATRIX A, INTERVAL_MATRIX B, INTERVAL_MATRIX C)
If B and C intersect, the value TRUE is returned and A contains the intersection. Otherwise FALSE is returned and the contents of u are undefined.