zero_brent, a C code which finds a zero 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 information on this web page is distributed under the MIT license.


zero_brent is available in a C version and a C++ version and a Fortran77 version and a Fortran90 version and a MATLAB version and an Octave version and a Python version and an R version.

Related Data and Programs:


bisection, a C code which applies the bisection method to seek a root of f(x) over a change-of-sign interval a <= x <= b.

bisection_rc, a C code 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).

test_zero, a C code which implements test problems for the solution of a single nonlinear equation in one variable.

zero_itp, a C code which finds a zero of a scalar function of a scalar variable, starting from a change of sign interval, using the Interpolate/Truncate/Project (ITP) method, which has faster convergence than the bisection method.

zero_rc, a C code which seeks solutions of a scalar nonlinear equation f(x) = 0, using reverse communication (RC), by Richard Brent.


Original Fortran77 version by Richard Brent; This version by John Burkardt.


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

Source Code:

Last revised on 27 March 2024.