Next: Filtering simplification procedures Up: Simplification procedures Previous: Simplification procedures   Contents

# Introduction

For a specific problem the end-user may have some knowledge of the problem that implies that he may determine that for some intervals for the variables the problem has no solution or that the intervals for some variables may be reduced.

ALIAS-Maple allows one to introduce such knowledge in the generated C++ code. The mechanism that is used is to allow one to specify a C++ routine, that will be called a simplification procedure. We will present in this chapter simplification procedures devoted to system solving. A simplification procedure takes as input a set of intervals for the variables and will return an integer:

• -1 if there is no solution to the problem at hand for the given set of intervals
• 1 if the routine has allowed to reduce the width of the intervals of the set
• 0 if the routine has not changed the set of intervals
• 11 if the simplification procedure provides a root that may be found with the Newton scheme (see for example TryNewton)
Procedures returning -1,0 or 1 will be called filtering procedures while procedures returning 11 are called root procedures.

This routine will be called by all the solving procedure of ALIAS-Maple whenever a new set of intervals is considered in the algorithm i.e. right after the bisection process (see the ALIAS-C++ manual). System solving procedures in ALIAS C++ are designed to discard box for which a simplification procedure returns -1 and to update it if the simplification procedure returns 1.

The syntax of such a routine Simp is:

```
int Simp(INTERVAL_VECTOR &v_IS)
{
....
return 0;
}
```

Alternatively ALIAS-Maple allows to automatically produce simplification procedures according to classical methods used in interval analysis.

Note that numerical round-off errors in Maple may produce solving errors as the filtering procedures uses frequently an expanded version of the expressions. To reduce the impact of this problem it is possible to adjust the number of digits that will be used when doing numerical computation in the filtering procedure by using the ALIAS variable `ALIAS/digits` which is set by default to 40.

Next: Filtering simplification procedures Up: Simplification procedures Previous: Simplification procedures   Contents
Jean-Pierre Merlet 2012-12-20