In the implementation we define as the smallest real which satisfy
. If we find
such that
, then we
increase
by a given positive value sens and start again. We
limit the number of iteration of the scheme by giving a maximal value
for the number of iteration:
int Newton_Bound_Interval(int Degree,VECTOR &Coeff1,double amp_sens,int MaxIter,double *bound);with:
int Newton_Bound_Inverse_Interval(int Degree,VECTOR &Coeff1,double amp_sens, int MaxIter,double *bound);We have also a procedure which determine upper and lower bound for the real roots:
int Newton_Bound_Interval(int Degree,VECTOR &Coeff1,double amp_sens, int MaxIter,INTERVAL &Bound);All the real roots lie within Bound. We may also use this procedure for interval polynomial:
int Newton_Bound_Interval(int Degree,INTERVAL_VECTOR &Coeff,double sens, int MaxIter,INTERVAL &Bound);This procedure fail and returns 0 if Degree=0,
int Newton_Bound_Interval(int Degree,INTERVAL_VECTOR &Coeff,double sens, int MaxIter,INTERVAL &Lower,INTERVAL &Upper);In that case Upper=[a,b] will be such that value of all roots of any polynomial within the set is lower than b, while for some polynomial they will be lower than a. On the other hand Lower=[a,b] will be such that the value of all roots of any polynomial within the set is greater than a, while for some polynomial they will be greater than b.