GADfit

Global nonlinear optimization with automatic differentiation

gadfit-2.0.1.zip gadfit-2.0.1.tar.gz View on GitHub

Brief description

GADfit is an implementation of global nonlinear curve fitting, based on a modified Levenberg-Marquardt algorithm. Global fitting refers to fitting many datasets simultaneously with some parameters shared among the datasets. The fitting procedure is very fast and accurate thanks to the use of automatic differentiation. The model curves (fitting functions) can be of essentially arbitrary complexity. This includes any nonlinear combination of elementary and special functions, single and/or double integrals, and any control flow statement allowed by the programming language. See the latest user guide.

Features

  • Modified Levenberg-Marquardt
  • Multi-curve fitting with shared parameters
  • Automatic differentiation
  • OpenMP (C++) and Coarray (Fortran) parallelism

Downloading

  • The official versioned releases are available here.
  • The latest stable development code is available here.
  • For importing the repository, issue git clone https://github.com/raullaasner/gadfit.git

Installation

  • See INSTALL.md for quick installation instructions.
  • See the user guide for detailed instructions (recommended).

Screenshots

Authors and how to contact them

See the user guide, Section 1.1.

Documentation

Details about theory, implementation, configuring, and compilation of GADfit, and usage are found in the user guide.

Troubleshooting

A good place to bring up any issues is https://github.com/raullaasner/gadfit/issues.

License

This project is distributed under the terms of Apache License 2.0. See LICENSE in the root directory of the project http://www.apache.org/licenses/LICENSE-2.0.