packages feed

levmar-0.2: levmar.cabal

name:          levmar
version:       0.2
cabal-version: >= 1.6
build-type:    Simple
stability:     experimental
tested-with:   GHC ==6.10.4
author:        Roel van Dijk & Bas van Dijk
maintainer:    vandijk.roel@gmail.com, v.dijk.bas@gmail.com
copyright:     (c) 2009 Roel van Dijk & Bas van Dijk
license:       BSD3
license-file:  LICENSE
category:      Numerical, Math
synopsis:      An implementation of the Levenberg-Marquardt algorithm
description:   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:
               <http://www.ics.forth.gr/~lourakis/levmar/>.
               .
               This library consists of two layers:
               .
               * LevMar.Intermediate: A medium-level layer that wraps
                 the low-level functions from bindings-levmar to
                 provide a more Haskell friendly interface.
               .
	       * LevMar: A high-level layer that uses type-level
                 programming to add extra type safety.
               .
               Each layer also has special curve-fitting variants:
               .
	       * LevMar.Intermediate.Fitting
               .
               * LevMar.Fitting
               .
               Each layer also has special variants that automatically compute
               the jacobian using automatic differentiation using Conal
               Elliott's vector-space library:
               .
               * LevMar.Intermediate.AD
               .
	       * LevMar.Intermediate.Fitting.AD
               .
               * LevMar.AD
               .
	       * LevMar.Fitting.AD
	       .
               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.
extra-source-files: Demo.hs

source-repository head
  Type: darcs
  Location: http://code.haskell.org/levmar

library
  build-depends: base >= 3 && < 4.2
               , bindings-levmar == 0.1.*
               , vector-space >= 0.5.7 && < 0.6
               , MemoTrie >= 0.4.5 && < 0.5
  exposed-modules: LevMar
                 , LevMar.AD
                 , LevMar.Fitting
                 , LevMar.Fitting.AD
                 , LevMar.Intermediate
                 , LevMar.Intermediate.AD
                 , LevMar.Intermediate.Fitting
                 , LevMar.Intermediate.Fitting.AD
                 , TypeLevelNat
                 , SizedList
                 , NFunction
  other-modules:   LevMar.Utils
                 , LevMar.Utils.AD
  ghc-options: -Wall -O2