Let be a polynomial and be maxroot the maximal modulus of the root of . From we may derive a the unitary polynomial such that the roots of have a modulus lower or equal to 1 and if is a root of then maxroot is a root of .
Let which may also be written as where is some fixed point.
Let a range for and let be the mid point of the
range. We consider the square in the complex plane centered at
and whose edge length is . Let be the length of the
half-diagonal of this square.
WeylFilter(Func,Vars,FullVars,MaxRoot,TypeB,name)will consider each equation in the list Func and examine if it may considered as a parametric polynomial successively in each variable in the list Vars. If yes the Weyl filter will be used on the polynomial whose coefficients are functions of the variables in the list FullVars (all variables in Vars must be a member of FullVars). MaxRoot is a list which indicates for each variable in Vars what is the maximum modulus of the roots of all parametric polynomials in this variable. An element of MaxRoot may be a numerical value of the key-word "automatic" which indicates that the C++ program will try to determine the maximal modulus. The list TypeB indicates for each variable in Vars how are computed the i.e. numerically with the keyword "numeric", or symbolically (which is usually more efficient) with the keyword "symbolic". The simplification procedure will be named name and be written in the file name.C. For the previous example the procedure will be
WeylFilter([x^2*sin(x)+x*sin(y)+ x*exp(x)],[x],[x,y],["automatic"],["symbolic"],"SIMP");Another example of the use of this procedure is presented in section 12.3.