Next: Return code
Up: General purpose solving algorithm
Previous: Single bisection mode
Contents
The algorithm is implemented in generic form as:
int Solve_General_Gradient_Interval(int m,int n,
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