Introduction to mnewton
=======================

mnewton is an implementation of Newton's method for solving nonlinear equations in one or more variables.

Categories: Numerical methods Share packages Package mnewton

Functions and Variables for mnewton
===================================

 -- Option variable: newtonepsilon
     Default value: 10.0^(-fpprec/2)

     Precision to determine when the mnewton function has converged towards the solution.

     When newtonepsilon is a bigfloat, mnewton computations are done with bigfloats; otherwise, ordinary floats are used.

     See also mnewton

     Categories: Package mnewton

 -- Option variable: newtonmaxiter
     Default value: 50

     Maximum number of iterations to stop the mnewton function if it does not converge or if it converges too slowly.

     See also mnewton

     Categories: Package mnewton

 -- Option variable: newtondebug
     Default value: false

     When newtondebug is true, mnewton prints out debugging information while solving a problem.

     Categories: Package mnewton

 -- Function: mnewton
     mnewton (FUNCLIST, VARLIST, GUESSLIST)
     mnewton (FUNCLIST, VARLIST, GUESSLIST, DF)

     Approximate solution of multiple nonlinear equations by Newton's method.

     FUNCLIST is a list of functions to solve, VARLIST is a list of variable names, and GUESSLIST is a list of initial approximations. The optional argument DF is the Jacobian matrix of the list of functions; if not supplied, it is calculated automatically from FUNCLIST.

     FUNCLIST may be specified as a list of equations, in which case the function to be solved is the left-hand side of each equation minus the right-hand side.

     If there is only a single function, variable, and initial point, they may be specified as a single expression, variable, and initial value; they need not be lists of one element.

     A variable may be a simple symbol or a subscripted symbol.

     The solution, if any, is returned as a list of one element, which is a list of equations, one for each variable, specifying an approximate solution; this is the same format as returned by solve. If the solution is not found, [] is returned.

     Functions and initial points may contain complex numbers, and solutions likewise may contain complex numbers.

     mnewton is governed by global variables newtonepsilon and newtonmaxiter and the global flag newtondebug

     load("mnewton") loads this function.

     See also realroots allroots find_root and newton

     Examples:

          (%i1) load("mnewton")$

          (%i2) mnewton([x1+3*log(x1)-x2^2, 2*x1^2-x1*x2-5*x1+1],
                        [x1, x2], [5, 5]);
          (%o2) [[x1 = 3.756834008012769, x2 = 2.779849592817897]]
          (%i3) mnewton([2*a^a-5],[a],[1]);
          (%o3)             [[a = 1.70927556786144]]
          (%i4) mnewton([2*3^u-v/u-5, u+2^v-4], [u, v], [2, 2]);
          (%o4) [[u = 1.066618389595407, v = 1.552564766841786]]

     The variable newtonepsilon controls the precision of the approximations.  It also controls if computations are performed with floats or bigfloats.

          (%i1) load("mnewton")$

          (%i2) (fpprec : 25, newtonepsilon : bfloat(10^(-fpprec+5)))$

          (%i3) mnewton([2*3^u-v/u-5, u+2^v-4], [u, v], [2, 2]);
          (%o3) [[u = 1.066618389595406772591173b0,
                                         v = 1.552564766841786450100418b0]]

     Categories: Package mnewton