Go to the previous, next chapter.

Basic Interval Arithmetic Subroutines

BIAS Introduction

This is a short description of the idea and the current implementation of BIAS (Basic Interval Arithmetic Subroutines). It is assumed that the reader is familiar with the basics of interval mathematics.

The developement of BIAS was guided by the ideas of BLAS, i.e. to provide an interface for basic vector and matrix operations with specific and fast implementations on various machines, the latter frequently provided by the manufactures. The idea of BIAS is to give such an interface for interval operations with the objective:

First, we describe the data types and variables supported by BIAS, then after giving some notations we describe all routines from BIAS. The routines are described in the groups: scalar operations, vector operations, and matrix operations. At last, scalar interval standard functions are described. We give the header and a short description of each routine.

Currenly, three implementations of BIAS exist, all of them use the same interval representation as it will be described below. The three implementations are in particular:

  1. Using the directed rounding. Because the switching of the rounding mode is machine dependent and not available on all architectures, this implementation is the most hardware dependent one.

    Currently, it is available for IBM RS/6000 architectures, Sparc architectures, 680x0 machines, and PCs (80386 and higher) with coprocessor. In all cases, assembler routines for switching the rounding mode are provided and it has been taken care to avoid unnecessary switching of the rounding mode.

  2. Using an estimation of the error which occurs in performing a floating-point operation. The error estimation is used to change the floating-point calculated bounds in such a way that the isotonicity of the interval operations is always fulfilled.

    This implementation uses only standard floating-point operations and because of this it can be used for a variety of machines.

    The only machine dependency lies in the maximal possible relative error of the floating-point operations.

  3. Using the computed floating-point result as bounds without any modification. This implementation is very fast, but doesn't always give correct bounds. The main application is in cases where a least significant bit accuracy is not needed, e.g. in global optimization, where only large intervals are used.

Data Types

The following data types are defined and used by BIAS:

REAL
The real type (either double or float).

PREAL
Pointer to REAL.

INT
The integer type (currently identical with int).

BIASINTERVAL
The interval type.

PBIASINTERVAL
Pointer to BIASINTERVAL.

In all current implementations of BIAS, the following definitions are given for the data types above:

typedef INT    int;
typedef REAL   double;
typedef PREAL  * double;
typedef struct {
  REAL inf;
  REAL sup;
} BIASINTERVAL;
typedef BIASINTERVAL * BIASINTERVAL;

Vectors are stored blockwise, beginning with the first component. A vector is described by two values: A pointer to the elements (PREAL for real and PBIASINTERVAL for interval vectors) and the number of elements (INT).

Matrices are stored rowwise in a block (that is the normal C storage, or the transposed FORTRAN storage). A matrix is described by three values: A pointer to the elements (PREAL for real and PBIASINTERVAL for interval matrices), the number of rows (INT), and the number of columns (INT).

All routines from BIAS never allocate or free memory. Therefore the calling program is responsible for the correct memory allocation.

BIAS Reference

Notation

In program text (e.g. in routine headers), we denote interval parameters by capital and real parameters by small letters. If preceeded by a small p, the parameters are pointers, which point to the objects named without the leading p. If not stated explicitly otherwise, all parameters are scalar types.

The naming conventions for the routines in BIAS are as follows: All routine names start with Bias. After that, the purpose of the routine follows (e.g. Mul for multiplication). Last, the description of the main parameters is appended, where the letter R denotes a real and the letter I an interval parameter. Vectors and matrix parameters are given by using the letter V or M as a prefix to the data type. For example: The addition of a real and an interval vector is coded as BiasAddVRVI.

Implementation Dependencies

Depending on the implementation, some limitations may occur due to speed reasons. For example in the current implementation the operands and the result of an interval subtraction must not be the same.

In general, the following assumption holds:

The result of any BIAS operation, i.e. any value that is changed by a routine from BIAS should not be the same as any parameter of that routine.

Another implementation dependency is the treatement of exceptions (e.g. division by zero). In the current implementation, one method out of two can be chosen at compile time:

  1. A division by zero is always reported and the program is terminated.

  2. If possible, the result is silently set e.g. to the interval from minus to plus infinity. Otherwise the error is reported and the program is terminated.

