\(\newcommand{\W}[1]{ \; #1 \; }\) \(\newcommand{\R}[1]{ {\rm #1} }\) \(\newcommand{\B}[1]{ {\bf #1} }\) \(\newcommand{\D}[2]{ \frac{\partial #1}{\partial #2} }\) \(\newcommand{\DD}[3]{ \frac{\partial^2 #1}{\partial #2 \partial #3} }\) \(\newcommand{\Dpow}[2]{ \frac{\partial^{#1}}{\partial {#2}^{#1}} }\) \(\newcommand{\dpow}[2]{ \frac{ {\rm d}^{#1}}{{\rm d}\, {#2}^{#1}} }\)
RevOne¶
View page sourceFirst Order Derivative: Driver Routine¶
Syntax¶
RevOne
( x , i )Purpose¶
We use \(F : \B{R}^n \rightarrow \B{R}^m\) to denote the AD Function corresponding to f . The syntax above sets dw to the derivative of \(F_i\) with respect to \(x\); i.e.,
f¶
The object f has prototype
ADFun
< Base > f
Note that the ADFun object f is not const
(see RevOne Uses Forward below).
x¶
The argument x has prototype
const
Vector & x
(see Vector below) and its size must be equal to n , the dimension of the Domain space for f . It specifies that point at which to evaluate the derivative.
i¶
The index i has prototype
size_t
i
and is less than \(m\), the dimension of the Range space for f . It specifies the component of \(F\) that we are computing the derivative of.
dw¶
The result dw has prototype
Vector dw
(see Vector below) and its size is n , the dimension of the Domain space for f . The value of dw is the derivative of \(F_i\) evaluated at x ; i.e., for \(j = 0 , \ldots , n - 1\)
Vector¶
The type Vector must be a SimpleVector class with elements of type Base . The routine CheckSimpleVector will generate an error message if this is not the case.
RevOne Uses Forward¶
After each call to Forward ,
the object f contains the corresponding
Taylor coefficients .
After a call to RevOne
,
the zero order Taylor coefficients correspond to
f . Forward
(0, x )
and the other coefficients are unspecified.
Example¶
The routine
RevOne is both an example and test.
It returns true
, if it succeeds and false
otherwise.