# genGradient: Compute Finite Difference Gradient and Hessians. In SpatioTemporal: Spatio-Temporal Model Estimation

## Description

Computes finite difference gradient and/or hessian. `genGradient` function does forward, backward or central differences, the `genHessian` function uses only central differences.

## Usage

 ```1 2 3``` ```genGradient(x, func, h = 0.001, diff.type = 0) genHessian(x, func, h = 0.001) ```

## Arguments

 `x` Point at which to compute the gradient or hessian. `func` function that takes only `x` as an input argument. Use `function(x){my.func(x,other.input)}` to create a temporary function, see the example. `h` Step length for the finite difference. `diff.type` Type of finite difference, `diff.type>0` gives forward differences, `diff.type=0` gives central differences, and `diff.type<0` gives backward differences.

## Author(s)

Johan Lindstrom

Other numerical derivatives: `loglikeSTGrad`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15``` ```#create a two variable function f.test <- function(x){sin(x)*cos(x)} #compute the gradient using forward difference genGradient(c(.5,.5), f.test, diff.type=1) #and central difference genGradient(c(.5,.5), f.test, diff.type=0) #compared to the true value c(cos(.5)*cos(.5),-sin(.5)*sin(.5)) #Compute the Hessian genHessian(c(.5,.5), f.test, h=1e-4) #and compare to the true value matrix(c(-sin(.5)*cos(.5),-cos(.5)*sin(.5), -cos(.5)*sin(.5),-sin(.5)*cos(.5)),2,2) ```