R: Brent-Dekker Root Finding Algorithm

brentDekker {pracma} | R Documentation

## Brent-Dekker Root Finding Algorithm

### Description

Find root of continuous function of one variable.

### Usage

    brentDekker(f, a, b, maxiter = 100, tol = .Machine$double.eps^0.75)
    brent(f, a, b, maxiter = 100, tol = .Machine$double.eps^0.75)

### Arguments

`f` | function whose root is to be found.
`a, b` | left and right end points of an interval; function values need to be of different sign at the endpoints.
`maxiter` | maximum number of iterations.
`tol` | relative tolerance.

### Details

`brentDekker` implements a version of the Brent-Dekker algorithm, a well known root finding algorithms for real, univariate, continuous functions. The Brent-Dekker approach is a clever combination of secant and bisection with quadratic interpolation.

`brent` is simply an alias for `brentDekker`.

### Value

`brent` returns a list with

`root` | location of the root.
`f.root` | funtion value at the root.
`f.calls` | number of function calls.
`estim.prec` | estimated relative precision.

### References

Quarteroni, A., R. Sacco, and F. Saleri (2007). Numerical Mathematics. Second Edition, Springer-Verlag, Berlin Heidelberg.

### See Also

`ridders`, `newtonRaphson`

### Examples

    # Legendre polynomial of degree 5
    lp5 <- c(63, 0, -70, 0, 15, 0)/8
    f <- function(x) polyval(lp5, x)
    brent(f, 0.6, 1)                # 0.9061798459 correct to 10 places

[Package pracma version 2.0.4 Index]