Let be the middle point of
and
be the box. Then:

(2.4) |

This evaluation is embedded into the evaluation procedure of the solving algorithms using the Jacobian. It is also available in its general form as

INTERVAL_VECTOR Centered_Form(int DimVar,int DimEq, INTERVAL_VECTOR (* TheIntervalFunction)(int,int,INTERVAL_VECTOR &), INTERVAL_MATRIX (* Gradient)(int, int, INTERVAL_VECTOR &), VECTOR &Center, INTERVAL_VECTOR &Input)where

`DimVar`: number of variables`DimEq`: number of expressions`TheIntervalFunction`: procedure in`MakeF`format for interval evaluating the expressions`Gradient`: procedure un`MakeJ`format for evaluating the derivatives of the expressions`Center`:the center point for the centered form`Input`: the ranges for the variables

INTERVAL Centered_Form(int k,int DimVar,int DimEq, INTERVAL_VECTOR (* TheIntervalFunction)(int,int,INTERVAL_VECTOR &), INTERVAL_MATRIX (* Gradient)(int, int, INTERVAL_VECTOR &), VECTOR &Center, INTERVAL_VECTOR &Input)which is used to evaluate only expression number .

A more sophisticated evaluation for the centered form is based on
Baumann theorem [18]. First we define the procedure
*cut(double x,INTERVAL X)* as:

For a system of equations in unknowns we define

For a given equation we use the centered form with as center

with in . The choice for is based on the property that the lower end-point of the centered form has a maximum at while its upper end-point has a minimum at . The interval evaluation of is obtained as . Although centered form are used to compute the interval evaluation of the equations the calculation is in fact not so expensive as the interval evaluation of the Jacobian matrix has to be done only once.

INTERVAL_VECTOR BiCentered_Form(int DimVar, int DimEq, INTERVAL_VECTOR (* TheIntervalFunction)(int,int,INTERVAL_VECTOR &), INTERVAL_MATRIX (* Gradient)(int, int, INTERVAL_VECTOR &), INTERVAL_VECTOR &Input, int Exact)where

`DimVar`: number of variables`DimEq`: number of expressions`TheIntervalFunction`: procedure in`MakeF`format for interval evaluating the expressions`Gradient`: procedure un`MakeJ`format for evaluating the derivatives of the expressions`Input`: the ranges for the variables`Exact`: if 0 the procedure will return as soon as an interval evaluation of one expression does not include 0

INTERVAL_VECTOR BiCentered_Form(int k,int DimVar, int DimEq, INTERVAL_VECTOR (* TheIntervalFunction)(int,int,INTERVAL_VECTOR &), INTERVAL_MATRIX (* Gradient)(int, int, INTERVAL_VECTOR &), INTERVAL_VECTOR &Input, int Exact)

Another variant is based on the property that the numerical interval
evaluation of the product `J(Input)(Input-Center)` may be
overestimated as there may be several occurence of the same variable
in this product. We may assume that this product has been computed
symbolically, then re-arranged to reduce the number of occurence of the
same variable leading to a procedure in `MakeF` format that
computes directly the product. The syntax of the bicentered form
procedure is

INTERVAL_VECTOR BiCentered_Form(int DimVar, int DimEq, INTERVAL_VECTOR (* TheIntervalFunction)(int,int,INTERVAL_VECTOR &), INTERVAL_MATRIX (* Gradient)(int, int, INTERVAL_VECTOR &), INTERVAL_VECTOR (* ProdGradient)(int, int, INTERVAL_VECTOR &), INTERVAL_VECTOR &Input, int Exact)where