Question: Sturm sequence and roots of equation

Dear all;

I need you help for solving this problem, and thanks in advantage for your help.

I have a polynom like  P =x^6-4*x^3+x-2;  and i would like to find an approximate value of the roots in some interval [a,b] =[-2,2] using sturm sequence.

The method is based on:

1) first construct the sturm sequence:

For given polynom P =x^6-4*x^3+x-2;

Let S0=P;

S1=diff(p,x);

let   s:=quo(S0,S1,x);
       S2:=-rem(S0,S1,x);

.... S[k+1-rem(S[k-1],S[k]);

 

S[k] is the sturm sequence.

2) let f(a)= number of change of sign in the sturm sequence and f(b) the same . so f(b)-f(a) give the number of roots in the interval [a,b].

3) If f(b)-f(a) =0 so there are no roots

and if f(a)-f(b)=1 one can find the root

4) if f(a) -f(b) >2  :

given toterance tol=0.001; for example

if the abs(a-b)<2*epsilon we display a message that there are k roots at (b+a)/2

with our error tolerance

5) otherwise if c=(b+a)/2 is not a root of P_k(x)  for any k, ( where p_k is an element of the sturm sequence ) 

we divide the interval into equal halves [a,c] and [x,b] and we run step 2 on each interval

else if c is a root of one of these p_k(x) add any time account to c so that c lies close the middle of [a,b] and not a root

6) Give all the roots ( approximate the rrots with small error epsilon).

 

I kindly  appreciate your help

 

 

 

Please Wait...