The bindings-levmar package
See the 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 C library is lightly patched to make it pure. This way the functions can be used inside unsafePerformIO.
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.
[Skip to Readme]
|Versions||0.1, 0.1.0.1, 0.1.1, 0.1.1.1, 0.2.0.1, 1.0, 220.127.116.11, 18.104.22.168, 1.1, 22.214.171.124, 126.96.36.199, 188.8.131.52|
|Dependencies||base (>=3 && <4.9), bindings-DSL (>=1.0.15 && <1.1) [details]|
|Copyright||2009–2012 Roel van Dijk & Bas van Dijk|
|Author||Roel van Dijk <firstname.lastname@example.org> & Bas van Dijk <email@example.com>|
|Maintainer||Roel van Dijk <firstname.lastname@example.org> & Bas van Dijk <email@example.com>|
|Source repository||head: git clone git://github.com/basvandijk/bindings-levmar.git|
|Uploaded||Mon Jan 5 06:39:04 UTC 2015 by BasVanDijk|
|Downloads||2496 total (37 in the last 30 days)|
|Status||Docs available [build log]
Last success reported on 2015-01-05 [all 1 reports]
|mkl||Link with Intel's MKL optimized libraries.||Disabled||Manual|
|accelerate||Use the accelerate framework for LAPACK/BLAS on OS X||Disabled||Manual|
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
For package maintainers and hackage trustees