[SciPy-dev] RFR: Nonlinear solver rewrite
Pauli Virtanen
pav@iki...
Thu May 7 16:23:50 CDT 2009
Hi,
The large-scale nonlinear equation solver (nonlin.py) rewrite is nearing
completion.
Git branch is here:
http://github.com/pv/scipy-work/commits/ticket/791-optimize-nonlin-rewrite
Review ticket is here:
http://codereview.appspot.com/62059
Trac ticket is here:
http://projects.scipy.org/scipy/ticket/791
You may want to try out the examples in the docstring of nonlin.py
The following new features are added
- Proper termination conditions
- Generic framework for tolerance-controlled inexact Newton methods
- Backtracking and line searches
- Limited-memory Broyden methods, including SVD rank reduction
in addition to more basic options
- Newton-Krylov solver, using any of the solvers from
scipy.sparse.linalg
The new code API is mostly backward-compatible to the old one. Some
methods that were not very useful are deprecated. All of the code is
rewritten and refactored, aiming for easier maintenance.
The API may need some tuning still; should the method_name wrappers be
discarded, and the nonlin_solve(..., jacobian='foo') be the preferred
interface?
Note that this patchset includes some work in other parts of Scipy; these
are in review separately (so don't comment on those in this ticket):
- LGMRES sparse solver
http://codereview.appspot.com/53096
http://github.com/pv/scipy-work/commits/lgmres
- Line search refactoring
http://codereview.appspot.com/52096
http://github.com/pv/scipy-work/commits/linesearch-refactor
Cheers,
Pauli
More information about the Scipy-dev
mailing list