From OpenOpt

Jump to: navigation, search
System of Non-Linear Equations (SNLE)
Solve system of non-linear equations
subjected to
\mathbf{lb} \le \mathbf{x} \le \mathbf{ub}
\mathbf{A x} \le \mathbf{b}
 \mathbf{\forall i=0,...,I: c_i(x) \le 0}
 \mathbf{F: R^n \to R^n}
 \mathbf{x \in R^n}

Attention in versions prior to 0.34 you should use "NLSP" instead of "SNLE"

SNLE solvers connected to OpenOpt

Solver License Constraints Can handle
scipy_fsolve BSD None df it's a wrapper around MINPACK's hybrd and hybrj algorithms.
interalg BSD (since r. 0.36) all; finite box-bounds are required (they may be very huge) interval analysis is used instead Guaranteed solution no matter are involved functions convex, nonconvex, multiextremum, ill-conditioned etc (or rather quickly ensures that solution doesn't exist). See the example where interalg works and scipy.optimize fsolve fails. Can obtain ALL solutions of nonlinear equations system in the given box lb_i <= x_i <= ub_i (example).
converter to NLP BSD all that NLP solver can handle all that NLP solver can handle Example: r = p.solve('nlp:ralg'). It tries to minimize norm(F, 2) till required ftol and contol will be reached.
nssolve BSD lb, ub, Aeq, A, c, h (example) df, dc, dh This one is primarily for nonsmooth and noisy funcs, uses NSP ralg or amsg2p solvers (former for constrained problems, latter currently for unconstrained) and is intended to be enhanced from time to time, as well as the solvers. ns- can be interpreted as NonSmooth or NoiSy or Naum Shor (Ukrainian academician, my teacher, r-algorithm inventor).

The ones below work very unstable and can't use user-provided gradient, at least for scipy 0.6.0
scipy_anderson, scipy_anderson2, scipy_broyden1, scipy_broyden2, scipy_broyden3, scipy_broyden_generalized
Maybe they will be enhanced in future by someone. See here for details

See also:

SLE (System of linear equations), ODE (ordinary differential equations)
Retrieved from ""
Personal tools
    Latest OOSuite 0.38

    from 2012-03-15

    Next release: