Поделиться через


5 min Intro to nonlinear solvers

Nonlinear solvers are essentially solving a system of nonlinear equations.  X^2 + x -1 =0 is a nonlinear equation.  As we recall from Calculus 101, to solve these equations, one has to use some variants of Newton’s method because it has fast convergence to the solution property.  For systems of nonlinear equations, Newton's method requires repeated solutions of systems of linear equations, or the famous Jacobian matrix(first order partial derivatives of a vector valued function). 

This is why it is so important to have scalable linear system solvers.  The performance of a nonlinear solver is heavily dependent of parallel performance of linear solvers. Other methods are also used for solutions of nonlinear equations. Their market share is smaller because of slower convergence to solution property. Solving system of nonlinear equations with many degrees of freedom is usually easier with Newton-like methods than with other approaches.  Another algorithm that a lot of libraries seem to implement is the Levenberg-Marquardt method, your software manual/mathbook will do a better job explaining it.

The final part of the simple math series will discuss methods for solving time-variable ordinary and partial differential equations.  Many systems in the field of physics, chemistry, and biology, even social networks can be modeled using these time variable stepper solvers.

Comments

  • Anonymous
    June 30, 2008
    The comment has been removed
  • Anonymous
    February 24, 2009
    When it comes to HPC development, linear algebra libraries are the essential building blocks.  You