View source: R/nimbleFunction_Rderivs.R
| nimDerivs | R Documentation |
Computes the value, 1st order (Jacobian), and 2nd order (Hessian) derivatives of a given
nimbleFunction method and/or model log probabilities
nimDerivs(
call = NA,
wrt = NULL,
order = nimC(0, 1, 2),
model = NA,
reset = FALSE,
...
)
call |
a call to a |
wrt |
a character vector of either: names of function arguments
(if taking derivatives of a |
order |
an integer vector with values within the set |
model |
(optional) the uncompiled model that is used, if taking derivatives
of a nimbleFunction that involves model calculations. This is needed in order
to be able to correctly restore values into the model when |
reset |
a logical specifying whether to reset the AD tape.
See Section 17.4.5 of user manual for details.
Not used/relevant for uncompiled execution. Defaults to |
... |
additional arguments intended for internal use only. |
Derivatives for uncompiled nimbleFunctions are calculated using the
numDeriv package. If this package is not installed, an error will
be issued. Derivatives for matrix valued arguments will be returned in
column-major order.
As discussed above with the model argument, if taking derivatives
of a nimbleFunction that involves model calculations (rather than directly
taking derivatives of 'calculate'), care needs to be taken to provide
model, updateNodes, and calcNodes arguments. See
Section 17.6.2 of the User Manual for more details.
an ADNimbleList with elements value, jacobian,
and hessian.
## Not run:
model <- nimbleModel(code = ...)
calcDerivs <- nimDerivs(model$calculate(model$getDependencies('x')),
wrt = 'x')
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.