grfwd: Forward difference numerical gradient approximation.

Description Usage Arguments Details Value Author(s) Examples

View source: R/grfwd.R

Description

grfwd computes the forward difference approximation to the gradient of user function userfn.

Usage

1
   grfwd(par, userfn, fbase=NULL, env=optsp, ...)

Arguments

par

parameters to the user objective function userfn

userfn

User-supplied objective function

fbase

The value of the function at the parameters, else NULL. This is to save recomputing the function at this point.

env

Environment for scratchpad items (like deps for approximation control in this routine). Default optsp.

...

optional arguments passed to the objective function.

Details

Package: grfwd
Depends: R (>= 2.6.1)
License: GPL Version 2.

Value

grfwd returns a single vector object df which approximates the gradient of userfn at the parameters par. The approximation is controlled by a global value optderiveps that is set when the package is attached.

Author(s)

John C. Nash

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
cat("Example of use of grfwd\n")

myfn<-function(xx, shift=100){
    ii<-1:length(xx)
    result<-shift+sum(xx^ii)
}
xx<-c(1,2,3,4)
ii<-1:length(xx)
print(xx)
gn<-grfwd(xx,myfn, shift=0)
print(gn)
ga<-ii*xx^(ii-1)
cat("compare to\n")
print(ga)

Example output

Example of use of grfwd
[1] 1 2 3 4
[1]   1.000001   4.000000  27.000000 256.000002
compare to
[1]   1   4  27 256

optextras documentation built on Dec. 31, 2019, 3:01 a.m.