Dear all,

I need you help to finish some steps of this idea to approximate the roots of a given equation (polynom). Thanks in advance for your help.

I have a sturm sequence, I would like to use Bisection method to approximation the roots using Sturm decomposition of my polynom. For example, my polynom is P=x^6-4*x^3+x-2

s := sturmseq(x^6-4*x^3+x-2,x);

sturm(s,x,-2,2); # The number of roots in the interval (-2,2)

Here, i would like to find the roots in (-M,M) :

Bounding all roots in [-M,M] where M = max{1, sum^(n-1) |ai|/an}.

f0 = f, f1 = f', then use -remainder,

I know that sturm(s,x,-M,M); gives the number of roots in (-M,M) but is it possible to use the variation of sign like :

gives a Sturm sequence for f.

variation of sign, varsign(a0,a1,...,ar).

Thm: (Sturm) varsign(f0(alpha),...,fr(alpha)) - varsign(f0(beta),..., fr(beta))

is the number of distinct roots of f in [alpha,beta].

then i would like Isolating roots of rational polynomials

Method: reduce, remove rational roots, divide and conquer in [-M,M],

then use bisection in disjoint closed intervals ctg one root each

Bisection method :

Bisection

Setup: f(a) < 0, f(b) > 0 (or conversely).

Repeated subdivision of [a,b] guaranteed to get close to a root.

Error analysis: for error eps, solve (b-a)/ 2^(n+1) < tol for n. where tol is the tolerance

Thanks