Next: Specific solving procedures Up: General purpose system solving Previous: GeneralSolve   Contents

The syntax of these procedures is the same as GeneralSolve but there are two main differences between these procedures and GeneralSolve:

• the derivatives of the expressions are used to improve their interval evaluation: hence the expressions should be at least for GradientSolve and for HessianSolve
• provided that the jacobian of the system is regular these algorithms are able to compute exactly the solutions of a system in the following sense: each of the solution boxes are guaranteed to contain one and only one solution and furthermore there is a numerical scheme that allows to determine this solution. If this is the case these procedures will return as result boxes for which each interval is reduced to a point (otherwise interval solutions are returned: this is a good way to determine if ALIAS has been able to calculate an exact solution). Furthermore the result provided by HessianSolve may be used as input for the Newton procedure that will allow to compute the solutions with an arbitrary accuracy, see section 9.8.

When ALIAS has returned a point M as solution it is always possible to retrieve the boxes in which it was found that there was a unique solution whose approximation is M: all interval solutions are available via the list `ALIAS/Solutions`.

In spite of the additional computation time involved by the use of the derivatives, these procedures are in general faster than GeneralSolve. Indeed the algorithms that are used in these procedures may allow to determine relatively large box in which an unique solution will be found, thereby avoiding a large number of bisection. As this knowledge is used to manage the list of boxes it may have a drastic effect on the computation time of the algorithm.

Note that it is possible to avoid using the Hessian (which may be computer intensive) for the evaluation of the expressions by setting the variable `ALIAS/no_hessian` to 1. The flag `ALIAS/rand` may be used to switch of bisection mode from time to time (it fixes the value of the ALIAS-C++ ALIAS_RANDG variable). The variables `ALIAS/size_tranche_bisection` and `ALIAS/tranche_bisection` may be used for the bisection mode 8 of GradientSolve (see the ALIAS-C++ manual).

For systems with equations and unknowns with the algorithm computes the exact solutions of the first equations. Then if the interval evaluation of all the remaining equations has an absolute value lower than `ALIAS/fepsilon` the solution is supposed to be valid. For systems with see section 3.4.

Next: Specific solving procedures Up: General purpose system solving Previous: GeneralSolve   Contents
Jean-Pierre Merlet 2012-12-20