InMin Inference/Minimisation Library

InMin is an Inference/Minimisation library. It is written in pure C++, has a pure C-language API and is licensed under GPL V2. Commercial support is available -- contact us at


All versions are shown here for completeness but it is strongly recommended to use the latest version.


  • Implementation of the Nested Sampling algorithm
  • Constrained Levenberg-Marquardt (parameters constrained to a box) and constrained quadratic optimisation using the active set method
  • New implementation of the Levenberg-Marquardt algorithm based on the Eigen linear algebra library
  • "R"-language interface (generated by SWIG, so currently has some shortcomings compared to hand-coded interfaces)
  • Run-time compilation of function to be minimised (currently implemented for functions one dimensional over a one-dimensional array)
  • Approximation of the Jacobian using finite differences and Broyden’s Rank One Update -- the user does not need to supply the Jacobian function
  • User tunable algorithm parameters to optimise the library for your problem
  • Monitoring and tracing mechanism to make it possible to understand how well the minimisation is progressing and how/if it can be improved
  • Pure C-language API for maximum flexibility of use
  • Sample Python biding to the library based on SWIG, allowing minimisation of Python functions
  • Full support available -- contact us on