Additionally, when using directed roundings, the rounding mode direction is undefined after execution of any routine from BIAS. In general, the rounding mode is set to upward rounding. If necessary (e.g. due to sensitive floating point expressions), BIAS can be configured to set the rounding mode to nearest after execution.

The controlling parameters for the configuration of the behaviour of BIAS are contained and explained in the file BiasInt.h.

In the routine description, a true interval arithmetic is assumed. This means that that the computed results are always an enclosure of the true result. This holds for all implementations (especially for the implementation using the directed rounding mode) except when only a simple floating-point is used to compute the bounds (this implementation is not part of the distribution). In this case, the result is only an approximation of the enclosure of the true result.

Initialization

All necessary initializations for BIAS are performed by a call to BiasInit.

Variables

In this section we describe the variables with machine dependent constants which are supported by BIAS. Depending on the implementation, some of these variables may not be available. At least, BiasEpsilon and BiasEta should always contain reliable values.

BiasEpsilon
Contains the machine precision

BiasEta
Contains the smallest positive machine number

BiasNaN
Contains a value which is not a number.

BiasPosInf
Contains infinity.

BiasNegInf
Contains minus infinity.

BIAS Scalar Operations --- Bias0

Function: void BiasInit ()
Initializes all internal values, must be called prior any other BIAS call.

Function: void BiasRoundUp ()
Switches the rounding mode to upwards. Generates an error message, if no rounding mode switching is supported.

Function: void BiasRoundDown ()
Switches the rounding mode to downwards. Generates an error message, if no rounding mode switching is supported.

Function: void BiasRoundNear ()
Switches the rounding mode to nearest. Generates an error message, if no rounding mode switching is supported.

Function: REAL BiasPredR (PREAL pa)
Returns the predecessor of a.

Function: REAL BiasSuccR (PREAL pa)
Returns the successor of a.

Function: INT BiasPredI (PBIASINTERVAL pR, PBIASINTERVAL pA)
On return, R is the largest interval which is contained in the interior of A. If the computation of R was impossible due to the small diameter of A, a value of 0 is returned and R is undefined. Otherwise, a value of 1 is returned.

Function: void BiasSuccI (PBIASINTERVAL pR, PBIASINTERVAL pA)
On return, R is the smallest interval, which contains A in its interior.

Function: void BiasAddRR (PBIASINTERVAL pR, PREAL pa, PREAL pb)
Calculates the interval R which contains the true result of the sum of a and b.

Function: void BiasAddRI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB)
Calculates the interval R which contains the true result of the sum of a and B.

Function: void BiasAddIR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb)
Calculates the interval R which contains the true result of the sum of A and b.

Function: void BiasAddII (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB)
Calculates the interval R which contains the true result of the sum of A and B.

Function: void BiasNeg (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates the interval R which contains -A.

Function: void BiasSubRR (PBIASINTERVAL pR, PREAL pa, PREAL pb)
Calculates the interval R which contains the true result of the difference between a and b.

Function: void BiasSubRI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB)
Calculates the interval R which contains the true result of the difference between a and B.

Function: void BiasSubIR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb)
Calculates the interval R which contains the true result of the difference between A and b.

Function: void BiasSubII (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB)
Calculates the interval R which contains the true result of the difference between A and B.

Function: void BiasMulRR (PBIASINTERVAL pR, PREAL pa, PREAL pb)
Calculates the interval R which contains the true result of the product of a and b.

Function: void BiasMulRI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB)
Calculates the interval R which contains the true result of the product of a and B.

Function: void BiasMulIR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb)
Calculates the interval R which contains the true result of the product of A and b.

Function: void BiasMulII (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB)
Calculates the interval R which contains the true result of the product of A and B.

Function: void BiasDivRR (PBIASINTERVAL pR, PREAL pa, PREAL pb)
Calculates the interval R which contains the true result of the quotient between a and b.

Function: void BiasDivRI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB)
Calculates the interval R which contains the true result of the quotient between a and B.

Function: void BiasDivIR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb)
Calculates the interval R which contains the true result of the quotient between A and b.

Function: void BiasDivII (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB)
Calculates the interval R which contains the true result of the quotient between A and B.

