Next: , Previous: , Up: Top   [Contents][Index]

73 mnewton


Next: , Previous: , Up: mnewton-pkg   [Contents][Index]

73.1 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


Previous: , Up: mnewton-pkg   [Contents][Index]

73.2 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. If newtonepsilon is a bigfloat, then mnewton computations are done with bigfloats. 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

Function: mnewton (FuncList,VarList,GuessList)

Multiple nonlinear functions solution using the Newton method. FuncList is the list of functions to solve, VarList is the list of variable names, and GuessList is the list of initial approximations.

The solution is returned in the same format that solve() returns. If the solution is not found, [] is returned.

This function is controlled by global variables newtonepsilon and newtonmaxiter.

(%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]]

To use this function write first load("mnewton"). See also newtonepsilon and newtonmaxiter.

Categories:  Package mnewton


Previous: , Up: mnewton-pkg   [Contents][Index]