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