Function: void BiasMacRR (PBIASINTERVAL pR, PREAL pa, PREAL pb)
Adds to the interval R an interval which contains the true result of the product of a and b.

Function: void BiasMacRI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB)
Adds to the interval R an interval which contains the true result of the product of a and B.

Function: void BiasMacIR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb)
Adds to the interval R an interval which contains the true result of the product of A and b.

Function: void BiasMacII (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB)
Adds to the interval R an interval which contains the true result of the product of A and B.

Function: REAL BiasInf (PBIASINTERVAL pA)
Returns the lower bound of the interval A.

Function: REAL BiasSup (PBIASINTERVAL pA)
Returns the upper bound of the interval A.

Function: REAL BiasMid (PBIASINTERVAL pA)
Returns the midpoint of the interval A.

Function: void BiasMidRad (PREAL pm, PREAL pr, PBIASINTERVAL pA)
Calculates the midpoint m and the radius r of the interval A.

Function: REAL BiasDiam (PBIASINTERVAL pA)
Returns the diameter of the interval A.

Function: REAL BiasAbs (PBIASINTERVAL pA)
Returns the absolute value of the interval A, i.e. the maximum of the absolute values of the interval bounds.

Function: REAL BiasDistRI (PREAL pa, PBIASINTERVAL pB)
Returns the distance between a and B. If a is contained in B, then 0 is returned.

Function: REAL BiasDistII (PBIASINTERVAL pA, PBIASINTERVAL pB)
Returns the distance between A and B.

Function: INT BiasIntersection (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB)
Calculates the intersection R between A and B. If the intersection is empty, a value of 0 is returned and the contents of R are undefined. Otherwise, a value of 1 is returned.

Function: void BiasHullR (PBIASINTERVAL pR, PREAL pa)
Sets R to the point interval a.

Function: void BiasHullRR (PBIASINTERVAL pR, PREAL pa, PREAL pb)
Sets R to the convex hull of a and b.

Function: void BiasHullRI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB)
Sets R to the convex hull of a and B.

Function: void BiasHullIR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb)
Sets R to the convex hull of A and b.

Function: void BiasHullII (PBIASINTERVAL pR, PBIASINTERVAL pa, PBIASINTERVAL pB)
Sets R to the convex hull of A and B.

Function: INT BiasInR (PREAL pa, PBIASINTERVAL pB)
Returns 1, if a is contained in B. Otherwise, 0 is returned.

Function: INT BiasInI (PBIASINTERVAL pA, PBIASINTERVAL pB)
Returns 1, if A is contained in B. Otherwise, 0 is returned.

Function: INT BiasInInteriorR (PREAL pa, PBIASINTERVAL pB)
Returns 1, if a is contained in the interior of B. Otherwise, 0 is returned.

Function: INT BiasInInteriorI (PBIASINTERVAL pA, PBIASINTERVAL pB)
Returns 1, if A is contained in the interior of B. Otherwise, 0 is returned.

Function: INT BiasIsEqual (PBIASINTERVAL pA, PBIASINTERVAL pB)
Returns 1, if A is equal to B. Otherwise, 0 is returned.

BIAS Vector Operations --- Bias1

In all vector routines the parameter dim denotes the number of vector elements. Vector parameters are given as pointer to the elements where the pointer points to the first element.

Function: void BiasPredVR (PREAL pr, PREAL pa, INT dim)
Returns in r the predecessor vector of a.

Function: void BiasSuccVR (PREAL pr, PREAL pa, INT dim)
Returns in r the successor vector of a.

Function: INT BiasPredVI (PBIASINTERVAL pR, PBIASINTERVAL pA, INT dim)
On return, R is the largest interval vector which is contained in the interior of A. If the computation of R was impossible due to the small diameter of A, a value of 0 is returned and R is undefined. Otherwise, a value of 1 is returned.

Function: void BiasSuccVI (PBIASINTERVAL pR, PBIASINTERVAL pA, INT dim)
On return, R is the smallest interval vector which contains A in its interior.

Function: void BiasAddVRVR (PBIASINTERVAL pR, PREAL pa, PREAL pb, INT dim)
Calculates the interval vector R which contains the true result of the sum of a and b.

Function: void BiasAddVRVI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT dim)
Calculates the interval vector R which contains the true result of the sum of a and B.

