next up previous contents
Next: Newton scheme Up: Utilities procedures of ALIAS-Maple Previous: Finding elementary components in   Contents


Transformation of an expression: MinimalCout

It is well known that the interval evaluation of an expression is sensitive to the manner with which the expression is written. For example in term of interval analysis $x^2+2x+1$ is not equivalent to $(x+1)^2$ as the interval evaluation of these two forms will usually be different. Unfortunately there is usually no known rule to determine which form will lead to the best interval evaluation of an expression (except if there is exactly one and only one occurrence of each variable in the expression). Hence ALIAS-Maple uses a set of heuristics to transform an expression into a form that leads usually to a good interval evaluation. The procedure MinimalCout takes as argument an expression and returns a mathematical equivalent of this expression but in a form that may be better for the interval evaluation.

Among the heuristics that are used in this procedure we use a conversion into Horner form. For a multivariate expression there are different Horner form according to the ordering of the variable. MinimalCout will consider all possible ordering of the variable to produce the best form but this may be computer intensive if there is a large number of variables. Hence all the ordering will be tested only if the number of variables does not exceed `ALIAS/mincout` with a default value of 8. Reducing the value of `ALIAS/mincout` will allow to reduce the computation time for calculating the best form for the expression as the possible expense of getting a less sharper interval evaluation. If the use of MinimalCout has to be avoided it is sufficient to set `ALIAS/mincout` to a negative value.

MinimalCout accepts an optional second argument which is a list of variables. The procedure will try find an expression that is the best with respect to this list.


next up previous contents
Next: Newton scheme Up: Utilities procedures of ALIAS-Maple Previous: Finding elementary components in   Contents
Jean-Pierre Merlet 2012-12-20