# check.derivatives

0th

Percentile

##### Check analytic gradients of a function using finite difference approximations

This function compares the analytic gradients of a function with a finite difference approximation and prints the results of these checks.

Keywords
optimize, interface
##### Usage
check.derivatives(
.x,
func,
check_derivatives_tol = 1e-04,
check_derivatives_print = 'all',
...)
##### Arguments
.x
point at which the comparison is done.
func
function to be evaluated.
check_derivatives_tol
option determining when differences between the analytic gradient and its finite difference approximation are flagged as an error.
check_derivatives_print
option related to the amount of output. 'all' means that all comparisons are shown, 'errors' only shows comparisons that are flagged as an error, and 'none' shows the number of errors only.
option to change the name of the gradient function that shows up in the output.
...
further arguments passed to the functions func and func_grad.
##### Value

• The return value contains a list with the analytic gradient and its finite difference approximation.

nloptr

##### Aliases
• check.derivatives
##### Examples
library('nloptr')

f <- function( x, a ) {
return( sum( ( x - a )^2 ) )
}

f_grad <- function( x, a ) {
return( 2*( x - a ) )
}

f_grad <- function( x, a ) {
return( 2*( x - a ) + c(0,.1,rep(0,8)) )
}

# example with incorrect gradient of vector-valued function
g <- function( x, a ) {
return( c( sum(x-a), sum( (x-a)^2 ) ) )
}

g_grad <- function( x, a ) {
return( rbind( rep(1,length(x)) + c(0,.01,rep(0,8)), 2*(x-a) + c(0,.1,rep(0,8)) ) )
}

check.derivatives( .x=1:10, func=g, func_grad=g_grad, check_derivatives_print='all', a=runif(10) )
Documentation reproduced from package nloptr, version 0.8.4, License: LGPL

### Community examples

Looks like there are no examples yet.