Next: The Bound_Distance procedure Up: Utilities procedures of ALIAS-Maple Previous: Transformation of an expression:   Contents

# Newton scheme

We have a specific Maple implementation of the Newton scheme which is mostly be intended to be used in conjunction with the result of the solving algorithms of ALIAS-C++. The main purpose of this procedure is to allow to refine the accuracy of the result provided by the solving procedures of ALIAS-C++ which have an accuracy of double. It will allow to calculate the roots of a system with an accuracy that is specified in term of number of digits. For example when specifying an accuracy of 200 digits the result provided by this procedure (when it succeeded) will be a number with 200 digits, the last digit being guaranteed to be the correct digit for the solution.
```
Newton(Func,Vars,Init,Maxiter,Acc)
```
where
• Func: a list with the system of equations to be solved (which must be square)
• Vars: a list with the name of the unknowns
• Init: a list for the initial guess. This list may be either an element of the list returned by the solving procedure of ALIAS (i.e. with 2 elements for each variable) or a list with one element for each variable
• Maxiter: maximum number of iteration allowed for the scheme
• Acc: accuracy for the solution: the Acc-th bit is guaranteed to be exact
This procedure returns:
• -4: number of Init element not compatible with the number of elements in Vars
• -2: not a square system
• -3: singular jacobian matrix
• -1: more than MaxIter iterations
• 1: success
and the estimation of the solution in ALIAS_Newton.

Clearly this procedure may fail to return a correct result in some cases: for example if the correct result of an univariate equation is 2 it may happen that the numerical Newton scheme always converge to 1.999999999.

Next: The Bound_Distance procedure Up: Utilities procedures of ALIAS-Maple Previous: Transformation of an expression:   Contents
Jean-Pierre Merlet 2012-12-20