BRENT
Algorithms for Minimization Without Derivatives


BRENT, a FORTRAN90 library which contains algorithms for finding zeros or minima of a scalar function of a scalar variable, by Richard Brent.

The methods do not require the use of derivatives, and do not assume that the function is differentiable.

Licensing:

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

Languages:

BRENT 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 FORTRAN90 library which minimizes a scalar function of several variables using the Nelder-Mead algorithm.

BISECTION_INTEGER, a FORTRAN90 library which seeks an integer solution to the equation F(X)=0, using bisection within a user-supplied change of sign interval [A,B].

BISECTION_RC, a FORTRAN90 library which seeks a solution to the equation F(X)=0 using bisection within a user-supplied change of sign interval [A,B]. The procedure is written using reverse communication.

brent_test

COMPASS_SEARCH, a FORTRAN90 library which seeks the minimizer of a scalar function of several variables using compass search, a direct search algorithm that does not use derivatives.

NELDER_MEAD, a MATLAB program which minimizes a scalar function of several variables using the Nelder-Mead algorithm.

NMS, a FORTRAN90 library which includes versions of Brent's minimizer and zero finder.

PRAXIS, a FORTRAN90 library which minimizes a scalar function of several variables.

SLATEC, a FORTRAN90 library which includes the zero finder FZERO.

TEST_OPT, a FORTRAN90 library which defines test problems requiring the minimization of a scalar function of several variables.

TEST_OPTIMIZATION, a FORTRAN90 library which defines test problems for the minimization of a scalar function of several variables, as described by Molga and Smutnicki.

TEST_ZERO, a FORTRAN90 library which defines some test functions for which zeroes can be sought.

TOMS178, a FORTRAN90 library which optimizes a scalar functional of multiple variables using the Hooke-Jeeves method.

ZERO_RC, a FORTRAN90 library which seeks solutions of a scalar nonlinear equation f(x) = 0, or a system of nonlinear equations, using reverse communication.

ZOOMIN, a FORTRAN90 library which includes various zero finder routines.

Author:

Original FORTRAN77 version by Richard Brent; FORTRAN90 version by John Burkardt.

Reference:

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

Source Code:


Last revised on 22 January 2019.