|  |  D.15.30.11 rootIsolation Procedure from libraryrootisolation.lib(see  rootisolation_lib).
 
Example:Usage:
rootIsolation(I, [start, eps]);I ideal, start box, eps number
Assume:
Iis a zero-dimensional radical ideal
Return:
(L1, L2), whereL1contains boxes smaller than eps which
may contain an element of V(I), i.e. a root andL2contains boxes which contain exactly one element of V(I)
Purpose:
same as rootIsolationNoPreprocessing, but speeds up computation
by preprocessing starting box
Theory:
As every root of Iis a root of the polynomialsI[i], we
use Groebner elimination to find univariate polynomials for every
variable which have these roots as well. Using thatIis
zero-dimensional these Groebner bases may be quickly computed using
FGLM. Applying root isolation to these univariate polynomials then
provides smaller starting boxes which speed up computations in the
multivariate case.
Note:
This algorithm and some procedures used therein perform Groebner basis
computations in basering. It is thus advised to defineIw.r.t. a fast monomial ordering.The algorithm performs checks on
 Ito prevent errors. IfIdoes not have the right number of generators, we first try to
find a suitable Groebner basis. If this fails we apply the algorithm
to the triangular decomposition ofI.
 |  | LIB "rootisolation.lib";
ring R = 0,(x,y),dp;
ideal I = 2x2-xy+2y2-2,2x2-3xy+3y2-2;  // V(I) has four elements
interval i = bounds(-3/2,3/2);
box B = list(i, i);
list result = rootIsolation(I, B);
result;
==> [1]:
==>    empty list
==> [2]:
==>    [1]:
==>       [-1, -1] x [0, 0]
==>    [2]:
==>       [-1/2, -1/2] x [-1, -1]
==>    [3]:
==>       [1/2, 1/2] x [1, 1]
==>    [4]:
==>       [1, 1] x [0, 0]
 | 
 
 |