next up previous contents
Next: Specific solving procedures Up: General purpose system solving Previous: GeneralSolve   Contents

GradientSolve and HessianSolve

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

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 $m$ equations and $n$ unknowns with $m>n$ the algorithm computes the exact solutions of the first $n$ equations. Then if the interval evaluation of all the $m-n$ remaining equations has an absolute value lower than `ALIAS/fepsilon` the solution is supposed to be valid. For systems with $m<n$ see section 3.4.


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