up previous next
RootBound    --    bound on roots of a polynomial over QQ


Syntax
RootBound(F: RINGELEM): RAT
RootBound(F: RINGELEM, N: INT): RAT
RootBound_Birkhoff(F: RINGELEM): RAT
RootBound_Cauchy(F: RINGELEM): RAT
RootBound_Lagrange(F: RINGELEM): RAT
RootBound_LMS(F: RINGELEM): RAT

Description
The function RootBound computes a bound on the absolute values of the complex roots of a univariate polynomial with rational coefficients. In some cases you may get a better bound by applying first the transformation produced by the function LinearSimplify. The optional second argument specifies a trade-off between speed and tightness of the bound (more precisely: it says how many iterations of Graeffe transformation to apply); higher numbers give better bounds but can take significantly more time. With just one argument, the number of iterations is determined heuristically.

The functions RootBound_Birkhoff, RootBound_Cauchy, RootBound_Lagrange and RootBound_LMS compute those bounds directly. You should normally use the function RootBound which computes all the bounds, and takes the smallest; it may also apply some Graeffe transformations.

Example
/**/  use P ::= QQ[x];
/**/  RootBound(x^2-2);
363/256

See Also