Next: Return code Up: General purpose solving algorithm Previous: Single bisection mode   Contents

## Implementation

The algorithm is implemented in generic form as:
```
INTEGER_VECTOR Type_Eq,
INTERVAL_VECTOR (* IntervalFunction)(int,int,INTERVAL_VECTOR &),
INTERVAL_MATRIX (* IntervalGradient)(int, int, INTERVAL_VECTOR &),
INTERVAL_VECTOR & TheDomain,
int Order,int M,int Stop,
double epsilon,double epsilonf,double Dist,
INTERVAL_MATRIX & Solution,int Nb,INTEGER_MATRIX &GI,
int (* Simp_Proc)(INTERVAL_VECTOR &))
```
the arguments being:
• m: number of unknowns
• n: number of functions, see the note 2.3.4.1
• Type_Eq: type of the functions, see the note 2.3.4.2
• IntervalFunction: a function which return the interval vector evaluation of the functions, see the note 2.3.4.3. Remember that if you have equations and inequalities in the system you must first define the equations and then the inequalities.
• IntervalGradient: a function which the interval matrix of the jacobian of the functions, see the note 2.4.2.2
• TheDomain: box in which we are looking for solution of the system. A copy of the search domain is available in the global variable ALIAS_Init_Domain
• Order: the type of order which is used to store the boxes created during the bisection process. This order may be either MAX_FUNCTION_ORDER or MAX_MIDDLE_FUNCTION_ORDER. See the note on the order 2.3.4.4.
• M: the maximum number of boxes which may be stored. See the note 2.3.4.5
• Stop: the possible values are 0,1,2
• 0: the algorithm will look for every solution in TheDomain
• 1: the algorithm will stop as soon as 1 solution has been found
• 2: the algorithm will stop as soon as Nb solutions have been found
• epsilon: the maximal width of the box, see the note 2.3.4.6
• epsilonf: the maximal width of the function intervals, see the note 2.3.4.6. Note that if this value is set to 0, then Moore test is not used.
• Dist: minimal distance between the middle point of two interval solutions, see the note 2.3.4.7
• Solution: an interval matrix of size (Nb,m) which will contained the solution intervals. This list is sorted using the order specified by Order
• Nb: the maximal number of solution which will be returned by the algorithm
• GI: an integer matrix called the simplified jacobian, which give a-priori information on the sign of the derivative of the function. GI(i,j) indicates the sign of the derivative of function i with respect to variable j using the following code:
• -1: the derivative is always negative
• 0: the function is not dependent of variable j
• 1: the derivative is always positive
• 2: the sign of the derivative is not known
• Simp_Proc: a user-supplied procedure that take as input the current box and proceed to some further reduction of the width of the box components or even determine that there is no solution for this box, in which case it should return -1 (see note 2.3.3). Remember that you may use the 3B method to improve the efficiency of this algorithm (see section 2.3.2).
Note that the following arguments may be omitted:
• Type_Eq: in that case all the functions will supposed to be equations.
• GI: in that case all the sign of the derivatives will supposed to be unknown
• Simp_Proc: no simplification procedure is provided by the user

Subsections

Next: Return code Up: General purpose solving algorithm Previous: Single bisection mode   Contents
Jean-Pierre Merlet 2012-12-20