local_min, a C++ code which finds a local minimizer of a scalar function of a scalar variable, by Richard Brent.

The method does not require the use of derivatives, and does not assume that the function is differentiable.


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


local_min is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:


asa047, a C++ code which minimizes a scalar function of several variables using the Nelder-Mead algorithm.

compass_search, a C++ code which seeks the minimizer of a scalar function of several variables using compass search, a direct search algorithm that does not use derivatives.

toms178, a C++ code which optimizes a scalar functional of multiple variables using the Hooke-Jeeves method.


Original FORTRAN77 version by Richard Brent; C++ version by John Burkardt; Modifications by John Denker.


  1. Richard Brent,
    Algorithms for Minimization without Derivatives,
    Dover, 2002,
    ISBN: 0-486-41998-3,
    LC: QA402.5.B74.

Source Code:

Last revised on 12 June 2021.