next up previous contents
Next: Example Up: Lagrange-MacLaurin theorem Previous: Mathematical background   Contents

Implementation

This procedures is implemented as:
 
int MacLaurin_Bound_Interval(int Degree,VECTOR &Coeff,double *Bound);
with: This procedure fail and returns 0 if Degree=0, Degree=1 and Coeff(2)=0 and if Coeff(Degree+1)=0.

On success the return code is 1. There is also a procedure for the interval polynomial:

 
int MacLaurin_Bound_Interval(int Degree,INTERVAL_VECTOR &Coeff,INTERVAL Bound);
This procedure fail and returns 0 if Degree=0, Degree=1 and $0 \in $Coeff(2) and if $0 \in $Coeff(Degree+1). In that case if Bound=[a,b], then for all polynomials in the set the roots are all lower than b while for some polynomial in the set the roots are lower than a.

It is also possible to determine the lower bound of the positive roots using the procedures:

 
int MacLaurin_Bound_Inverse_Interval(int Degree,VECTOR &Coeff,double *Bound);
int MacLaurin_Bound_Inverse_Interval(int Degree,INTERVAL_VECTOR &Coeff,INTERVAL &Bound);
In the later case if Bound=[a,b], then for all polynomials in the set the roots are all lower than a while for some polynomial in the set the roots are lower than b. To get directly both lower and upper bound of the positive roots you may use:
 
int MacLaurin_Bound_Interval(int Degree,VECTOR &Coeff,INTERVAL &Bound)
int MacLaurin_Bound_Interval(int Degree,INTERVAL_VECTOR &Coeff,INTERVAL &Lower, INTERVAL &Upper)
In the latter case the interval lower bound is in Lower and the interval upper bound in Upper.

It is also possible to determine the lower bound of the negative roots using the procedures:

 
int MacLaurin_Bound_Negative_Interval(int Degree,VECTOR &Coeff,double *Bound);
int MacLaurin_Bound_Negative_Interval(int Degree,INTERVAL_VECTOR &Coeff,INTERVAL &Bound);
Similarly it is possible to determine the upper bound of the negative roots using the procedures:
 
int MacLaurin_Bound_Negative_Inverse_Interval(int Degree,VECTOR &Coeff,double *Bound);
int MacLaurin_Bound_Negative_Inverse_Interval(int Degree,
                          INTERVAL_VECTOR &Coeff,INTERVAL &Bound);
To get directly both lower and upper bound of the negative roots you may use:
 
int MacLaurin_Bound_Negative_Interval(int Degree,VECTOR &Coeff,INTERVAL &Bound)
int MacLaurin_Bound_Negative_Interval(int Degree,INTERVAL_VECTOR &Coeff,
                              INTERVAL &Lower, INTERVAL &Upper)

next up previous contents
Next: Example Up: Lagrange-MacLaurin theorem Previous: Mathematical background   Contents
Jean-Pierre Merlet 2012-12-20