Next: Simplification procedures Up: Utilities Previous: Utilities   Contents

### Bounds for the real roots

The procedure BoundUP allows one to create a C++ program that will determine bounds for the real roots of an univariate polynomial. Its syntax is


BoundUP(Func,Vars,name)
BoundUP(x^3-6*x^2+11*x-6,x,"SIMP");
ALIAS/ID:="nd":
BoundUP(y*x^3-6*x^2+11*x*y-6,[x,y],"SIMP");

where
• func: the polynomial
• Vars: the variable name of the polynomial or a list of variable names, whose first element should be the polynomial variable
• name: the name of the created C++ program, that will be written in the file name.C
The C++ program will take as input an interval vector which will represent the range for all variables in Vars. The program will then possibly update the ranges

[AA_low_pos, AA_high_pos]
[AA_low_neg, AA_high_neg]

that will contain respectively the ranges for the positive and negative real roots of the polynomial. If the program has been able to update the range for the positive roots it will set the global flag AA_Flag[0] to 1 and ALIAS_Flag[1] for the negative roots.

Note that several such procedures may be used as soon as a different ALIAS/ID are given between the procedure: if ALIAS/ID is not an empty string all global variables AA, ALIAS_Flag will have ALIAS/ID appended to their names. Hence in the second above example the lower bound for the positive roots will be AA_low_posnd.

An optional 4th argument may be a list of variable name. In that case Vars must be a single variable name. This will allow to create multiple simplification procedures for a parametric polynomial. For example if is the polynomial

then

ALIAS/ID:="1":
BoundUP(y^3*x^3-6*x^2+11*x*y-6,x,"SIMP1",[x,y]);
ALIAS/ID:="2":
BoundUP(y^3*x^3-6*x^2+11*x*y-6,y,"SIMP2",[x,y]);

will create the simplification SIMP1 that consider as a polynomial in x while SIMP2 consider as a polynomial in y. This allows to have a single list of variable names, as required by the solving procedure, but still to generate multiple simplification procedures.

Next: Simplification procedures Up: Utilities Previous: Utilities   Contents
Jean-Pierre Merlet 2012-12-20