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
[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 to 1 and ALIAS_Flag 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
`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.