MINUIT, now MINUIT2, is a numerical minimization computer program originally written in the FORTRAN programming language by CERN staff physicist Fred James in the 1970s. The program searches for minima in a user-defined function with respect to one or more parameters using several different methods as specified by the user. The original FORTRAN code was later ported to C++ by the ROOT project; both the FORTRAN and C++ versions are in use today[update]. The program is very widely used in particle physics, and hundreds 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. The new MINUIT is an optional package (minuit2) in the ROOT release. As of November 2009[update] the latest version is 5.20, released on 25 June 2008. There is also a Java port as well as several Python ports.
MINUIT is not a program that can be distributed as an executable binary to be run by a relatively unskilled user: the user must write and compile a subroutine defining the function to be optimized, and oversee the optimization process.