nl.grad

0th

Percentile

Numerical Gradients and Jacobians

Provides numerical gradients and jacobians.

Usage
nl.grad(x0, fn, heps = .Machine$double.eps^(1/3), ...)
Arguments
x0

point as a vector where the gradient is to be calculated.

fn

scalar function of one or several variables.

heps

step size to be used.

additional arguments passed to the function.

Details

Both functions apply the ``central difference formula'' with step size as recommended in the literature.

Value

grad returns the gradient as a vector; jacobian returns the Jacobian as a matrix of usual dimensions.

Aliases
  • nl.grad
  • nl.jacobian
Examples
# NOT RUN {
  fn1 <- function(x) sum(x^2)
  nl.grad(seq(0, 1, by = 0.2), fn1)
  ## [1] 0.0  0.4  0.8  1.2  1.6  2.0
  nl.grad(rep(1, 5), fn1)
  ## [1] 2  2  2  2  2

  fn2 <- function(x) c(sin(x), cos(x))
  x <- (0:1)*2*pi
  nl.jacobian(x, fn2)
  ##      [,1] [,2]
  ## [1,]    1    0
  ## [2,]    0    1
  ## [3,]    0    0
  ## [4,]    0    0

# }
Documentation reproduced from package nloptr, version 1.2.1, License: LGPL-3

Community examples

Looks like there are no examples yet.