The Weyl filter is implemented to manage univariate polynomial (with numerical or interval coefficients) or parametric polynomial. A basic tool of this filter is
int Weyl_Filter_Utility(int Degree, double maxroot, INTERVAL_VECTOR &b,INTERVAL_VECTOR &Input)where Input(1) is the range for the polynom variable and b the coefficients. A more general implementation is
int Weyl_Filter(int Degree, INTERVAL_VECTOR &Coeff,double maxroot, int (* GetB)(int,INTERVAL_VECTOR &,INTERVAL &,INTERVAL_VECTOR &), INTERVAL_VECTOR &Input)Here GetB is a procedure that calculates the coefficients. Its arguments are the degree of the polynomial, its coefficients, and the coefficients. It should return 1 if the calculation has been successfull, 0 otherwise. An example of such procedure is Derive_Polynomial_Expansion. Degree is the degree of the polynomial, Coeff its coefficients and Input(1) is the range for the polynomial unknown.
This procedure has several variants:
int Weyl_Filter(int Degree, INTERVAL_VECTOR &Coeff,double max_root, INTERVAL_VECTOR &Input)here the GetB procedure will be Derive_Polynomial_Expansion. In
int Weyl_Filter(int Degree, INTERVAL_VECTOR &Coeff, INTERVAL_VECTOR &Input)here the GetB procedure will be Derive_Polynomial_Expansion and maxroot will be computed by an ALIAS procedure. The same procedure will be used in
int Weyl_Filter(int Degree, INTERVAL_VECTOR &Coeff, int (* GetB)(int,INTERVAL_VECTOR &,INTERVAL &,INTERVAL_VECTOR &), INTERVAL_VECTOR &Input)