MINUIT

MINUIT, now MINUIT2, is a numerical minimization software library developed at the European Organization for Nuclear Research (CERN). It provides several algorithms that search for parameter values that minimize a user-defined function, and compute confidence intervals for the parameters by scanning the function near the minimum.

The software was originally developed in the FORTRAN programming language by staff physicist Fred James in the 1970s, and maintained until 1996 (version 96.03). As part of the ROOT project, the software was ported using the C++ language, and renamed MINUIT2.

The software provides five minimization algorithms, that can be selected by simple input commands to the program. The recommended default algorithm MIGRAD is described as "a variable-metric method with inexact line search, a stable metric updating scheme, and checks for positive-definiteness".

The program is widely used in particle physics and thousands of published papers cite use of MINUIT. In the early 2000s, Fred James started a project to implement MINUIT in C++ using object-oriented programming. MINUIT2 is an optional package in the ROOT release. the latest version is 5.34.14, released on 24 January 2014. A Java port was developed, and a Python frontend to the C++ code is available.