# NOT RUN {
 # Simple function
 foo <- function(x) x^2 + x
 calc_gradient(x=1, fn=foo)
 calc_gradient(x=-0.5, fn=foo)
 calc_hessian(x=2, fn=foo)
 # More complicated function
 foo <- function(x, a, b) a*x[1]^2 - b*x[2]^2
 calc_gradient(x=c(1, 2), fn=foo, a=0.3, b=0.1)
 calc_hessian(x=c(1, 2), fn=foo, a=0.3, b=0.1)
 # GMAR model:
 params12 <- c(0.18281409, 0.92657275, 0.00214552,
  0.85725129, 0.68210294, 0.01900299, 0.88342018)
 gmar12 <- GSMAR(logVIX, 1, 2, params12)
 get_gradient(gmar12)
 get_foc(gmar12)
 get_hessian(gmar12)
 get_soc(gmar12)
# }
Run the code above in your browser using DataLab