Function: void BiasAddVIVR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb, INT dim)
Calculates the interval vector R which contains the true result of the sum of A and b.

Function: void BiasAddVIVI (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB, INT dim)
Calculates the interval vector R which contains the true result of the sum of A and B.

Function: void BiasNegV (PBIASINTERVAL pR, PBIASINTERVAL pA, INT dim)
Calculates the interval vector R which contains -A.

Function: void BiasSubVRVR (PBIASINTERVAL pR, PREAL pa, PREAL pb, INT dim)
Calculates the interval vector R which contains the true result of the difference between a and b.

Function: void BiasSubVRVI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT dim)
Calculates the interval vector R which contains the true result of the difference between a and B.

Function: void BiasSubVIVR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb, INT dim)
Calculates the interval vector R which contains the true result of the difference between A and b.

Function: void BiasSubVIVI (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB, INT dim)
Calculates the interval vector R which contains the true result of the difference between A and B.

Function: void BiasMulRVR (PBIASINTERVAL pR, PREAL pa, PREAL pb, INT dim)
Calculates the interval vector R which contains the true result of the product of the scalar a and the vector b.

Function: void BiasMulRVI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT dim)
Calculates the interval vector R which contains the true result of the product of the scalar a and the vector B.

Function: void BiasMulIVR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb, INT dim)
Calculates the interval vector R which contains the true result of the product of the scalar A and the vector b.

Function: void BiasMulIVI (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB, INT dim)
Calculates the interval vector R which contains the true result of the product of the scalar A and the vector B.

Function: void BiasMacRVR (PBIASINTERVAL pR, PREAL pa, PREAL pb, INT dim)
Adds to the interval vector R an interval vector which contains the true result of the product of the scalar a and the vector b.

Function: void BiasMacRVI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT dim)
Adds to the interval vector R an interval vector which contains the true result of the product of the scalar a and the vector B.

Function: void BiasMacIVR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb, INT dim)
Adds to the interval vector R an interval vector which contains the true result of the product of the scalar A and the vector b.

Function: void BiasMacIVI (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB, INT dim)
Adds to the interval vector R an interval vector which contains the true result of the product of the scalar A and the vector B.

Function: void BiasMacRVIs (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT dim, INT Bstep)
Same as BiasMacRVI, but with a stepsize of Bstep for the components of B.

Caution: This function is only provided for internal use and should not be used by any user program.

Function: void BiasMacsRVIs (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT dim, INT Rstep, INT Bstep)
Same as BiasMacRVIs, but with a stepsize of Rstep for the components of R.

Caution: This function is only provided for internal use and should not be used by any user program.

Function: void BiasDivVRR (PBIASINTERVAL pR, PREAL pa, PREAL pb, INT dim)
Calculates the interval vector R which contains the true result of the product of the vector a and the scalar b.

Function: void BiasDivVRI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT dim)
Calculates the interval vector R which contains the true result of the product of the vector a and the scalar B.

Function: void BiasDivVIR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb, INT dim)
Calculates the interval vector R which contains the true result of the product of the vector A and the scalar b.

Function: void BiasDivVII (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB, INT dim)
Calculates the interval vector R which contains the true result of the product of the vector A and the scalar B.

Function: void BiasMacVRVR (PBIASINTERVAL pR, PREAL pa, PREAL pb, INT dim)
Returns in the interval R an inclusion of the scalar product of the two vectors a and b.

Function: void BiasMacVRVI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT dim)
Returns in the interval R an inclusion of the scalar product of the two vectors a and B.

Function: void BiasMacVIVR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb, INT dim)
Returns in the interval R an inclusion of the scalar product of the two vectors A and b.

Function: void BiasMacVIVI (PBIASINTERVAL pR, PBIASINTERVAL pa, PBIASINTERVAL pB, INT dim)
Returns in the interval R an inclusion of the scalar product of the two vectors A and B.

Function: void BiasInfV (PREAL pr, PBIASINTERVAL pA, INT dim)
Returns in the vector r the lower bound of the interval vector A.

Function: void BiasSupV (PREAL pr, PBIASINTERVAL pA, INT dim)
Returns in the vector r the upper bound of the interval vector A.

