The levmar package

[Tags:bsd3, library]

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.

Optional box- and linear constraints can be given. Both single and double precision floating point types are supported.

The actual algorithm is implemented in a C library which is bundled with bindings-levmar which this package depends on. See:

This library consists of two layers:

Each layer also has special curve-fitting variants:

Each layer also has special variants that automatically compute the jacobian using automatic differentiation using Conal Elliott's vector-space library:

Note however that this feature is still very experimental!

All modules are self-contained; i.e. each module re-exports all the things you need to work with it.

For an example how to use this library see Demo.hs which is included in this package. Demo.hs is a Haskell translation of lmdemo.c from the C levmar library.

A note regarding the license:

This library depends on bindings-levmar which is bundled together with a C library which falls under the GPL. Please be aware of this when distributing programs linked with this library. For details see the description and license of bindings-levmar.


Versions 0.1, 0.2, 0.2.1, 0.3, 1.0, 1.1,, 1.2,, 1.2.1,,,,,
Dependencies base (>=3 && <4.2), bindings-levmar (==0.1.*), MemoTrie (>=0.4.5 && <0.5), vector-space (>=0.5.7 && <0.6) [details]
License BSD3
Copyright (c) 2009 Roel van Dijk & Bas van Dijk
Author Roel van Dijk & Bas van Dijk
Stability experimental
Category Numerical, Math
Source repository head: darcs get
Uploaded Wed Sep 16 09:08:46 UTC 2009 by BasVanDijk
Downloads 2613 total (48 in the last 30 days)
0 []
Status Docs not available [build log]
All reported builds failed as of 2015-11-22 [all 3 reports]


  • LevMar
    • LevMar.AD
    • LevMar.Fitting
      • LevMar.Fitting.AD
    • LevMar.Intermediate
      • LevMar.Intermediate.AD
      • LevMar.Intermediate.Fitting
        • LevMar.Intermediate.Fitting.AD
  • NFunction
  • SizedList
  • TypeLevelNat


Maintainer's Corner

For package maintainers and hackage trustees