Low level bindings to the C levmar (Levenberg-Marquardt) library
|Latest on Hackage:||220.127.116.11|
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
levmar package for a high-level wrapper
around this package.
The Levenberg-Marquardt algorithm is an iterative technique that finds a local minimum of a function that is expressed as the sum of squares of nonlinear functions. It has become a standard technique for nonlinear least-squares problems and can be thought of as a combination of steepest descent and the Gauss-Newton method. When the current solution is far from the correct one, the algorithm behaves like a steepest descent method: slow, but guaranteed to converge. When the current solution is close to the correct solution, it becomes a Gauss-Newton method.
Both unconstrained and constrained (under linear equations and box constraints) Levenberg-Marquardt variants are included. All functions have Double and Float variants.
Note that the included
is lightly patched to make it pure. This way the
functions can be used inside
A note regarding the license:
All files EXCEPT those in the levmar-2.4 directory fall under the BSD3 license. The levmar C library, which is bundled with this binding, falls under the GPL. If you build a program which is linked with this binding then it is also linked with levmar. This means such a program can only by distributed under the terms of the GPL.