Function: void BiasMidV (PREAL pr, PBIASINTERVAL pA, INT dim)
Returns in the vector r the midpoint of the interval vector A.

Function: void BiasMidRadV (PREAL pm, PREAL pr, PBIASINTERVAL pA, INT dim)
Calculates the midpoint vector m and the radius vector r of the interval vector A.

Function: void BiasDiamV (PREAL pr, PBIASINTERVAL pA, INT dim)
Returns in the vector r the diameter of the interval vector A.

Function: void BiasAbsV (PREAL pr, PBIASINTERVAL pA, INT dim)
Returns in the vector r the absolute value of the interval vectorA.

Function: INT BiasIntersectionV (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB, INT dim)
Calculates the intersection vector R between A and B. If the intersection is empty, a value of 0 is returned and the contents of R are undefined. Otherwise, a value of 1 is returned.

Function: void BiasHullVR (PBIASINTERVAL pR, PREAL pa, INT dim)
Sets R to the point interval vector a.

Function: void BiasHullVRVR (PBIASINTERVAL pR, PREAL pa, PREAL pb, INT dim)
Sets R to the convex hull of the vectors a and b.

Function: void BiasHullVRVI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT dim)
Sets R to the convex hull of the vectors a and B.

Function: void BiasHullVIVR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb, INT dim)
Sets R to the convex hull of the vectors A and b.

Function: void BiasHullVIVI (PBIASINTERVAL pR, PBIASINTERVAL pa, PBIASINTERVAL pB, INT dim)
Sets R to the convex hull of the vectors A and B.

Function: INT BiasInVR (PREAL pa, PBIASINTERVAL pB)
Returns 1, if vector a is contained in vector B. Otherwise, 0 is returned.

Function: INT BiasInVI (PBIASINTERVAL pA, PBIASINTERVAL pB, INT dim)
Returns 1, if vector A is contained in vector B. Otherwise, 0 is returned.

Function: INT BiasInInteriorVR (PREAL pa, PBIASINTERVAL pB, INT dim)
Returns 1, if vector a is contained in the interior of vector B. Otherwise, 0 is returned.

Function: INT BiasInInteriorVI (PBIASINTERVAL pA, PBIASINTERVAL pB, INT dim)
Returns 1, if vector A is contained in the interior of vector B. Otherwise, 0 is returned.

Function: INT BiasIsEqualV (PBIASINTERVAL pA, PBIASINTERVAL pB, INT dim)
Returns 1, if vector A is equal to vector B. Otherwise, 0 is returned.

Function: void BiasSetToZeroV (PBIASINTERVAL pR, INT dim)
Initializes the vector R with zeros.

Function: void BiasSetToZeroVs (PBIASINTERVAL pR, INT dim, INT step)
Same as BiasSetToZeroV, but with a stepsize of step for the components of R.

Caution: This function is only provided for internal use and should not be used by any user program.

BIAS Matrix Operations --- Bias2

In all matrix routines the parameter rows denotes the number of rows in the matrix and the parameter cols denotes the number of columns. Matrix parameters are given as pointer to the elements where the pointer points to the first element.

Function: void BiasPredMR (PREAL pr, PREAL pa, INT rows, INT cols)
Returns in pr the predecessor matrix of a.

Function: void BiasSuccMR (PREAL pr, PREAL pa, INT rows, INT cols)
Returns in pr the successor matrix of a.

Function: INT BiasPredMI (PBIASINTERVAL pR, PBIASINTERVAL pA, INT rows, INT cols)
On return, R is the largest interval matrix which is contained in the interior of A. If the computation of R was impossible due to the small diameter of A, a value of 0 is returned and R is undefined. Otherwise, a value of 1 is returned.

Function: void BiasSuccMI (PBIASINTERVAL pR, PBIASINTERVAL pA, INT rows, INT cols)
On return, R is the smallest interval matrix which contains A in its interior.

