Compute numerical derivatives
Compute numerical derivatives using forward/backward difference, central difference, or Richardson extrapolation.
numerical_deriv( f, par, ..., delta = 1e-05, gradient = TRUE, type = "Richardson" )
f |
the objective function being evaluated |
par |
a vector of parameters |
... |
additional arguments to be passed to |
delta |
the term used to perturb the |
gradient |
logical; compute the gradient terms? If FALSE then the Hessian is computed instead |
type |
type of difference to compute. Can be either |
Phil Chalmers rphilip.chalmers@gmail.com
## Not run: f <- function(x) 3*x[1]^3 - 4*x[2]^2 par <- c(3,8) # grad = 9 * x^2 , -8 * y (actual <- c(9 * par[1]^2, -8 * par[2])) numerical_deriv(f, par, type = 'forward') numerical_deriv(f, par, type = 'central') numerical_deriv(f, par, type = 'Richardson') # default # Hessian = h11 -> 18 * x, h22 -> -8, h12 -> h21 -> 0 (actual <- matrix(c(18 * par[1], 0, 0, -8), 2, 2)) numerical_deriv(f, par, type = 'forward', gradient = FALSE) numerical_deriv(f, par, type = 'central', gradient = FALSE) numerical_deriv(f, par, type = 'Richardson', gradient = FALSE) # default ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.