# nl.grad

From nloptr v1.2.1
by Jelmer Ypma

##### 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.

##### 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.