SNLE
From OpenOpt
System of Non-Linear Equations (SNLE)
- Solve system of non-linear equations
- subjected to
- OpenOpt SNLE example
- FuncDesigner examples:
in versions prior to 0.34 you should use "NLSP" instead of "SNLE"
SNLE solvers connected to OpenOpt
Solver | License | Constraints | Can handle derivatives | Info |
---|---|---|---|---|
scipy_fsolve | BSD | None | df | It's a wrapper around MINPACK's hybrd and hybrj algorithms. |
(since v 0.5112) matlab_fsolve | proprietary | None | df | Requires MATLAB. Can handle sparse jacobian, user-supplied or from FuncDesigner automatic differentiation; currently Python2 only, not ported on Python3 and PyPy yet |
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: