# BRENT Algorithms for Minimization Without Derivatives

BRENT is a MATLAB 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.

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

BISECTION_RC, a MATLAB 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 (RC).

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

LOCAL_MIN_RC, a MATLAB library which finds a local minimum of a scalar function of a scalar variable, without the use of derivative information, using reverse communication (RC), by Richard Brent.

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

POLYNOMIALS, a MATLAB library which defines multivariate polynomials over rectangular domains, for which certain information is to be determined, such as the maximum and minimum values.

PRAXIS, a MATLAB library which minimizes a scalar function of several variables, without requiring derivative information, by Richard Brent.

TEST_MIN, a MATLAB library which implements test problems for minimization of a scalar function of a scalar variable.

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

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

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

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

### Author:

Original FORTRAN77 version by Richard Brent; MATLAB 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:

• glomin.m, seeks a global minimum of a function F(X) in an interval [A,B].
• local_min.m, seeks a local minimum of a function F(X) in an interval [A,B].
• local_min_rc.m, seeks a local minimum of a function F(X) in an interval [A,B], using reverse communication.
• r8_sign.m, returns the sign of an R8.
• timestamp.m, prints out the current YMDHMS date as a timestamp.
• zero.m, seeks the root of a function F(X) in an interval [A,B].
• zero_rc.m, seeks the root of a function F(X) in an interval [A,B] using reverse communication.

Last revised on 03 December 2018.