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