Next: Using the parser programs
Up: Examples
Previous: Non algebraic equations
Contents
You may use directly the analyzer in a program using the following
syntax:
int Equation_Analyzer(int Dimension,int Dimension_Eq,int MaxBox,
char *formula_file,char *gradient_file,char *hessian_file,
char *inequalities_file,char *dimension_file,char *coeff_file,
char *gradient_coeff_file,
int method,int nb_inequalities,int equation_processed,
INTERVAL_VECTOR &Input,
double Acc_Var,double Acc_Eq,double Acc_Kanto,
int Depth_Level,
INTERVAL_MATRIX &Range,
int *Nb_Range);
with:
- Dimension: the number of unknowns in the system
- Dimension_Eq: the number of equations in the system
- MaxBox: the maximum number of ranges that may be produced
at any step of the algorithm
- formula_file: if the system has already been
processed the name of the file which contain the
equations in parser format
- gradient_file: if the system has already been
processed the name of the file which contain the
gradient equations in parser format
- hessian_file: if the system has already been
processed the name of the file which contain the
gradient equations in parser format
- inequalities_file: if the system has already been
processed the name of the file which contain the
inequalities equations in parser format. The number of inequalities
must be given in nb_inequalities
- dimension_file: the name of the dimension file, i.e. the
file which contain the degree of the equations in the unknowns
(see section 12.4.4.1). If
this string has 0 length the analyzer will assume that you have filed
the integer array Dimen_IA(Dimension_Eq,Dimension
with the appropriate number: for example Dimen_IA(1,2) should
contain the degree of the first equation in the second variable (the
order of the variable is their order of occurrence in the
string array that contain their names).
- coeff_file: the base-name for the files containing the
coefficients of the equations. For example
coeff_file1-2 must
contain the coefficients of the first equation considered as a
univariate polynomial in the second variable
- gradient_coeff_file: the base-name for the files containing the
gradient of the
coefficients of the equations. For example
gradient_coeff_file1-2 must
contain the gradient of the coefficients of the first equation considered as a
univariate polynomial in the second variable
- method: an integer describing the method you are using for
evaluating the equation:
- 0: straightforward interval evaluation
- 1: evaluation using the gradient of the equation
- 2: use Kantorovitch and Newton scheme to determine roots
of the system and intervals containing unique roots of the system.
- nb_inequalities: the number of inequalities constraints
you have
- equation_processed: an integer which may be 0 or 1.
- 0: you have not processed your system. The analyzer will
consider that the argument formula_file is a MAPLE program that
contain the description of your equations. It will then create all the
necessary intermediate files (see section 12.4.4.1). Note that
in that case all the string files of this procedure will be
substituted by the names of the
corresponding intermediary files. The storage space of
these strings must therefore be sufficient.
- 1: the system has already been processed and the name
indicated in the arguments of this procedure are parser files
- Input: the initial set of ranges for the unknowns
- Acc_Var: unused at this time
- Acc_Eq: if method is 2 the threshold under which an
equation will be considered to be equal to 0 in the Newton scheme
- Acc_Kanto: if method is 2, the maximal
diameter in a set of ranges under which we start applying
Kantorovitch. A typical value is 0.5
- Depth_Level: the level of bisection that will be used by
the analyzer (from 0 to some positive value)
- Range: the sets of ranges produced by the algorithm
- Nb_Range: the number of sets in Range
Beside these arguments you must fill the string array
variable_name_IS with the name of the unknowns.
If you have a parametric system you must indicate the name of the
parameters in the string array parameter_name_IS, their values
in the array of doubles parameter_value_IS and set the integer
variable Nb_Parameter_IA to the number of parameters.
Next: Using the parser programs
Up: Examples
Previous: Non algebraic equations
Contents
Jean-Pierre Merlet
2012-12-20