Function: void BiasAddMRMR (PBIASINTERVAL pR, PREAL pa, PREAL pb, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the sum of a and b.

Function: void BiasAddMRMI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the sum of a and B.

Function: void BiasAddMIMR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the sum of A and b.

Function: void BiasAddMIMI (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the sum of A and B.

Function: void BiasNegM (PBIASINTERVAL pR, PBIASINTERVAL pA, INT rows, INT cols)
Calculates the interval matrix R which contains -A.

Function: void BiasSubMRMR (PBIASINTERVAL pR, PREAL pa, PREAL pb, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the difference between a and b.

Function: void BiasSubMRMI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the difference between a and B.

Function: void BiasSubMIMR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the difference between A and b.

Function: void BiasSubMIMI (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the difference between A and B.

Function: void BiasMulRMR (PBIASINTERVAL pR, PREAL pa, PREAL pb, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the product of the scalar a and the matrix b.

Function: void BiasMulRMI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the product of the scalar a and the matrix B.

Function: void BiasMulIMR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the product of the scalar A and the matrix b.

Function: void BiasMulIMI (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the product of the scalar A and the matrix B.

Function: void BiasMulMRVR (PBIASINTERVAL pR, PREAL pa, PREAL pb, INT rows, INT cols)
Calculates the interval vector R which contains the true result of the product of the matrix a and the vector b.

Function: void BiasMulMRVI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT rows, INT cols)
Calculates the interval vector R which contains the true result of the product of the matrix a and the vector B.

Function: void BiasMulMIVR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb, INT rows, INT cols)
Calculates the interval vector R which contains the true result of the product of the matrix A and the vector b.

Function: void BiasMulMIVI (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB, INT rows, INT cols)
Calculates the interval vector R which contains the true result of the product of the matrix A and the vector B.

Function: void BiasMulMRMR (PBIASINTERVAL pR, PREAL pa, PREAL pb, INT arows, INT acols, INT bcols)
Calculates the interval matrix R which contains the true result of the product of the matrix a and the matrix b.

The dimensions of the matrix a are given by arows and acols. The dimensions of the matrix b are given by acols (rows) and bcols (columns).

Function: void BiasMulMRMI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT arows, INT acols, INT Bcols)
Calculates the interval matrix R which contains the true result of the product of the matrix a and the matrix B.

The dimensions of the matrix a are given by arows and acols. The dimensions of the matrix B are given by acols (rows) and Bcols (columns).

Function: void BiasMulMIMR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb, INT Arows, INT Acols, INT bcols)
Calculates the interval matrix R which contains the true result of the product of the matrix A and the matrix b.

The dimensions of the matrix A are given by Arows and Acols. The dimensions of the matrix b are given by Acols (rows) and bcols (columns).

Function: void BiasMulMIMI (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB, INT Arows, INT Acols, INT Bcols)
Calculates the interval matrix R which contains the true result of the product of the matrix A and the matrix B.

The dimensions of the matrix A are given by Arows and Acols. The dimensions of the matrix B are given by Acols (rows) and Bcols (columns).

Function: void BiasDivMRR (PBIASINTERVAL pR, PREAL pa, PREAL pb, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the product of the matrix a and the scalar b.

Function: void BiasDivMRI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the product of the matrix a and the scalar B.

Function: void BiasDivMIR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the product of the matrix A and the scalar b.

Function: void BiasDivMII (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB, INT rows, INT cols)
Calculates the interval matrix R which contains the true result of the product of the matrix A and the scalar B.

Function: void BiasInfM (PREAL pr, PBIASINTERVAL pA, INT rows, INT cols)
Returns in the matrix r the lower bound of the interval matrix A.

Function: void BiasSupM (PREAL pr, PBIASINTERVAL pA, INT rows, INT cols)
Returns in the matrix r the upper bound of the interval matrix A.

Function: void BiasMidM (PREAL pr, PBIASINTERVAL pA, INT rows, INT cols)
Returns in the matrix r the midpoint of the interval matrix A.

Function: void BiasMidRadM (PREAL pm, PREAL pr, PBIASINTERVAL pA, INT rows, INT cols)
Calculates the midpoint matrix m and the radius matrix r of the interval matrix A.

Function: void BiasDiamM (PREAL pr, PBIASINTERVAL pA, INT rows, INT cols)
Returns in the matrix r the diameter of the interval matrix A.

Function: void BiasAbsM (PREAL pr, PBIASINTERVAL pA, INT rows, INT cols)
Returns in the matrix r the absolute value of the interval matrixA.

Function: INT BiasIntersectionM (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB, INT rows, INT cols)
Calculates the intersection matrix R between A and B. If the intersection is empty, a value of 0 is returned and the contents of R are undefined. Otherwise, a value of 1 is returned.

Function: void BiasHullMR (PBIASINTERVAL pR, PREAL pa, INT rows, INT cols)
Sets R to the point interval matrix a.

Function: void BiasHullMRMR (PBIASINTERVAL pR, PREAL pa, PREAL pb, INT rows, INT cols)
Sets R to the convex hull of the matrices a and b.

Function: void BiasHullMRMI (PBIASINTERVAL pR, PREAL pa, PBIASINTERVAL pB, INT rows, INT cols)
Sets R to the convex hull of the matrices a and B.

Function: void BiasHullMIMR (PBIASINTERVAL pR, PBIASINTERVAL pA, PREAL pb, INT rows, INT cols)
Sets R to the convex hull of the matrices A and b.

Function: void BiasHullMIMI (PBIASINTERVAL pR, PBIASINTERVAL pa, PBIASINTERVAL pB, INT rows, INT cols)
Sets R to the convex hull of the matrices A and B.

Function: INT BiasInMR (PREAL pa, PBIASINTERVAL pB)
Returns 1, if matrix a is contained in matrix B. Otherwise, 0 is returned.

Function: INT BiasInMI (PBIASINTERVAL pA, PBIASINTERVAL pB, INT rows, INT cols)
Returns 1, if matrix A is contained in matrix B. Otherwise, 0 is returned.

Function: INT BiasInInteriorMR (PREAL pa, PBIASINTERVAL pB, INT rows, INT cols)
Returns 1, if matrix a is contained in the interior of matrix B. Otherwise, 0 is returned.

Function: INT BiasInInteriorMI (PBIASINTERVAL pA, PBIASINTERVAL pB, INT rows, INT cols)
Returns 1, if matrix A is contained in the interior of matrix B. Otherwise, 0 is returned.

Function: INT BiasIsEqualM (PBIASINTERVAL pA, PBIASINTERVAL pB, INT rows, INT cols)
Returns 1, if matrix A is equal to matrix B. Otherwise, 0 is returned.

Function: void BiasSetToZeroM (PBIASINTERVAL pR, INT rows, INT cols)
Initializes the matrix R with zeros.

BIAS Interval Standard Functions --- BiasF

Function: void BiasFuncInit ()
Initializes all internal values, must be called prior any other routine described in this section.

Function: void BiasSin (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the sine of A.

Function: void BiasCos (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the cosine of A.

Function: void BiasTan (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the tangens of A.

Function: void BiasArcSin (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the arcus sine of A.

Function: void BiasArcCos (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the arcus cosine of A.

Function: void BiasArcTan (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the arcus tangens of A.

Function: void BiasSinh (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the hyperbolic sine of A.

Function: void BiasCosh (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the hyperbolic cosine of A.

Function: void BiasTanh (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the hyperbolic tangens of A.

Function: void BiasArSinh (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the inverse hyperbolic sine of A.

Function: void BiasArCosh (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the inverse hyperbolic cosine of A.

Function: void BiasArTanh (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the inverse hyperbolic tangens of A.

Function: void BiasExp (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the exponential function of A.

Function: void BiasLog (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the natural logarithm function of A.

Function: void BiasLog10 (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the decadic logarithm function of A.

Function: void BiasIAbs (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an interval enclosing all absolute values of the values contained in A.

See section Interval Standard Functions, function IAbs for details.

Function: void BiasSqr (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the square of A.

Function: void BiasSqrt (PBIASINTERVAL pR, PBIASINTERVAL pA)
Calculates in R an inclusion of the square root of A.

Function: void BiasRoot (PBIASINTERVAL pR, PBIASINTERVAL pA, INT n)
Calculates in R an inclusion of the n-th root of A.

Function: void BiasPowerN (PBIASINTERVAL pR, PBIASINTERVAL pA, INT n)
Calculates in R an inclusion of A to the power of n.

Function: void BiasPowerI (PBIASINTERVAL pR, PBIASINTERVAL pA, PBIASINTERVAL pB)
Calculates in R an inclusion of A to the power of B.