On 2 Nov 2006, at 20:46, dimitris wrote:
> Options[Root]
> (Information[Evaluate[#1[[1]]]] & ) /@ %;
>
> {ExactRootIsolation -> False}
> "ExactRootIsolation is an option for Root, which specifies whether
> exact isolating intervals rather then numeric approximations should be
> used to identify algebraic numbers."
> Attributes[ExactRootIsolation] = {Protected}
>
> Can someone provide me more information about this undocumented option
> of Root with some examples of the setting ExactRootIsolation ->True?
>
> Thanks
>
Root isolation is an algorithm that is used to separate ("Isolate")
the roots of a polynomial (real and complex) so that they can be
ordered and manipulated as individual objects. One method is an exact
algebraic one and the other a validated "numerical" one, which means
that although it uses numerical methods the answers are as reliable
or "exact" as when you use "exact" root isolation. Basically when the
numerical method is used, circles in the complex plane containing
individual roots are constructed using using arbitrary precision
approximations to the roots. With the exact method open rational
rectangles (intervals for real roots) are used.
The numerical method is generally faster so it is the default. Other
than that the methods differ in the way the non-real roots are
ordered: in both cases the real roots come before the non-real ones
and are ordered naturally, but the orderings of the non-real roots
may be different. If you use a function like Solve with the default
options setting ExactRootIsolation->True and then with the setting
ExactRootIsolation->False, you will see that Root has an invisible
third argument which tells you which method of root isolation was used.
I think that's all there is to it. I don't think any of it should
concern the average user, unless you are really working on something
involving algebraic numbers, when knowing which method of root
isolation was used may be important. You also need to know this if
you want to convert Mathematica root objects to analogous entities in
other computer algebra programs.
Andrzej Kozlowski
Tokyo, Japan