** 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