Solving Nonlinear Equations with Newton's Method

Here is a short list of things to think about when you select and use a nonlinear solver.
When you select a nonlinear solver for your problem, you need to consider not only the computational cost (in CPU time and storage) but also YOUR TIME. A fast code for your problem that takes ten years to write has little value.
Unless your problem is very simple, or you're an expert in this field, your best bet is to use a public domain code. The MATLAB codes that accompany this book are a good start and can be used for small-to medium-scale production work. However, if you need support for other languages (meaning C, C + +, or FORTRAN) or high-performance computing environments, there are several sources for public domain implementations of the algorithms in this book.
The Newton Krylov solvers we discuss in Chapter 3 are at present (2003) the solvers of choice for large problems on advanced computers. Therefore, these algorithms are getting most of the attention from the people who build libraries. The SNES solver in the PETSc library [5, 6] and the NITSOL [59], NKSOL [13], and KINSOL [75] codes are good implementations.
The methods from Chapter 2, which are based on direct factorizations, have received less attention recently. Some careful implementations can be found in the MINPACK and UNCMIN libraries. The MINPACK [51] library is a suite of FORTRAN codes that includes an implementation of...